[英]How can I use arrayformula so I got the cell value that used last time?
我在谷歌表上有一个目录,其中B 列上的单词列表和C 列上的图像名称。 在 C 列上,没有为每个单元格提供图像名称。 现在我需要在单元格 D1上使用ARRAYFORMULA ,如果A 列的行不为空,它将在D列上给出 output(单词名称和图像名称)。 如果您查看随附的屏幕截图,对于某些 Word, C 列上没有给出图像名称。 在这种情况下,我需要上次使用的图像名称。 For example:
在第 17 行,第4 个单词没有给出图像名称。 因此,在这种情况下,图像名称将是以前用于WORD 3的单元格 C12中的图像 2 。 我尝试了许多不同的方式,但从来没有用 ARRAYFORMULA 做到这一点。 我现在使用的唯一解决方案是对每一行都使用公式,这不是一个好的解决方案。 我需要用 ARRAYFORMULA 来做。 我不想用谷歌脚本来做。
➡ 电子表格链接(请查看Tab 1 )
我在 D1 中添加了一个带有以下公式的工作表(“Erik Help”):
=ArrayFormula({"Header";IF(A2:A="",,B2:B&": "&VLOOKUP(ROW(A2:A),FILTER({ROW(A2:A),C2:C},C2:C<>""),2,TRUE))})
这个数组公式创建了一个 header,然后用结果填充整个列。
您可以将“标题”更改为您喜欢的任何内容。
IF(A2:A="",,
如果 Col A 的那一行没有任何内容,则离开 D2:D null。
否则, B2:B
中的任何内容都与空格-冒号-空格连接,然后是FILTER
ed 虚拟数组中所有行的VLOOKUP
,该数组仅包含行和 Col-C 数据,其中 Col C 不为空。 因为选择TRUE
作为最终参数,所以所有行都将“向后看”到 Col C确实包含数据的最后一行,并将该数据作为要连接的最后一块返回。
=if(isnumber(SEARCH("WORD",B2,1)),join(" : ",B2, indirect(ARRAYFORMULA(address(IFNA(match(2,1/($C$2:$C2<>"")))+1,COLUMN(C2))))),"")
在 D1 单元格中通过此公式并将其拖动...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.