- ベストアンサー
エクセル 数式について教えてください。
エクセルの数式について教えてください。 教えてください。たとえばA1のセルが1000、B1のセルが500でC1のセルに=B1-A1と入力します。そうすると 500と表示されます。これはこれでいいのですがたとえばA1に1000入力しB1が空欄だとC1にはA1セルの1000が入力されます。 A1だけのセルに1000と入力した場合にC1には空欄か#DIV/0見たいなエラーメッセージをさせたいのですがどうすれば よろしいでしょうか?
- みんなの回答 (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)
》 A1のセルが1000、B1のセルが500でC1のセルに=B1-A1と入力します。 》 そうすると500と表示されます。 それって嘘でしょ!
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! >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)
IF文では? 空白にするなら、セルC1に式[=if(and(A1<>"",B1<>""), B1-A1, "")]を設定 メッセージにするなら、セルC1に式[=if(and(A1<>"",B1<>""), B1-A1, "入力が不十分")]を設定