- ベストアンサー
エクセル関数IF、AND関数の使い方と売上表の手数料計算方法について
- エクセルの関数IFとANDを使って、売上表の手数料を自動計算する方法について教えてください。通常はINT(売上金額×0.1)で計算できますが、特定の店舗の特定の商品(お子様ランチ)の場合は手数料が無料(0円)になるため、その場合の関数を教えてください。
- 売上表には日付、店舗名、人数、商品名、売上金額、手数料の列があります。特定の店舗(渋谷店、原宿店、新宿店)の特定の商品(お子様ランチ)の手数料を計算する方法が知りたいです。
- 売上表の中で特定の店舗(渋谷店、原宿店、新宿店)で特定の商品(お子様ランチ)の場合は手数料が無料(0円)になります。通常の手数料はINT(売上金額×0.1)で計算できますが、特別な条件下での手数料計算方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> メニューが『お子様ランチ』の他に『パスタランチ』も手数料「0」になった場合はどうなりますか? 「お子様ランチ」と「パスタランチ」が手数料「0」と考えるのではなく、 「お子様ランチ」か「パスタランチ」なら手数料「0」と考えるのがポイント。(ANDではなくORね) D列(「お子様ランチ」or「パスタランチ」) かつ B列(「渋谷店」or「原宿店」or「新宿店」) ということで、 [F1]=E1*IF(AND(OR(D1="お子様ランチ",D1="パスタランチ"),OR(B1="渋谷店",B1="原宿店",B1="新宿店")),0,0.1) こうなります。
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
基本は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 という事になります。
お礼
大変丁寧なご解答有難うございます。判りやすくご説明頂き大変勉強になりました。 こういう方法もあるんですね。
- zongai
- ベストアンサー率31% (470/1474)
D列「お子様ランチ」 かつ B列(「渋谷店」or「原宿店」or「新宿店」) ということで [F1]=E1*IF(AND(D1="お子様ランチ",OR(B1="渋谷店",B1="原宿店",B1="新宿店")),0,0.1) でどうでしょう?
お礼
早々のご解答有難うございます。この式でもバッチリでした。有難うございます。 とても参考になりました。
- edomin7777
- ベストアンサー率40% (711/1750)
=IF(AND(OR(B1="渋谷店",B1="原宿店",B1="新宿店"),D1="お子様ランチ"),0,INT(E1*0.1)) をF1に入れて下にコピー。
お礼
早速のご解答有難うございます!この数式で出来ました。有難うございます。 メニューが『お子様ランチ』の他に『パスタランチ』も手数料「0」になった場合はどうなりますか?
お礼
再度有難うございます!! ANDではなくORの考え方、大変勉強になりました。 有難うございます。早速色々使わせて頂きます!