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 ROW
eine Funktion, die ein Array zurückgibt, das Sie ROWS
beispielsweise 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 INDEX
Funktion:
INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1