Преобразовать одномерный массив в константу в Excel

Преобразовать одномерный массив в константу в Excel

У меня есть следующее условие в операторе 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

Связанный контент