• ベストアンサー

エクセル 数式について教えてください。

エクセルの数式について教えてください。 教えてください。たとえばA1のセルが1000、B1のセルが500でC1のセルに=B1-A1と入力します。そうすると 500と表示されます。これはこれでいいのですがたとえばA1に1000入力しB1が空欄だとC1にはA1セルの1000が入力されます。 A1だけのセルに1000と入力した場合にC1には空欄か#DIV/0見たいなエラーメッセージをさせたいのですがどうすれば よろしいでしょうか?

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

  • ベストアンサー
回答No.4

まず、Excel では空白セルを 0 として四則演算する仕様になっています。そのため元来 Excel に用意されている何種類かのエラー値の中でご質問の趣旨に該当するものは、ありません。 ただ、データとかシートの状態が想定の条件を満たさない場合(今回のご質問で言えば空白セルがある場合)に、エラー値なり何らかのサインとなる文字列を表示させたいという方針は、一つの良い考え方だと思います。 空文字列「""」でも悪くはないのですが、パッと見、空白との区別が付かない上、値の加工が少ししづらくなるケースもあるなど、デメリットともなり得ます。本当の空白(null)ではないので。だから文書の作成など必要な場面以外では、可能ですがあえて使う必要もなさそうです。 C1 =(a1<>"")*(b1<>"")   ……「1」または「0」で両セルの値の有無を判定   あるいは   =(a1<>"")*(b1<>"")=1  ……「TRUE」または「FALSE」で両セルの値の有無を判定 D1 =if(c1,a1-b1,"MissingData") F1 =a1-b1 G1 =if((a1<>"")*(b1<>""),a1-b1,"MissingData") 上の F1 セル以外の数式は、空白の代わりに「0」を入力すると、異なる結果を表示します。

その他の回答 (3)

noname#204879
noname#204879
回答No.3

》 A1のセルが1000、B1のセルが500でC1のセルに=B1-A1と入力します。 》 そうすると500と表示されます。 それって嘘でしょ!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! >A1のセルが1000、B1のセルが500でC1のセルに=B1-A1と入力します。そうすると 500と表示されます 実際は-500になると思うのですが・・・ それはさておいて、 #DIV/0! は「0」で割った場合、結果は無限大になってしまいますので、 そのようなエラーが表示されます。 本来であればエラーを表示させるのではなく、空白にするのが望ましいと思います。 =IF(COUNTBLANK(A1:B1),"",B1-A1) といった感じで! どうしてもエラー表示させたい場合は =IF(B1="",B1/B1,B1)-A1 としてみてください。 B1セルが空白の場合は #DIV/0! と表示されます。m(_ _)m

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

IF文では? 空白にするなら、セルC1に式[=if(and(A1<>"",B1<>""), B1-A1, "")]を設定 メッセージにするなら、セルC1に式[=if(and(A1<>"",B1<>""), B1-A1, "入力が不十分")]を設定