Excel 函数:从当前单元格选择范围->表格中的列尾

Excel 函数:从当前单元格选择范围->表格中的列尾

这是我的 Excel 表格:

带运算符的表

我尝试使用以下公式来计算“THEN 的偏移量”:

=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)

上面的公式不起作用,但是这个公式起作用:

=MATCH("THEN",[@[Rule operator]]:$A$12,0)

后者的问题是,只要最后一行的索引发生变化,它就会停止工作。

如何选择 Excel 表格中从当前单元格到列尾的范围?

答案1

您的公式不起作用,因为[Rule operator]它本身就是一个范围,所以如果您的公式输入在第 5 行的单元格中,Excel 将像这样评估您的公式:

=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)
                   ↓↓↓
=MATCH("THEN",$A$5:$A$2:$A$12,0)

由于 A5 位于范围 A2:A12 的中间,因此 Excel 会忽略它并仅使用 A2:A12。

为了解决这个问题,您可以保留位[@[Rule operator]],但您需要一些东西来确定列中的最后一个单元格在哪里。

您可以通过使用 计算表格中的行数ROWS([Rule operator]),为标题行添加 1(如果表格上方有其他行,则添加更多),然后使用 函数INDIRECT将其组合成单元格引用来实现此目的。这样您就可以:

=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)

因为这将输出一个MATCH行位置包括你正在运行公式的行,你需要减去 1 来计算THEN 的偏移量每行所需的值:

=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)-1

就是这样 :)

相关内容