間接的な問題のあるif文

間接的な問題のあるif文

私のシートでは、I1 が他のタブのドロップ ボックスとして設定されています。A1 と B1 の数式は機能し、タブ内のセルに情報がある場合はそのセルから情報が取得されます。セルの数式がわずかに異なりますが、このことから概要はわかります。

=IF(INDIRECT("'"&I1&"'!"&"A1"),INDIRECT("'"&I1&"'!"&"A1"),"")

私の C1 が問題を引き起こしているのです。

=IF(INDIRECT("'"&I1&"'!"&"C2"),"Yes","No")

参照先の C セルに情報がない場合、No が配置されます。そこにテキストがある場合は、エラーが表示されます#Value!。両方のセルが一般に設定されています。約 1 時間格闘していますが、行き詰まっています。どうすれば解決できますか?

答え1

IF では、セルを何かと比較することはありません。IF の最初のパラメータは論理項 (true または false) である必要があり、IF はそれに応じて 2 番目または 3 番目のパラメータを取得します。

INDIRECT("'"&I1&"'!"&"C2")セルの内容が表示されますが、IFその内容をどのように処理するかは指定されていません。変換するそのセルの内容をtrueまたはにfalse変換します。セルが空の場合は になりfalse、セルにテキストが含まれている場合は変換できず になります#VALUE!

テキスト自体は気にせず、テキストが存在するかどうかだけを確認したい場合は、空の文字列と比較します。

=IF(INDIRECT("'"&I1&"'!"&"C2")<>"","Yes","No")

それ以外の場合は、比較したいものと比較します。

関連情報