- ベストアンサー
IF関数を使って#REF!がでないようにする方法
Excel初心者の質問です。 INDIRECTの関数を使ってほかのセルのデータを参照するようにシートを作りました。 参照する先にデータがない場合、#REF!と表示されてしまいますが、見づらいのでIF関数を用いて、もし#REF!だったら表示しない、という設定にしたいです。 A1に設定をすると、 IF(INDIRECT(A2)="","",A1) となるのかと設定してみたのですが、うまくいきませんでした。 どうしたら私が思うような設定になるのかご教示ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=IF(ISERROR(INDIRECT(A2)),"",A1) だと希望の動作になりますか?
その他の回答 (3)
- ruru123456789
- ベストアンサー率30% (9/30)
回答No.4
IF文を使うのもいいですが、エラー値を表示したくないってだけなら、該当セルのフォントを白色にして、ユーザー定義の書式で [黒]G/標準 とする方法もあります。 これで、通常の値は黒で表示されますし、エラー値は白で表示されます。
- takuokweb
- ベストアンサー率25% (10/39)
回答No.3
#2さんの「=IF(INDIRECT(A2)="","",INDIRECT(A2))」では、原案同様エラー値「#REF!」になります。IF関数で、セル参照しエラー値を感知した時点で、「#REF!」を返してしまいますので、ご提案のような、別の値(「""」)を返すような設定はできません。従って、 #2さんがご回答された、「=IF(ISERROR(INDIRECT(A2)),"",A1)」のようにISERROR関数の返り値が、TRUE(真)かFALUSE(偽)かを判断させてから、「""」を返すようにしなければなりません。
- Bickyon
- ベストアンサー率41% (42/101)
回答No.2
=IF(INDIRECT(A2)="","",INDIRECT(A2)) 上記では?