我怎样才能使用 arrayformula 得到上次使用的单元格值?

How can I use arrayformula so I got the cell value that used last time?

我在 google sheet 上有 table 内容,其中单词列表在 B 列 上,图片名称在 C 列。在 C 列上,并未为每个单元格提供图像名称。现在我需要在 Cell D1 上使用 ARRAYFORMULA,它将在 Column D 上给出输出(单词名称和图像名称) 如果 列 A 的行不为空。如果您查看随附的屏幕截图,对于某些 Word,C 列 上没有给出图像名称。在这种情况下,我需要上次使用的图像名称。 For example: 第 17 行 WORD 4 没有给出图像名称。因此,在这种情况下,图像名称将是 Image 2 来自 cell C12,之前用于 WORD 3.我以多种不同的方式尝试过,但无法使用 ARRAYFORMULA 来完成。我现在使用的唯一解决方案是对每一行使用公式,这不是一个好的解决方案。我需要用 ARRAYFORMULA 来做。我不想用 google 脚本来做。

Spreadsheet link(请查看选项卡1

Please check the Screenshot

=if(isnumber(SEARCH("WORD",B2,1)),join(" : ",B2, indirect(ARRAYFORMULA(address(IFNA(match(2,1/($C:$C2<>"")))+1,COLUMN(C2))))),"")

在 D1 单元格中输入此公式并将其拖动...

我在 D1 中使用以下公式添加了 sheet(“Erik Help”):

=ArrayFormula({"Header";IF(A2:A="",,B2:B&" : "&VLOOKUP(ROW(A2:A),FILTER({ROW(A2:A),C2:C},C2:C<>""),2,TRUE))})

这个数组公式创建一个 header,然后用结果填充整个列。

您可以将“Header”更改为您喜欢的任何内容。

IF(A2:A="",, 如果 Col A 的那一行中没有任何内容,则 D2:D 只留下 null。

否则,B2:B 中的任何内容都与 space-colon-space 连接,然后是 FILTERed 虚拟数组中所有行的 VLOOKUP 连接,该虚拟数组仅包含行和Col-C Col C 不为空的数据。因为选择 TRUE 作为最后一个参数,所以所有行都将“向后看”到最后一行,其中 Col C did 包含数据并且 return 该数据作为要连接的最后一块。