エクセルIF関数の使用方法と注意点

このQ&Aのポイント
  • エクセルのIF関数は、指定した条件に基づいて結果を返す関数です。具体的な事例として、販売手数料の算出を例に挙げます。
  • 条件1では、合計額が10,000未満の場合は販売手数料を0円に設定します。条件2では、販売手数料の桁を切り捨てるため、1円の位が切り捨てられます。
  • 上記の条件を考慮し、エクセルのIF関数を使用する場合、例えば「=IF(D1<10000, 0, TRUNC(D1*E1, 0))」となります。TRUNC関数を使うことで、販売手数料の桁を切り捨てることができます。
回答を見る
  • ベストアンサー

エクセルIF関数について

エクセルの「IF」関数がよくわかりません。 次のような事例の場合はどうなるのでしょうか。 販売手数料の算出をしています。 A1:野菜販売額 7,000円  B1:果実販売額 5,570円  C1:惣菜販売額 1,250円  D1:合計額 13,820円  E1:販売手数料   10% (1,382円)  F1:支払額    12,438円(D1-E1)  条件1:D1の合計額が10,000未満の場合は、E1の販売手数料「0円」とする。  条件2:E1の手数料額が1円の桁は切り捨てとする(例では1,380円)。      F1の支払額は実質12,440円としたい。  条件1の場合は「IF(D1<10000,"0",D1*E1)」となると思いますが、条件2が入ると関数はどうなるのでしょうか。(F1の支払額で1円の位は切り捨て)  よろしくお願いします。

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

  • ベストアンサー
回答No.6

No.5 です。一部、舌足らずな箇所があったので、補足します。 No.5 で「「10%」は「0.1」とか「10/100」と書いてもいいです」と書きましたが、ここで言っている「10%」は、「各数式中に記述されている「10%」」のことです。 つまり数式に、「*10%」ではなく「*E$2」と書かれていて、E2 セルに値を入力しておく場合、その値は「10/100」以外にしてください。「10/100」を入力すると、分数ではなく文字列になってしまうので。「10%」や「0.1」はオッケーです。 「=10/100」と書くのもオッケーになるのですが、E2 セルには計算結果の「0.1」が表示されます。 どうしても「10/100」といった分数の形で E2 セルに表示させたい場合は、セルを右クリック「セルの書式設定>表示形式タブ>分数」と進み、その「種類」を「2 桁増加」とか「分母を 100 に設定」に指定してください。そうすると、文字列ではなく数値でありながら E2 セルの表示も「10/100」となります。このとき、カーソルを E2 セル上に置いて数式バーを見ると、「0.1」と表示されます。

その他の回答 (5)

回答No.5

D1 =sum(a1:c1) E1 =if(d1<10^4,0,rounddown(d1*10%,-1))   あるいは   =if(d1<10^4,0,rounddown(d1*E$2,-1))  …… E2 セルに「10%」と記入している場合   あるいは   =(d1>=10^4)*rounddown(d1*10%,-1)   あるいは   =(d1>=10^4)*rounddown(d1*E$2,-1)  …… E2 セルに「10%」と記入している場合 F1 =d1-e1 「10^4」は「10000」と書いてもいいです。大きな数になるとゼロが増えて分かりづらいですが。「10%」は「0.1」とか「10/100」と書いてもいいです。多数の行に同じ数式を入れていくときは、絶対参照にするための「$」が必要な場合があります。「>=」は「≧」の意味です。「=>」では失敗するので、ご注意。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.4

失礼しました、 E1:=RUNDDOWN(IF(D1<10000,0,D1*0.1),-1) で、しょうか?

musashitarou
質問者

お礼

早速の回答ありがとうございます。 なるほどです。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

D1:=SUB(A1:C1) E1:=IF(D1<10000,0,D1*0.1) ユーザー表示設定で"10%("&0&"円)" F1:=CELLING(D1-E1,10) 12,438→12,440は、四捨五入、または切り上げですので、 切り上げておきました。 如何でしょうか? お役に立てていたならば幸いです。

musashitarou
質問者

お礼

早速の回答ありがとうございます。 E1のみ注視していましたので、F1の関数で納得しました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 たびたびごめんなさい。 前回はタイピングミスをしています。 >半谷手数料  ↓ >販売手数料 の間違いです。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! E1セルには 0.1(10%)の数値が入っている訳ですかね? もしそうであればF1セルに =D1-IF(D1<10000,0,ROUNDDOWN(D1*E1,-1)) としてみてください。 ※E1セルに半谷手数料そのものを入れたい場合 E1セルに =IF(D1<10000,0,ROUNDDOWN(D1*0.1,-1)) F1セルは単に =D1-E1 だけで大丈夫だろうと思います。 尚、エラー処理はしていません、m(_ _)m

musashitarou
質問者

お礼

早速の回答ありがとうございます。

関連するQ&A

  • エクセル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のセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =IF(論理式、真の場合、偽の場合) というのを使用すればいいのは   わかったんですが、いまいち関数式の取り方、書き方がわからなくて・・・本をみて記入して   みたんですがエラーになります。   どうしたら評価を自動転記することができるか、教えてください。   また点数をもとに順位をつける方法も教えて欲しいです。よろしくお願いします。

  • エクセル IF関数

    エクセル IF関数 F2に条件にあった表示をしたいときの関数です。 条件 B2に「○」が表示されればF2に10,000と表示 C2に「○」が表示されればF2に20,000と表示 D2に「○」が表示されればF2に30,000と表示 B2、C2、D2が空白であれば表示されない。 ※「○」はB2、C2、D2のいずれか一か所にしか表示されません。 よろしくお願いします。

  • Excelの手数料計算

    Excelで、株取引の損益計算をしており、手数料計算のことで質問致します。 現在、会社Aの手数料は(取引額:手数料) ~10万円:0円 ~100万円:900円 以降100万円増加毎+420円 となっています。(実際はもう少し細かい設定ですが割愛) セルDに取引額合計を入れ、セルEにIF文で IF(D:D<=100000,0,IF(D:D<=1000000,900,IF(D:D<=2000000,1320,IF(D:D<=3000000,1740,(・・・と続く) のようにしていますが、あまりに長ったらしく、また上限があるようで、 想定額の半分ほどしか入りません。(mac版ver.xを使用しています) 現在はセルFにも同じ文で金額のより大きいものを作り対処していますが、 もう少し簡略し、すっきりした関数はないものかと思い、皆さまのお知恵を 拝借に伺いました。 なお、マクロは分からないので、関数のみでお願いできれば、と思います。 お手数を掛けますが、よろしくお願い申し上げます。

  • エクセル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関数

    エクセルで躓いています。 今期目標額を10%以上上回る売上を達成した支店には「特」 今期目標額を達成した支店には「優」 達成していない支店には何も表示しない という値をIF関数を使用してG6に入れたいと思っています。 例えば、東京支店「今期目標額」がD6、「今期売上額」がE6、「目標達成割合(%)」がF6にある場合 上記の値をG6に入れたいのですが、どのような値を入れたらいいのでしょうか。 よろしくお願いします。

  • エクセル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関数の使い方が分かりません。

    「先月売上額比較が5%以上の支店に「特」 その他の売上増の支店に「優」 それ以外(マイナスを含む)の支店には何も表示しないを設定をすること」 ※マイナス=▲     先月売上額比較(%) A支店  1.45 B支店  ▲ 4.22 C支店  2.48 D支店  ▲ 5.99 E支店  3.16 F支店  9.01 G支店  ▲ 5.37 ということなのですが、IF関数を使って出す場合は、 どのように表記したらいいのでしょうか? 分かる方、よろしくお願いします。

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • IF関数 複数条件

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

専門家に質問してみよう