Erzwingen Sie in Excel ein eindimensionales Array in eine Konstante

Erzwingen Sie in Excel ein eindimensionales Array in eine Konstante

Ich habe eine Bedingung in einer Excel-IF-Anweisung wie folgt:

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1

Wo

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))

wird ausgewertet zu {1}.

Gibt es eine Möglichkeit, dies so {1}zu erzwingen, dass1

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1

wird zurückkehren TRUE?

Antwort1

Es handelt sich um ROWeine Funktion, die ein Array zurückgibt, das Sie ROWSbeispielsweise durch ersetzen können.

=INDIRECT(ADDRESS(ROWS($ME$1:ME3),MATCH("PremiumWaiver",$1:$1,0)))

oder Sie können eine Funktion wie SUM around ROW verwenden

=INDIRECT(ADDRESS(SUM(ROW(ME3)),MATCH("PremiumWaiver",$1:$1,0)))

obwohl ich nicht wirklich sicher bin, ob Sie INDIRECT und ADDRESS überhaupt benötigen, können Sie INDEX oder OFFSET verwenden, z. B.

=OFFSET($A$1,SUM(ROW(ME3))-1,MATCH("PremiumWaiver",$1:$1,0)-1)

Antwort2

wenn {1}ein Array gemeint ist, versuchen Sie die INDEXFunktion:

INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1

verwandte Informationen