我在 Excel IF 语句中有一个条件,如下所示:
INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1
在哪里
INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))
计算结果为{1}
。
有什么办法可以迫使我这样{1}
做1
INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1
将返回TRUE
?
答案1
它是ROW
返回数组的函数,你可以用 替换ROWS
,例如
=INDIRECT(ADDRESS(ROWS($ME$1:ME3),MATCH("PremiumWaiver",$1:$1,0)))
或者你可以在 ROW 周围使用类似 SUM 的函数
=INDIRECT(ADDRESS(SUM(ROW(ME3)),MATCH("PremiumWaiver",$1:$1,0)))
虽然我不太确定您是否需要 INDIRECT 和 ADDRESS,但您可以使用 INDEX 或 OFFSET,例如
=OFFSET($A$1,SUM(ROW(ME3))-1,MATCH("PremiumWaiver",$1:$1,0)-1)
答案2
如果{1}
表示一个数组,则尝试该INDEX
函数:
INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1