• ベストアンサー

IF 関数についてです。

IF 関数についてです。 教えてください、お願いします。 例えば A1でエラーメッセージでたらA1セルは1と認識、 A2でもエラーメッセージがでたらA2セルを1と認識し、 A1とA2のどちらかで正常な数字がでたなら、その数字を使用する。 A3にA1とA2の両方を足した数字を答えでだしたい場合には どのような関数をつくればいいのでしょうか? みなさま、お知恵をお貸しくださいませ。

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

  • ベストアンサー
  • saneppie
  • ベストアンサー率66% (18/27)
回答No.5

まず前提条件を下記と想像してます。 (1)A1・A2には何らかの数値を出す数式が入っていて、エラーになることもある (2)A1エラー⇒「1」に読替 & A2エラー⇒「1」に読替 (3)A1・A2はエラーで「1」のときもあれば、正常値だけど「1」の時もある。これはどちらも同じものとして扱う。 (4)A3は上記の結果のA1とA2の合計を出力 とするならば、これまでの回答にある数式のISERRORを使います。 A1のセル =IF(ISERROR(A1の計算式),1,A1の計算式) A2のセル =IF(ISERROR(A2の計算式),1,A2の計算式) A3のセル =A1+A2 ですが、(2)でエラーの時の「1」とエラーでない時の「1」をどう取り扱うかでA3の数式は違ってきますがどうでしょう?

その他の回答 (4)

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

解答No2です。 お示しした式についてA1セルが#N/Aとエラー表示されるケースを検証しましたが、特に問題なく計算ができました。 通常ではエラー表示が#N/A となるのですが#N/A N/Aと表示されることはありません。何かエクセルそのものに問題があるような気もしますね。 また、エラー表示がされるような式の立て方を改めることでしょう。 例えばVLOOKUP関数などで引数の参照元に値が無い場合などにエラーが表示されますが、それを解消するためにはCOUNTIF関数などを使って参照先に該当する値が無い場合には空白にするあるいはゼロにするなどの式にすることでしょう。 どんなケースでそのようなエラー表示が出るのかを具体的に示してくれませんか?

回答No.3

>A1セルは1と認識 →あまり意味が理解できないです。 推測して回答します。 Aセル Bセルに数値が入力され、入力された値が、 それぞれ、100未満だとエラーとする。 Aセルが100未満のとき、"エラーです"とCセルに表示。 Bセルが100未満のとき、"エラーです"とDセルに表示。 Eセルにエラーでない数字を表示する。 A,B共にエラー時は、0、共にエラーでないときは、A+Bを 表示する。 C1のセルの関数  =IF(A1<100,"エラーです","") D1のセルの関数  =IF(B1<100,"エラーです","") E1のセルの関数  =IF(C1="",IF(D1="",A1+B1,A1),IF(D1="",B1,0)) 確認結果は、添付画像を参照ください

noname#114311
質問者

補足

解答ありがとうございます。 例えばA1セルに#N/A N/Aがでているのですが、 #N/A N/AがでているA1セルを「1」としたいのです。 それからIF関数を使いどのように処理すればよろしいでしょうか?

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

A3セルに入力する式は次のようになりますね。 =IF(AND(ISERROR(A1),ISERROR(A2)),2,IF(AND(NOT(ISERROR(A1)),ISERROR(A2)),A1,IF(AND(ISERROR(A1),NOT(ISERROR(A2))),A2,A1+A2))) この式からもお分かりのようにエラーを扱うことで複雑な式になってしまいますね。できるだけ個々のセルでエラー表示をしないような式をたてることでしょう。

noname#114311
質問者

補足

解答ありがとうございます。 #N/A N/Aがでているのですが 教えていただいた式では機能しませんでした。 #N/A N/Aとでている場合はどのように処理すればよろしいでしょうか?

noname#204879
noname#204879
回答No.1

A3: =IF(ISERROR(A1),1,A1)+IF(ISERROR(A2),1,A2)

noname#114311
質問者

補足

解答ありがとうございます。 #N/A N/Aがでているのですが 教えていただいた式では機能しませんでした。 #N/A N/Aとでている場合はどのように処理すればよろしいでしょうか?

関連するQ&A