如何在当前单元格上方找到最近的非空白单元格?

时间:2015-10-01 14:49:06

标签: google-sheets google-sheets-formula

我有一列数据,我需要找到以前的非空白单元格。例如,如果我有以下数据:

foo
-
-
-
-
(formula)

其中-表示空白单元格,然后我希望(formula)单元格找到对包含foo的单元格的引用,无论它们之间插入了多少个空白单元格。测试列中可能会在公式行和上一个非空行之间插入具有空白单元格的新行,并且公式应该能够处理该行。

理想情况下,我希望能够将公式放在一行的任何单元格中,以找到该行上方最近的非空白单元格,例如A列。

进一步说明我的需求的图像(并且可能引出替代方法来做我想要的事情):

SO32890557  Q example

2 个答案:

答案 0 :(得分:4)

使用FILTER,ROW,MAX + ISBLANK()公式来获取它,

enter image description here

=FILTER(B1:B9, ROW(B1:B9)=MAX(FILTER(ARRAYFORMULA(ROW(B1:B9)), NOT(ISBLANK(B1:B9)))))

这基本上可以满足您的需求。更准确地说,下面的公式是“粘贴到任何地方”类型,只需将下面的公式粘贴到任何单元格上,它将为您提供最后一个非空白单元格值。

=FILTER( INDIRECT(CHAR(64+COLUMN())&"1:"&CHAR(64+COLUMN())&ROW()-1) , ROW(INDIRECT(CHAR(64+COLUMN())&"1:"&CHAR(64+COLUMN())&ROW()-1))=MAX( FILTER( ARRAYFORMULA(ROW(INDIRECT(CHAR(64+COLUMN())&"1:"&CHAR(64+COLUMN())&ROW()-1))) , NOT(ISBLANK(INDIRECT(CHAR(64+COLUMN())&"1:"&CHAR(64+COLUMN())&ROW()-1))))))

答案 1 :(得分:1)

如果公式是进入A9,请尝试:

=index($A:$A,match("zzz",$A$1:$A9))