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
{1}
配列を意味する場合は、次のINDEX
関数を試してください。
INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1