Excel で 1 次元配列を定数に強制変換する

Excel で 1 次元配列を定数に強制変換する

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

関連情報