AGGREGATE 函数的这个参数在我的公式中起什么作用?

AGGREGATE 函数的这个参数在我的公式中起什么作用?

我需要理解($B$1:$B$15<>"")以下公式中的这部分内容,该公式用于表示删除了空白单元格的数据列:

=IFERROR(INDEX($B$1:$B$15,AGGREGATE(15,6,(ROW($B$1:$B$15)-ROW($B$1)+1)/($B$1:$B$15<>""),ROWS(C$1:C1))),"") 

另一个网站上给出了这个公式来回答这个问题使用公式删除列中的空白,但我找不到更多相关信息。我特别想知道这部分的作用:($B$1:$B$15<>"")。我可以猜想它是一个范围而不是"",但我无法弄清楚它在那个公式中的用法。

有人能帮我解决这件事吗?

谢谢。

答案1

您查询的部分正在按照您所说的进行:

$B$1:$B$15<>""

如果每个单元格为空,则返回一个TRUE/FALSE值数组,如果不是,则返回一个值数组。在公式中,相对行号数组除以该数组 - 当您除以该数组时,该数组将作为 1,因此您只得到行号,当您除以 FALSE 时,该数组将作为零,因此您会得到错误。FALSETRUETRUE#DIV/0!

AGGREGATE函数设置为忽略错误,以便找到不为空白的kth最小行B1:B15

......然后INDEX返回该单元格的实际值。

在单元格一(C1)中,理想情况下,k = 1,这样你就可以得到第一个非空值,然后 ROWS 函数在你向下复制时递增,这样你就可以得到每个后续的非空值

相关内容