• ベストアンサー

IF関数条件式について教えてください

IF関数を使ってどのように計算式を組んだらよいのか悩んでいます。 D列の数字がE列に満たない場合、E列を満たすためにG列を何回増やせばE列を超える数字になるのかをB列に表示させたいです。 どなたか計算方法を教えていただければ大変ありがたいです。 (画像添付を参照してください)

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

IF関数を使う理由は「今月残」が「基準値」未満であるか否かであって、「基準値」未満のときの数式はIF関数と関係ありません。 故に、B列の数式は次のようにすればよいでしょう。 =IF(D2<E2,ROUNDUP((E2-D2)/G2,0)*G2,0) 添付画像はExcel 2013で検証した結果です。

blackcat77
質問者

お礼

勉強になりました。ありがとうございました。

その他の回答 (1)

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

何回増やせえば?という計算であれば60ではなく、 3になりませんでしょうか。 3を求めるなら =ROUNDUP(((E2-D2)/G2),0) 60を求めるなら =ROUNDUP(((E2-D2)/G2),0)*G2 となるだろうと思います。

blackcat77
質問者

お礼

計算方法ありがとうございました。勉強になりました。

関連するQ&A

  • エクセル2007 IF関数について教えてください

    お世話になります。 どうしてもIF関数がうまくできず困りはてています。 下記のような項目を含むデータを2万件くらい抽出しています。 A列     B列  C列      D列 E列 状況    拒否理由       注文数   確認数 (1) 在庫不足   入力ミス  1     0 → キャンセル (2) 在庫不足       1      0 → 未処理 (3)                 5        0 → 未処理 (4)                 1       1 → 処理済 (5)   お客様キャンセル      10    0     →     キャンセル 未処理の件数を管理したいのですが、キャンセル扱いとなる条件を除く IF関数をうまく作成できません。 =IF(AND(D2>0,E5>0),"完了","未処理") といったように1個の条件についてはなんとかできるのですが、 B列が空欄or文字の入力有、C列が空欄、E列が0の数字の場合、D列の 数字を表示しなさい、といったようにまとめて、条件式をつくることができません。 何個かつなげると、TRUE、FALSEと表示され指定する列の(この場合D列)数字が表示 できません。 IF関数でなくてもよいのですが、未処理(キャンセル扱い除く)条件のみの数字を表示させる 方法をご教示お願いいたします。

  • ある条件下でIF関数により取り出した数値を計算する方法

    エクセル関数です。2つの数字の変化が A列  B列 100    1 103    1 109    1 120    1 105    -1 102    -1 120    1 123    -1 ・    ・ の時に,以下の2つの条件を満たす式を作る。(1)B列の数字を3行ずつ見てゆく。3行目までずっと1が続き,数字が変わらなければ(-1が出なければ)3行目のA列の数値(109)を取り出す。(2)数字を取り出してから次の3行目までの間でB列の数字が変わったとき(1→-1,-1→1)には,変わった行のA列の数値(105)を取り出す。次はB7なので120,次はB8なので123…と数字を取り出す度にリセットして,新たに3行の中から新しい数字を取り出す。 (頂いた回答) 3列使います。C4=IF((B3=B2)*(B4=B3)*(SUM(C$2:C3)=0)=1,1,0)。D4=IF(B4<>B3,1,0) E4=A4*(C4+D4)。 リセットする毎に,リセットした時点のA列の数字から取り出したA列の数字を引き算したいのですが,良い関数が思いつきません。

  • 関数 数式 Excel

    すみませんが教えてください! E列に下のような関数を入れたところ正しく表示されませんでした・・・ どうぞよろしくお願いします。 A列(数字・空白を含む)が 1 の場合”◎” A列が1以外の場合は B列(別シートから参照のVLOOKUP関数が入っている)と C列(別シートから参照ののVLOOKUP関数が入っている) を足した数字が D列(別シートから参照ののVLOOKUP関数が入っている) が同じなら ”OK” 違うなら ”NG" と表示させたいので =IF(A1=1,"◎",IF(D181=(B181+C181),"OK","NG")) としてみましたが"◎"が表示される表示は正しいのですが "OK" "NG"が正しく表示されません。 これに加えていずれのセルにも空白が存在するのでエラーを出さないようにしたいです。 よろしくおねがいします!!

  • IF関数 複数条件の指定

    関数の初心者です。。 仕事のルール変更にともなって、前任者が使っていた関数を変更しなければありません。(前任者はもういないので。) 色々がんばって試してみてもエラーになってばかりです。。。 AND関数なのかなんなのかさえよく分からない状況です。 質問自体もよく分からないかも知れませんが、どのように関数を変更すればよいかご教授いただけないでしょうか。 何卒よろしくお願いいたします。 ■関数の参照先の表示されているデータ C列:平日 or 休日 D列:null or 有休 or 欠勤 E列:出勤なし or 09-16 or 10-17(勤務時間) F列:例 09:02(出勤時刻) H列:例 18:05(退勤時刻) ■関数を変更したい表 U列:勤務時間「09-16」の表  W列:勤務時間「10-17」の表 ■元関数 =IF($C○="平日",IF($D○="有休","",IF($D○="欠勤","",IF($E○=$U$1,IF($F○="","出勤エラー",IF($H○="","退勤エラー",1)),""))),"") ■変更したい内容 D列が有休となった場合、「1」を表示させる。 ただし、勤務時間毎の列がある(Uが「09-16」、Wが「10-17」)ので、勤務時間と合っているセルのみ「1」と表示させたいです。 ■失敗した関数 U列だけ下記にしたら、OKでした。 =IF($C○="平日", IF($D○="有休","1", IF($D○="欠勤","", IF($E○=$U$1, IF($F○="","出勤エラー", IF($H○="","退勤エラー",1)),""))),"") でも、さらにW列に同じような式にすると勤務時間が違うのに、「1」と表示されました。 長くて分かりづらい質問だと思いますが、何卒よろしくお願いいたします。

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

    エクセルIF関数について エクセルのIF関数を利用して、重複するデータを抽出したいと思っています。 エクセルのIF関数を利用したことがないため、別の対応策があれば そちらも教えていただけませんでしょうか・・ 宜しくお願いいたします。 下記のようにA列に入っている1,2,3,4,5があり重複しているものをD列に一つにまとめ重複している1、5の合計分と重複していないものをEに表示させたいと思っています。     A  B     D   E 1  1  123    1  249 2  1  3      2  3 3  1  123    3  345 4  2  3      4  234 5  3  345    5  1665   6  4  234     7  5  555 8  5  555 9  5  555 D1、E1にはどのような関数で対応するのが適しているのでしょうか?

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • 関数式

    下記表の()内の数字を関数式で表示させる方法はありますでしょうか? city   A  B  C  D  E tokyo 1200 1300 1400 (C)(1300) osaka 2800 2300 2200 (A)(2300) kyoto 3500 4000 3400 (B)(4000) ============================== total 7500 7600 7000 D列 tokyoの行で一番数字の大きい名前(A,B,C)を表示したい。(この場合はCが出てくる) E列 total数字の一番大きい人(この場合はB)の各数字を表示したい。 解りずらい説明で申し訳ないのですが、、、どなたか解る方、方法をご伝授ください。

  • IF関数について

    お世話になります。 IF関数で教えていただきたく、宜しくお願いします。 最近エクセルを触り出した超初心者です。 A列の数字とB列の数字を掛けて出た数字(C列)が 500以下なら500と表示し、 掛けた数字が500以上ならその掛けて出た数字が入るようにしたいのです。 500以上の数字となった時に、うまく表示されません。 =IF(C1<300."300","C1") この、"C1"のところが分からず、、

  • エクセルのif関数のエラー

    エクセルでif関数を使ってデータ処理をしたのですが、上手くいき ません。何がおかしいのかが分からない状態で困っています。 状況  A B C D E 1 : + = ? 関数式 とセルに入力してあるとします。(A1=:,B1=+,C1==,D1=?) 関数式のセルに以下の様に入力しました。 =IF(ISBRANK(D1)=TRUE,E1="",VLOOKUP(D1,$A$1$B$15,2,FALSE)) 目的はVLOOKUPだけではD1が空白の時にE1にNAMEと表示されるのを 避ける事でした。 そうすうとD1にA列の数字を入力すると、それに対するB列をE1に 表示するようになるのですが、D1が空白の時はB1が表示されて しまってます。  また一旦D1に入力した後、D1をデリートして空白にしてもE1には もとの数値がそのまま表示されたままになってしまいます。 文章で表現している分、かなり分かりにくい説明になってしまって いますが、お詳しい方いましたらアドバイスお願い致します。

  • IF文の使い方

    IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価    特別単価    数量     合計 B列     C列      D列     E列 125      0      1200    IF(C5=0,=D5*B5,D5*C5)

専門家に質問してみよう