この式のどこが間違っているのか分かりません。
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))
基本(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)
的には、現在の列の文字の値 (例: 'B') を返します。末尾の 3 は行番号を返します。つまり、合計すると B3 になります。
これは短い日付型の日付です。次に、これも短い日付型である別の日付と比較されます。
この数式は機能しません。数式を次のように変更すると、
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)
if 条件が満たされているかどうかに関係なく、 false を返します。
ご協力いただければ幸いです。
答え1
「間接的「文字列アドレスをセル値と比較しています。
式を評価すると、基本的に次のようになります -
評価すると次のようになります -
If(string<value, true, false)
間接的に試すこともできます -
=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)
セル内の値を他のセルと比較します -
答え2
使用しているテキストの内容を確認せずにSubstitute
、次のいずれかを試してください。
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)
文字列を検索して数値に置き換えているため、不機嫌になっている可能性があります。そうでない場合は、置き換えに使用しているテキストを投稿できますか?