• ベストアンサー

エクセルの関数について

エクセルの関数について教えてください。 エクセルでセルを参照した関数を作る時、参照元が空欄の場合"#VALUE"と表示がでるのですが、出ないようにするにはIF文で条件を設定していますが、もっと簡単な方法はないでしょうか? 初歩的な質問ですみません。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばD1セルに次の式が入力されているとします。 =B1/C1 この式で仮にC1に1が入力されていてもB1に「あ」などの文字列が入力されている場合には割り算の計算にもかかわらずC1セルが文字列であるので#VALUEが表示されますね。ただこの場合にB1セルが空の場合にはゼロ値と評価されてD1セルには0が表示されますね。 ところがB1セルに例えば=IF(A1="","",A1)のような式が入力されてB1セルが空の表示になっている場合にはB1セルに文字列が入力されたと同じことになってD1セルには#VALUEが表示されます。 このようにD1セルにエラー表示が出ないで、エラーになるときは空白にするのでしたら次のような式をD1セルに入力するとよいでしょう。 =IF(COUNT(B1:C1)<>2,"",B1/C1) この式はB1セルとC1セルの両セルに数値が入力されている場合にはB1/C1を計算しなさいということになります。 この式ではC1セルが空の場合でもD1セルは空となります。 =IF(B1="","",B1/C1) この式ではC1セルが0の場合にはエラーが表示されます。 =IF(ISERROR(B1/C1),"",B1/C1) この式では最初の式と同じ結果が得られます。 このように式の上では数値が入力されるべきセルに文字列などが入力された場合などに#VALUEの表示がされます。

genta1019
質問者

お礼

ご丁寧な回答ありがとうございます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

実際には =今の式 がエラーになるときに,安直に =IF(ISERROR(今の式),"",今の式) と書くのが「簡単だ」と考えるご相談者さんも結構沢山いらっしゃいます。 数式のエラーの原因とか何もアタマ使わなくて良いので,簡単と思うのでしょうね。 ですからご質問で,あなたが一体「こういうのが大変」なで「これうしたい」と思う具体的な内容を,しっかり表明してみて下さい。 条件付き書式や表示形式など,もっとメンドクサイ方法でエラーの表示を消すような手立てもあります。 下記などを参考にしてみて下さい。 http://support.microsoft.com/kb/881331/ja 表示による方法は,見た目綺麗になりますがその計算結果をさらに下流の計算式で利用しようとすると,エラーが波及するので注意して下さい。 あなたのご利用のエクセルのバージョンすらご質問に明記できてない状況なので,やり方が判らないなど必要なら補足のご相談を投稿するようにしてみて下さい。

関連するQ&A

専門家に質問してみよう