我在 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
if{1}
表示數組,然後嘗試INDEX
函數:
INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1