• ベストアンサー

エクセル IF関数の複合

エクセル初心者です。よろしくお願いします。 売上比率の集計をしています。 B列:確定金額 C列:発生金額 D列:確定金額÷発生金額の割合を%表示してます I列に数式を入れて割合を集計しようとしています。算出したい数値は 「もしD列が100%以上になったら、一律100%に。且つもしD列が#DIV/0!のエラー値になったら60%にする」 エラーになってしまうのは、B・C列に0円のデータが含まれているためです。 IF関数を2つ使用するようなイメージなのですが、可能でしょうか?

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

  • ベストアンサー
  • yuu_yuu
  • ベストアンサー率41% (34/81)
回答No.2

こんな感じでいかがでしょう? =IF(ISERROR(B1/C1),0.6,IF(B1/C1>=1,1,B1/C1))

ne-tsu-
質問者

お礼

思ったとおりにできました!ありがとうございました!

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

D2=IF(C2=0,60%,MIN(B2/C2,100%)) 最小値を60%にするなら D2=IF(C2=0,60%,MAX(MIN(B2/C2,100%),60%)) または D2=MAX(MIN(IF(C2=0,0,B2/C2),100%),60%)

ne-tsu-
質問者

お礼

いろんなやり方があるんですね。勉強になります。ありがとうございました!

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

=if(C1=0,60,if(B1/C1>1.0,100,int(B1/C1*100))) こんな設定でいかが?

ne-tsu-
質問者

お礼

思ったとおりにできました!ありがとうございました!

関連するQ&A

  • エクセル vlookupとIF関数

    先ほどこちらで質問した者です。関連してもうひとつお願いします。http://oshiete1.goo.ne.jp/qa3870287.html A列:ID(一部) B列:確定金額 C列:発生金額 I列:=IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,B5/C5))    先ほど教えてもらった数式を入れています。確定金額÷発生金額の割合 L列:ID(全て) 算出したい数値は、M列に「全IDの確定金額÷発生金額の割合」です。 L列を軸にvlookupを使用して、A列に引き当たるIDのものは、すでに数値が出ていますが、L列にあってA列に無いもの(エラー表示になってしまっているもの)を、すべて60%にしたいです。 M列には既にvlookupの関数が入っていますが、可能でしょうか? ちなみにA~C列はピボットテーブルです。

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

    エクセルのD列に =IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,B5/C5)) 上記の数式を入力してあります。これに加え、B5/C5が0になるとき、60%になるようにはできますか?

  • エクセル 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になるような数式がわかりません。 よろしくお願いします。。

  • どんなexcel関数が必要でしょうか。

    A列の合計値150の中でA1のセルの値が合計値のどれだけの割合を占めているかをB列に表示したい場合、=A1/A7でB1のセルは表示出来ますが、その数式を下にコピーすると=A2/A8となって#DIV/0!になってしまいます。単純にC列に150という値を貼り付けて横に計算していけば簡単でしょうが、それをせずに関数式だけでB列の答えを出すにはどうしたら良いでしょうか。 A   B 10 6.7%  20 #DIV/0! 30 #DIV/0! 40 #DIV/0! 50 #DIV/0! 150

  • Excel97で、If文をなんとかしたい

    IF文でなんとかなりそうなんですが、IF文を使った事がなくて。 A列   B列   C列    任意の位置のセルD 数式  文字列   数式  文字列 数式  文字列 数式  文字列 こんな表で、Bの文字列の値と、Dのセルの値が一致した時、Aの数式の値(数字)をCの列に表示させ、BとDの文字が一致しない時は、”エラー”を表示させたいんですが、どういう風にすればいいのでしょうか? IF文を使えばいいのでしょうか? どういう風に、数式を立てればいいのかわかりません。 どなたか詳しい方、教えていただけませんか?

  • EXCEL IF関数 AND、OR関数

    数式がわからず、お力添えください。 以下の「D」の「○」「×」を数式で入力するのが目標です。 数式で表すことができますでしょうか? 条件としましては、 B>Cのとき、Aの文字列が「X1またはX2」の場合は、「○」、それ以外は「×」 C>Bのとき、Aの文字列が「Y1またはY2」の場合は、「○」、それ以外は「×」 それ以外のとき、(B=C,どこかが空白のとき)は、空白  A  B  C  D  X1 37 63 ×  X2 78 22 ○  Y1 45 55 ○  Y2 29 71 × ご教授お願いいたします。

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

    エクセル初心者です。毎月の支払出来高の表を作っています。A列に項目、B列に契約金額、C列に”済”と支払いが完了したら表示するように式が入ってます。D列以降は月々の累計支払いが入っています(例えば100万で契約して1月~12月で支払い)。D列 1月 E列 2月・・・・。 12月の次の列に残高計算する式が入っています。  そこで質問なのですが、C列に, IF(BR119=0,"済",IF(BR119<0,"NG","")),IF(D119<0,IF(BR119>D119,""))と入れたのですが、B列の金額の欄には値引き額があってマイナスの金額があるのです。契約金額を上回った時に”NG"と表示させたいのと、完了した時に”済”を表示させたいのですが、マイナスのところがうまくいきません。どうかアドバイスお願いします。

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

    エクセルのIF関数について質問をさせて頂きます。 現在、下記のような条件で抽出できる式を考えているのですが、 中々思うような式が思い浮かびません。 例えば、     A列  B列  C列  D列 1行目  111 2行目  222 3行目  333 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999 上記のようなシートがあったとして、     A列  B列  C列  D列 1行目  111       999 2行目  222       333 3行目  333   ○   123   × 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999   ○ 上記のように、例として C列の1行目に「999」と入力した場合、A列の9行目に「999」の数字があるので、その横のB列に「○」 C列の2行目に「333」と入力した場合、A列の3行目に「333」の数字があるので、その横のB列に「○」 C列の3行目に「123」と入力した場合、どこにも該当番号がないので、入力したC列の横、即ちD列の3行目に「×」を表示 要は、A列のどこかに該当数字があった場合にはその数字の横(B列)に「○」、どこにも該当数字が無い時には、入力した数字の横、D列に「×」を表示するような数式を考えています。 IF関数を使えばできるような気がするのですが、色々と試してみても中々うまくいきません。 下手な説明で分かり辛いかもしれませんが、どなたかご存知の方がいましたら、ご教授の程頂ければ幸いです。 どうぞ宜しくお願い致します。

  • エクセル関数について

    以下について詳しい方教えてください。 同じ日付のりんご重量の比率を行ごとに一括で算出したいと考えておりますがなかなかうまくいきません。  A列     B列        C列 日付  りんご重量(㎏) りんご重量の比率 2/1    100 2/1     49 2/1     49 2/2    200 2/2     30 2/3     10 2/3     20

  • EXCELのIF関数の使い方

    わかりづらいかもしれませんが、よろしくお願いします。 シート1とシート2があり、シート2にはA、B、C3つの列にそれぞれのグループ(各50名ほど)が並べてあります。 ここで、シート1のA1に特定の名前をいれ、 シート2のA列なら甲、B列なら乙、C列なら丙といった値を、 シートB1に自動的に打ち出してくれる数式を教えてください。よろしくお願いします。

専門家に質問してみよう