• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル関数IF、AND関数教えて下さい。)

エクセル関数IF、AND関数の使い方と売上表の手数料計算方法について

このQ&Aのポイント
  • エクセルの関数IFとANDを使って、売上表の手数料を自動計算する方法について教えてください。通常はINT(売上金額×0.1)で計算できますが、特定の店舗の特定の商品(お子様ランチ)の場合は手数料が無料(0円)になるため、その場合の関数を教えてください。
  • 売上表には日付、店舗名、人数、商品名、売上金額、手数料の列があります。特定の店舗(渋谷店、原宿店、新宿店)の特定の商品(お子様ランチ)の手数料を計算する方法が知りたいです。
  • 売上表の中で特定の店舗(渋谷店、原宿店、新宿店)で特定の商品(お子様ランチ)の場合は手数料が無料(0円)になります。通常の手数料はINT(売上金額×0.1)で計算できますが、特別な条件下での手数料計算方法を教えてください。

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

  • ベストアンサー
  • zongai
  • ベストアンサー率31% (470/1474)
回答No.3

> メニューが『お子様ランチ』の他に『パスタランチ』も手数料「0」になった場合はどうなりますか? 「お子様ランチ」と「パスタランチ」が手数料「0」と考えるのではなく、 「お子様ランチ」か「パスタランチ」なら手数料「0」と考えるのがポイント。(ANDではなくORね) D列(「お子様ランチ」or「パスタランチ」) かつ B列(「渋谷店」or「原宿店」or「新宿店」) ということで、 [F1]=E1*IF(AND(OR(D1="お子様ランチ",D1="パスタランチ"),OR(B1="渋谷店",B1="原宿店",B1="新宿店")),0,0.1) こうなります。

re_re_re_re
質問者

お礼

再度有難うございます!! ANDではなくORの考え方、大変勉強になりました。 有難うございます。早速色々使わせて頂きます!

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 基本はANo.1様の御回答の方法となります。  そして、ANo.2様やANo.3様の様に、掛ける係数の方を0.1と0で切り替えるのでしたら、IF関数は使わずに、 [F1]=E1*0.1*((D1<>"お子様ランチ")+(B1<>"渋谷店")*(B1<>"原宿店")*(B1<>"新宿店")>0) となります。(「D1が"お子様ランチ"ではない」か、或いは「B1が"渋谷店"ではなく」且つ「B1が"原宿店"ではなく」且つ「B1が"新宿店"ではなく」という場合のみに、E1に0.1を掛けた値に、更に1を掛け、それ以外では0を掛ける)  Excelでは判定式の結果が「TRUE(正しい)」である場合には、その判定式の部分を数値の1として扱い、 判定式の結果が「FALSE(誤り)」である場合には、その判定式の部分を数値の0として扱います。  そのため、上記の数式中の (D1<>"お子様ランチ") という箇所は、D1が"お子様ランチ"ではない場合には、数値の1として扱われ、D1が"お子様ランチ"である場合には、数値の0として扱われて、計算が行われます。  同様に、 (B1<>"渋谷店") という箇所は、B1が"渋谷店"ではない場合には、数値の1として扱われ、B1が"渋谷店"である場合には、数値の0として扱われ、 (B1<>"原宿店") という箇所は、B1が"原宿店"ではない場合には、数値の1として扱われ、B1が"原宿店"である場合には、数値の0として扱われ、 (B1<>"新宿店") という箇所は、B1が"新宿店"ではない場合には、数値の1として扱われ、B1が"新宿店"である場合には、数値の0として扱われます。  例えば、D1が"お子様ランチ"ではなく、B1が"渋谷店"である場合には、上記の関数の計算処理は [F1]=E1*0.1*((D1<>"お子様ランチ")+(B1<>"渋谷店")*(B1<>"原宿店")*(B1<>"新宿店")>0)    =E1*0.1*(1+0*1*1>0)    =E1*0.1*(1>0)    =E1*0.1*1 という事になります。  又、D1が"お子様ランチ"で、B1が"秋葉原店"である場合には、 [F1]=E1*0.1*((D1<>"お子様ランチ")+(B1<>"渋谷店")*(B1<>"原宿店")*(B1<>"新宿店")>0)    =E1*0.1*(0+1*1*1>0)    =E1*0.1*(1>0)    =E1*0.1*1 という事になります。  又、D1が"お子様ランチ"で、B1が"新宿店"である場合には、 [F1]=E1*0.1*((D1<>"お子様ランチ")+(B1<>"渋谷店")*(B1<>"原宿店")*(B1<>"新宿店")>0)    =E1*0.1*(0+1*1*0>0)    =E1*0.1*(0>0)    =E1*0.1*0    =0 という事になります。

re_re_re_re
質問者

お礼

大変丁寧なご解答有難うございます。判りやすくご説明頂き大変勉強になりました。 こういう方法もあるんですね。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

D列「お子様ランチ」 かつ B列(「渋谷店」or「原宿店」or「新宿店」) ということで [F1]=E1*IF(AND(D1="お子様ランチ",OR(B1="渋谷店",B1="原宿店",B1="新宿店")),0,0.1) でどうでしょう?

re_re_re_re
質問者

お礼

早々のご解答有難うございます。この式でもバッチリでした。有難うございます。 とても参考になりました。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

=IF(AND(OR(B1="渋谷店",B1="原宿店",B1="新宿店"),D1="お子様ランチ"),0,INT(E1*0.1)) をF1に入れて下にコピー。

re_re_re_re
質問者

お礼

早速のご解答有難うございます!この数式で出来ました。有難うございます。 メニューが『お子様ランチ』の他に『パスタランチ』も手数料「0」になった場合はどうなりますか?

関連するQ&A