• ベストアンサー

IF関数について

A4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))、 B4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))と式があり C4に=IF(AND(A4="",B4=""),"",B9-C9)と入力すると #VALUEが返ってしまいます。 A4,B4どちらかのセルが""の時でもB9-C9の引き算の値が返るようには出来ないでしょうか?

  • jinah
  • お礼率40% (118/291)

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

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.3

A4には、A1からA3までの合計値が入る。A1からA3までの合計値が0の場合はセルが空白になる。 B4は、A4と同じ動作をするのですが、なぜ同じ事をするのか不明です。 ここはあえて、SUM(B1:B3)と勝手に判断します。そうしないと、B4のセルが無意味ですから。 で、C4には、A4とB4が<<共に>>空白だった場合に空白、それ以外の場合A4-B4の値が返る、という式ですね。 (B4がSUM(A1:A3)の場合は、常に空白か0です) 細かい枝葉を取り払うと、#Valueが返る原因は、A4またはB4に""が入った場合、""は文字列なので数値演算できないからです。 なので、C4には=IF(AND(A4="",B4=""),"",N(A4)-N(B4)) と記述します。Nは引数を数値に変換する関数で、変換不能な引数の場合0が返ります。

jinah
質問者

お礼

ありがとうございました!引数を使用するという考えは知りませんでした

その他の回答 (2)

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.2

A4に=IF(SUM(A1:A3)=0,0,SUM(A1:A3))、 B4に=IF(SUM(A1:A3)=0,0,SUM(A1:A3))、 C4に=IF( OR(A4=0,B4=0),0,A4-B4)、 と全部数値になおします。でゼロ表示させないにはセルの書式設定で「ユーザー定義」で「#,###」と定義すれば、ゼロは表示されなくなります。 この方法では駄目でしょうか?

  • HageoyaZ
  • ベストアンサー率38% (60/154)
回答No.1

ん?できていますよ。エラー値は表示されません。 もう一度ワークシート上の数式をご確認ください。

jinah
質問者

補足

大変失礼しました!!!質問のC4の式の入力を間違えてました。C4のセルには =IF(AND(A4="",B4=""),"",A4-B4)です。

関連するQ&A

  • エクセル IF関数が入った条件付き書式について

    エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。 この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。 このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。 書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか? ご教授お願いします。

  • エクセルのIF関数について

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • Excel関数で 空白値の入力はどう書くの?

    あるセル(B1とします)に =if(A1="a",0,"") とif関数を書きました。 別のセルA2にセルB1を合計するような式( =B1+C1 )と書くと#VALUE! というエラーになります。 多分、B1の値 "" が空白ではなく文字列と認識されているからだと思いますが、""の代わりに空白値をif分の中に指定することはできないのでしょうか? 逃げ手として、A2に書く式を =sum(B1:B1)+sum(C1:C1)とする手はありかと思いますが、できたら空白値を代入したいです。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • IF関数の選択肢を増やす方法について

     例・・・A1セルに4、B4セルに3、C5セルに2が入力されると                                    D1セルに5が表示。      A1セルに3、B4セルに2、C5セルにAかBが入力されると                                    D1セルに6が表示。                         ・                         ・                         ・                        続く。 D1セルに、 =IF(AND(A1=4,B4=3,C5=2),5,IF(AND(A1=3,B4=2,OR(C5="A",C5="B")),6,・・・・  のような感じで増やしていたのですが、IFが7つで限界?のようなのですが、 何か方法はありますか?もしあれば教えてください・・・。 エクセル2003です。よろしくお願いします。

  • IF関数についてです

    A2のセルには=T26-B41の引き算されるようになっています。 その引き算の結果が0の場合、空欄と表示されます。 C2のセルに=IF(A2="","","○")と入れています。A2が空欄だと○と表示されないようにしているのですが空欄でも○と表示されます。なぜなのでしょうか?

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。

  • IF関数の組み合わせ

    A1セル 21000 B1セル 20000 引き算して1000以上なら+と表示、999以下なら△を表示したいのです。 結果はC1セルにして =A1-B1にIF関数を入れるにはどうしたら良いでしょうか? =IF(C1>=1000,"+","△") 結果 +1010 △988 組み合わせが分からないので教えて下さい。

  • IF関数について

    例えば、C4のセルの値が1~1000までならA、1001~2000までならB、2001~3000までならCとD11のセルに記入するようにしたいのですが、どうすればいいのでしょうか。アドバイスお願いします。

専門家に質問してみよう