【エクセルVLOOKUP】複数条件で注文受注管理表の割引率を自動入力する方法

このQ&Aのポイント
  • エクセルで注文受注管理表を作成し、注文媒体とキャンペーン名によって割引率を自動入力する方法を教えてください。
  • ネット注文では「aキャンペーン」の割引率は50%off、「bキャンペーン」の割引率は30%offです。
  • TEL注文では割引率は10%offであり、FAX注文では割引はありません。
回答を見る
  • ベストアンサー

【エクセルVLOOKUP】複数条件がある場合

エクセルで注文受注管理表を作成しています。 以下のように、注文媒体によって、割引率が異なります。 【条件】  ・ネット注文   aキャンペーン ・・・  50%off   bキャンペーン ・・・  30%off  ・TEL注文  ・・・  10%off  ・FAX注文  ・・・  割引なし 以下エクセルで、A列、B列の選択によって、E列の割引率が自動入力されるような 式を組みたいです。 【エクセル】   A          B          C       D      E        F 注文媒体   キャンペーン名    商品名    価 格   割引率   割引後価格 ネット      aキャンペーン    みかん    1000     50%      500 TEL       -            みかん    1000     10%      900 ネット      bキャンペーン    りんご     2000     30%     1400 FAX       -            みかん    1000     0%      1000 別シートに上記【条件】の一覧を作って、VLOOKUPで取り出したいのですが、 ネットの場合、さらに条件が分かれており、その際の式の組み方がわかりません。 初心者な質問で恐縮ですが、どなたかご教示いただけると大変助かります。

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

  • ベストアンサー
  • chiizu2
  • ベストアンサー率41% (164/400)
回答No.1

ご質問のように割り引き条件が4種類だとIF関数の方が簡単かもしれません まず注文方法のTEL Fax ネットで割引率が変化するのだから IF関数を組み合わせにしてE2のセルを IF(A2="FAX",0,IF(A2="TEL",0.1,IF(B2="aキャンペーン",0.5,0.3))) もしネット注文でのキャンペーンによりさらに割り引き率が変化するのであれば IF(B2="aキャンペーン",0.5,0.3)の部分を Vlookup関数で取り出してやればよいのではないでしょうか

shimesaba029
質問者

お礼

chiizu2さん 教えていただいた通り、IF関数とVLOOKUPを組み合わせて 作成することができました。 どうもありがとうございました^^

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

VLOOKUP関数を使って対応する方法です。 条件の一覧がシート2にあるとしてA1セルには注文と割引率などの文字を入力します。A2セルには注文媒体、B2セルにはキャンペーン名、C2セルには作業列、D2セルには割引率の文字を入力して、3行目以降にはお示しのような条件のデータを入力します。 ただしC列の作業列についてはC3セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A3="","",A3&B3) そこでお示しの表がシート1に入力されているとしたらE2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A2="","",IF(COUNTIF(Sheet2!C:C,A2&B2),VLOOKUP(A2&B2,Sheet2!C:D,2,FALSE),"")) 条件が多くなっても自由に対応することができます。

shimesaba029
質問者

お礼

KURUMITOさん ご丁寧に教えていただき、どうもありがとうございます。 今後、キャンペーンが増えるときにはこちらの方法が便利ですね。 大変助かりました。

関連するQ&A

  • 縦に複数条件がある場合の合計値

    エクセル2003です ネットで検索したら横に複数条件がある場合は、SUMPRODUCTなどを使うといいというのはわかったのですが 縦に複数条件ある場合は、SUMIFで足してくしかないのでしょうか? 例えば A列      B列 果物     個数 みかん    3 りんご    2 バナナ    1 りんご    2 みかん    5 D2 りんご D3 みかん と言うデータがあり みかんとりんごだけの合計値がほしい場合は =SUMIF(A:A,D2,B:B)+SUMIF(A:A,D3,B:B) でもとめられますが、 もっと簡素化したいです。 (あまり「+」は使いたくない) SUMIFをまとめられますか? もっと効率のいい関数があれば教えて下さい。 よろしくお願い致します。

  • エクセル 複数条件 VLOOKUP

    おしえて下さい。 エクセルで、下記の表のように【ブック1】のA列の条件に一致するものを 【ブック2】のシート1、シート2どちらかから検索して一致するものを 【ブック1】のB列へ抽出したいのですが、IF関数やVLOOKUPの組み合わせで 可能でしょうか? うまく説明できずにすみません。 例) 【ブック1】      A  B    1 001 あああ    2 004 えええ    3 003 ううう    4 006 かかか 【ブック2】 シート1      A  B     1 001 あああ    2 002 いいい    3 003 ううう シート2      A  B     1 004 えええ    2 005 おおお    3 006 かかか

  • EXCEL 複数条件(VLOOKUP?)について 

    EXCEL 複数条件(VLOOKUP?)について  シート1 A列 B列 C列 D列     名前 日付 色  サイズ(数値) シート2 A列 B列 C列 D列     名前 日付 色  サイズ(数値) シート1とシート2のD列を比較させて違う場合をシート1の別の列に表示させたいのですが、 現在はA,B,Cを連結し、VLOOKUPにて処理しています。 今後件数が5000件を超える予定となっており、このままではPCが止まってしまう恐れがあるので 別の方法を模索しているのですが、何か良い方法はないでしょうか?

  • 【SUMPRODUCT】について

    下記リストと条件で価格を算出したいのですが、A列の「7」以外の数字まで反映された値がかえってきてしまいました。適切な関数を使用しているかも不明です。 アドバイスのほどお願いいたしますm( _ _)m --------------------------------------------------------------- セル A列 B列 C列 D列 E列 1 5 A リンゴ店 TEL \100 2 5 B ミカン店 FAX \200 3 7 C リンゴ店 TEL \100 4 7 A ミカン店 FAX \200 5 7 B リンゴ店 TEL \100 6 7 C ミカン店 FAX \200 --------------------------------------------------------------- <条件> A列 「7」 B列 「B」と「C」 C列 「ミカン」を含む D列 「FAX」以外 <作成した数式>(かえってきた値は上の条件とは相反したデータで、恐らくA列の「7」以外の数字も含んでいるようです・・) =SUMPRODUCT((A$2:A$10=7)*(B$2:B$10="B")*(B$2:B$10="C")*(E$1:E$10)) +SUMPRODUCT((A$2:A$10=7)*ISNUMBER(FIND("ミカン",C$1*C$10))*(E$1:E$10))+SUMPRODUCT((A$2:A$10=7)*ISERROR(FIND("FAX",D$1:D$10))*(E$1:E$10)) 以上、質問が長くなってしまい申し訳ありません。 ご教授のほどどうぞ宜しくお願いいたします。

  • エクセルの条件付きSUMに

    エクセルの条件付きSUMに ついての数式の質問です    A    B   C   D 1  リンゴ  4 \120 2  ミカン  3 \100 3  リンゴ  3 \130 4  リンゴ  2 \120 5  ミカン  3 \100 リンゴ(A列)120円(C列)の商品の 個数(B列)の合計をだす。数式があれば教えて下さい 宜しくお願いします。

  • エクセル VLOOKUP うまくできない

    シート1のA列に りんご みかん いちご シート2のA列に名前、B列に金額 りんご 100 みかん 200 いちご 300 と入力しています。 シート2から同じ名前の金額を探し出し シート1のB列に入力したいのですが うまくいきません。 シート1のB列に =VLOOKUP(A1,シート2!$A$1:$B$3,2) とし、下までオートフィルしました。 しかしシート1の結果は りんご 300 みかん 200 いちご #N/A となります。 シート1にも、りんごが100としたいのですが どうすればいいでしょうか? よろしくお願いします。 (図はシート1です)

  • エクセル 複数条件に合うデータを数えたい

    エクセル 複数条件に合うデータを数えたい エクセルでA列に何らかの値が入っていて(=空欄でない)、かつB列の値が“○”の数を数えたいです。 =SUMPRODUCT(($A:$A="*")*($B:$B="○"))と入れましたがSUMPRODUCTはワイルドカードが使えないようで結果は「0」となってしまいダメでした。 エクセル2007を使ってるので =COUNTIFS($A:$A,"*",$B:$B,"○")としたらできたのですが2002を使っている人と共有したいので2002でも使える関数を使いたいです。 どうしたらいいのでしょうか?

  • エクセル 条件付き書式でVLOOKUPの使い方?

    エクセルで下記の様にA列に文字列が有り、B列と同じ文字列が有る場合 にA列の該当箇所のフォントの色などを変更したいのですが、やり方が 解りません。 A列の文字列は、今後どんどん増えて行きますが、B列の文字列は100個 程です。  A   B 1 254 584 2 257 A58 3 846 GF8 4 A89 665 5 Y89 895 6 R56 7 584 8 PRE どうか宜しくお願い致します。との質問に対し下記の回答を頂いて解決出来たと思われたのですが、数字のみの値に対しては うまく行くのですが、アルファベットが含まれるとうまく行きません。 ------先ほどの質問の回答---  条件付き書式を使いますが、まずA1を選択、「書式」→「条件付き書式」で数式にして下記を入力、書式をクリック、フォントで色を選択してOKを押す。 =VLOOKUP(A1,$B$1:$B$100,1,0) 次に、A1をコピーして列のAをクリックする。「書式」→「形式を選択して貼り付け」で「書式」を選択。

  • エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

    エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。                A列   B列    C列 Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。 Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。 AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。 VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

  • エクセル 複数条件

    教えてください!!    A列  B列  C列 1  済   B   100   2       A   200 3       B   100  4  済    A   200 5       C   100 A列が空白で、B列に「A」と「B」が入力されている、C列の合計を求める関数がわかりません。 B列にAとBが入力されているC列の合計は「=SUMIF(A1:A5,"A",C1:C5)+SUMIF(A1:A5,"B",C1:C5)] で求めることができました。この条件に「A列が空白(未入力)」の場合という条件を加えたいのです。 関数覚えたてなので解りやすく教えていただければありがたいです。 よろしくお願いします。

専門家に質問してみよう