答案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
就是这样 :)