• ベストアンサー

IF関数について

エクセル2007を使っています。 IF(AND(OR(E22="",E22=0),OR(F22="",F22=0)),"",(G21+E22-F22,0))の書式を入力すると #VALUE!となります。 どこが悪いかお教え下さい。宜しくお願いします。

noname#198014
noname#198014

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

  • ベストアンサー
  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.2

”IF関数”に対する条件式、AND以下はあってます。 条件式が真 の時 ”” を表示する、というのも合ってます。 条件式が偽 の時 の (G21+E22-F22,0) は、 (G21+E22-F22) のタイプミスだと思われますが、ここを前者の様に間違えると、IF分の構文が誤っているので、入力エラーとなります。 恐らく、(G21+E22-F22) の表示のエラーが発生していて、 G21、E22、F22 が四則演算出来ない様な値(たとえば文字)が入っているのではないかと思います。 これらのセルの内容を一旦Deleteして、正しい値(たぶん数値を入れるのだと思いますが)を入れてみてください。  

noname#198014
質問者

お礼

ありがとうございました。 勘違いしてました。

その他の回答 (1)

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

=IF(AND(OR(E22="",E22=0),OR(F22="",F22=0)),"",G21+E22-F22)が正解では無いかと思いますけど。

関連するQ&A

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

    以下のような表を作成中です。 H6 =H7 H7 =E10 H8 =E10 H9 =E10 H11 =IF(AND(H$8>=$E11,H$8<=$F11),"1",IF(OR(H$8>=$F11,H$8<=$G11),"2","")) H11の条件付き書式は以下のようになっています。 H11 =H11="1" 緑に塗りつぶし H11 =H11="2" 赤に塗りつぶし H11の関数についてご教示お願いいたします。 E11に開始日、F11に終了日、G11に遅延の日付を入力するようになっています。 G11に日付が入っていなければE11とF11の日付を、 G11に日付が入っていればE11とF11、F11とG11の日付を 条件付き書式でそれぞれ塗りつぶしたいのですが、 今のH11のIF文だと遅延の日付が入らなくても赤く塗りつぶされてしまいます。 G11が空欄なら・・・と付け加えたいのですが、うまくいかずに困っています。 そもそものIF文にも自信がないのですが、 上記のようなことが出来るようにするには、 どういった関数にすればよいのかご教示願います。 よろしくお願いいたします。

  • if関数の書式ですが

    ロータスで使用していたif関数をエクセルに置き換えたいのですが、ロータスの@はエクセルで=は判ります。 以下の2つの書式で D4やH3の前についている+は何かの意味があるのでしょうか? 無くても良いような気がするのですが よろしくお願い致します @if(+D4+E4=0," ",D4*E4) @if(F4+G4=0," ",+H3+F4-G4)

  • 関数をVBAで簡素化する

    よろしくお願いします シート枚数22枚 各シート セルG11からG71まで 各シートの各行にこの関数を入力するのは労を要します。 また、VBAに下のように1ツづつ入力するのも同じです。 Range("G11").Value="=IF(E11+F11=0,0,G10+E11-F11)"          ↓ Range("G71").Value="=IF(E71+F71=0,0,G70+E71-F71)" VBAで簡素化ができないでしょうか

  • エクセル【IF関数、OR関数】について

    =IF(OR(F3:G3=X5,F3:G3=X6,F3:G3=X7,F3:G3=X8,F3:G3=X9,F3:G3=X10),"A",IF(OR(F3:G3=X14,F3:G3=X15,F3:G3=X16,F3:G3=X17,F3:G3=X18),"B",IF(OR(F3:G3=X23,F3:G3=X24,F3:G3=X25,F3:G3=X26,F3:G3=X27,F3:G3=X28),"C"))) の式で、どこを直せば正しく返されるのか教えてください。 現在の式では、♯VALUE!になってしまいます。

  • IF関数についてです

    エクセル初心者です。 わかりづらかったらすいません。 たとえば A1*B1の結果をF1へ。 C1+D1+E1の結果をG1へ。 で、F1+G1の結果をH1へ。 という表を作っています。 で、結果が0の時に空白を返したいので、それぞれを IF(A*B=0、””、A*B)として、 IF(C1+D1+E1=0、””、C1+D1+E1)としています。 最後にF1+G1の結果も0、もしくは空白の時に空白を 返したいのですがどのように数式を入れればよいのでしょうか。 自分なりにいれてみましたがエラーがでてしまいます。 よろしくお願いいたします。

  • IF関数 複数条件

    お世話になります。 IF関数の条件の追加について教えて頂きたいです。 =IF(OR(D6="在宅",D6="有給"),"7:00",F6-E6-G6) という数式に =IF(D6=休日,"",F6-E6-G6) という内容を追加したいです。 在宅、有給の場合は7:00と表示 休日の場合は空白 それ以外は実働時間F6(退社時間)-E6(出勤時間)-G6(休憩時間) です。 ちなみにエクセルは2016なのでIFSは使えません。 宜しくお願いいたします。

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • IF関数が分かりません。

    IF関数を使ったことがなく、自分で調べてやりましたが、うまくいきません。 教えていただければと思います。 うまく行かなかった関数↓#VALUE!と出ます。 =IF("G8>=95","1",IF("G8<=65","2","3")) G8が95以上なら1、65以下なら2、それ以外は3としたいです。 G8にはすでに、=SUM(C8:F8)が入っています。

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

    エクセルのIF関数式を教えてください。 例えば、F2、G2、H2、I2のうち、それぞれに、Xを入力した場合、Xを入れたところだけ拾ってきて、それがF2とH2にXが入っているば場合、E2に、”AA/CC”と拾ってきたところを”/”(スラッシュ)でつなげて表示したいのですが、どうすればいいでしょうか。=IF(F2="X","AA) これだとF2にXが入っているときにE2に”AA”と表示されますが、これが複数の場合、”/”でつなげて表示がしたいです。お願いします。

  • Windows7 エクセルの関数、おそらくIFだと思いましが・・。わか

    Windows7 エクセルの関数、おそらくIFだと思いましが・・。わかりやすく教えてください。お願いします。      F       G 10 11    2     F11+G10 12    18     G10に「数値」を入力したら「F12-G11」、もしG10が空欄なら「F12」になる関           数を教えてください