У меня есть следующее условие в операторе IF в Excel:
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)))
или вы можете использовать функцию типа SUM вокруг ROW
=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