arrays不输出最后的单元格

从这个问题开始: 在某个点之后的列中输出单元格的数组

我做了一个简单的例子来testing公式

=IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))),ROWS(A$1:A1))),"") 

这里是我的样本数据在列A和列B中的数组公式(按Ctrl + Shift + Enterinput):

例

该数组正在输出在WORD之后find的单元格。 但是,您可以看到数组10未显示。 如果将公式中的所有范围都更改为A1:A12 ,则会显示,但这是不正确的。

这里发生了什么?

你需要从小的11-1 = 10的行输出中加1,所以你需要使用> = MATCH来处理> Match。

 =IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>=MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))+1),ROWS(A$1:A1))),"") 

作为一个数组公式,在退出编辑模式时,必须使用Ctrl-Shift-Enter而不是Enter来确认。 如果正确完成,则Excel将在公式周围放置{}

在这里输入图像说明