Excelで複数条件の値を返す方法

このQ&Aのポイント
  • Excelで複数条件の値を返す方法について説明します。
  • 表1の商品NO(or商品名)と店舗名と売上数(or売上額)の3つの条件があるものを引っ張ってくる方法を教えてください。
  • 作業列を作らずにひとつの式で解決する方法をご教示いただきたいです。
回答を見る
  • ベストアンサー

excel 複数条件の値を返す Vlook条件2つ以上の場合

質問集を探しましたが、該当するものを探すことが出来なかったので、質問させてください。 エクセルデータで以下のような基データ表があるとします。 【表1】 A          B          C           D           E 商品NO    商品名    店舗名    売上数    売上額  123        ガム       東京        10        100 123        ガム       大阪        20        200 345        チョコ      東京        40        200 345        チョコ      大阪        30        150 345        チョコ      北海道       10        50 678        アメ       東京         20        80 678        アメ       北海道        10        40 ↓↓のように値を求めたい。 【表2】 A          B          C           D           E           F  商品NO    商品名     店舗名→    東京      大阪     北海道 123        ガム        売上数      10         20        N/A                    売上額      100        200        N/A 345        チョコ        売上数      40         30        10                    売上額      200        150        50 678        アメ         売上数      20         N/A        10                    売上額      80        N/A        40 表1を表2のように少々形を変え、引っ張ってきたいのです。 商品NO(or商品名)と店舗名と売上数(or売上額)の3つの条件が あるものを引っ張っていくにはどうすればいいのか。 表2のD2~F7に置く関数を教えてください。 出来れば、作業列など作らずにひとつの式で片付けたいのですが、 教えていただけますでしょうか。

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

【表1】がSheet1のA1:E8に入っているとして、 【表2】が別シートにあるものとして、  D2に  =SUMPRODUCT((Sheet1!$A$2:$A$8=$A2)*(Sheet1!$C$2:$C$8=D$1),Sheet1!$D$2:$D$8)  D3に  =SUMPRODUCT((Sheet1!$A$2:$A$8=$A2)*(Sheet1!$C$2:$C$8=D$1),Sheet1!$E$2:$E$8) と入力して、横にコピー(E・F列)し、その後、D2:F3を選択して下にコピーでOKだと思います。 表1に複数行たとえば、ガム-東京の入力があっても大丈夫です。該当する複数の行のデータが足されて集計されます。 なお、商品NOと商品名は1対1対応のようなので、商品NOをもとに計算してあります。

gclef19
質問者

お礼

jo-zen様 ありがとうございます!できました! おかげで作業がはかどります!ありがとうございました!!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

こういう表の組み換え問題はVBAにでも熟達しないと、エクセル関数が少しわかるぐらいでは手に負えないものだ。 複数行(不定数行)のある商品に関するデータを、ある商品の1行にまとめるのは関数ではむつかしい。集計の要素が入っている場合はピボットテーブルでそれに近いものが出来ればそれで我慢すべきだ。 売上額を直下行に出す点も難しい。 ーー VBAなら商品No列で、データを並べ替える。 商品が変わる前行まで、店舗名の列に売上個数、直下行に売上高を足しこむ。 変わったら、2行下の行に、商品NOと商品名を書き出す。 以下データ行が終るまで繰り返し。 >excel 複数条件の値を返す Vlook条件2つ以上の場合 >複数条件の値を返す ー>複数条件に該当分の指定項目かその合計を返す。 Vlook条件ー>VLOOKUP関数の利用のことか。ガム・東京が複数行出てきたら使えないでしょう。  

gclef19
質問者

お礼

jo-zen様のおかげで出来ました。 アドバイスありがとうございました。

noname#204879
noname#204879
回答No.2

               店舗名 商品NO 商品名 データ    東京 大阪 北海道   123 ガム  合計/売上数  10  20         合計/売上額  100  200   345 チョコ 合計/売上数  40  30   10         合計/売上額  200  150   50   678 アメ  合計/売上数  20      10         合計/売上額  80      40 難解な関数で悩むより、[ピボットテーブルレポート]の機能を勉強された方がよろしいのでは? 関数を全く使わないで上のような結果が得られます。作業列なども作る必要がありません。

gclef19
質問者

お礼

アドバイスありがとうございます。 ピボットテーブルを使ったことがないもので、 これを機に勉強したいと思います。

関連するQ&A

  • エクセル2003 複数条件の条件が複数ある場合の検索方法

    下記のような表があります。 No 出発地 目的地 1 北海道  東京 2 神奈川  青森 3 鹿児島  埼玉 4 北海道  埼玉 5 北海道  千葉 条件1:出発地が「北海道」 条件2:目的地が「東京」または「埼玉」または「千葉」 このような表で例えば、出発地が「北海道」で、かつ目的地が「東京」「埼玉」「千葉」のいずれかが入力されているセルの数を数えたい(上記の表ではNo.1,No.4,No.5が該当するので、「3」と表示されるように。)のですが、複数条件なのでDCOUNTやSUMPRODUCT等を利用してやると思うのですが、どうもうまくいきません。 お手数ですが、ご教授ください。

  • 2つ(以上)のセルの条件に合う合計

    はじめまして。 会社で月ごとの売上の集計を作っており、以下の条件の場合の合計の出し方について、知恵を貸していただきたく宜しくお願い申し上げます。 商品名(A) 売上額(B) 条件1(C) 条件2(D) 商品A 1,000 100 東京 商品B 1,500 70 大阪 商品C 800 50 広島 商品D 1,000 30 大阪 商品E 2,000 100 大阪 って感じで続いていきます。 条件1の100に合うもので、なおかつ条件2の大阪(もしくは東京など)に合う、売上額の総計を出すにはどうしたらいいのでしょうか? またタイトルに2つ(以上)としたのは、D列の横のE,F,G,H列もまた商品、売上、条件1,2と続いていき、それらも合計していきたいからです。

  • エクセルの関数で複数抽出

    エクセルの関数を教えて欲しいです。 以下のような表が別ファイルであるとします。 【Aファイル】    【Bファイル】  A  B  C    A  B  C  D  E 1 商No 分No 名   1 商No 分No 名 売上 売数 2 23  11 あいう 2 1  2  あかさ 24000  12 3 55  34 かきく  3 2 4 いきし 67000  33 4 65  77 さしす 4 11 21  うくす 55700  65 ・ ・  ・  ・   ・ ・ ・   ・   ・   ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ Aファイルの商品Noと分類Noが一致するものを、Bファイルから検索し、行ごと別ファイルに抽出(複数)する関数を教えていただけないですか?。いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。よろしくお願いいたします。

  • 各店舗の売上金額をアクセスで出したい

    毎週出している売上の販売個数の表(例)です。 NO 店名 商品A 商品B 商品C 商品D・・・・・ 1 ア店 1 2 3 4 2 イ店 1 2 3 4 3 ウ店 1 2 3 4 ・    ・ ・    ・ 商品の数が約40種類あり、店舗の数が50店ほどあります。 上の表の個数のところを =(個数*単価)の値が出るように、 各店の売上の金額を出したいのですが、アクセスにインポートして 出す方法を教えていただけないでしょうか? tbl_売上(上の表をインポートしたもの) tbl_店舗 (店NO、店名) tbl_単価(商品NO、商品名、単価) のテーブルは作りました。 説明不足かもしれませんが、教えてください。

  • エクセル:複数条件一致で値を代入する場合

    複数条件で一致した場合、別のセルに他の値を代入したいです。 添付の図のE列には、「年月」と「商品名」が一致して「産地」が<青森>だった場合、 「年月」と「商品名」が一致した「産地」が<日本>の「売上げ数」を代入したいのですが、 やり方がわかりません。。。 ご教示いただけますと幸いです。

  • EXCELで2つの条件に当てはまる払い出し数を出したいです、よろしくお願いいたします。

    本物は大変の数なので簡略化してあります。 例) A列  B列    C列 部所 種類   払い出し数 南1  アメ    20 東1  アメ    -5 南1  チョコ    3 南1  アメ     7  東1  アメ     9  とします。たとえば 南1でのアメの合計数、 この場合の答えは27なのですが、 COUNTIFかSUMPRODUCTを使うかも知らない初心者なので、申し訳ございませんが、丁寧に教えてください。m(__)m

  • VLOOKで複数の抽出結果を一枚の表にする方法(VBA)

    エクセルでそれぞれの店舗の月別売上表があります。 しかし、表にはそれぞれの店舗の売上詳細があり、VLOOKで表にまとめようとするとはじめの一行目が全て反映されてしまいます。関数またはVBAでよいほうほうはないでしょうか? シートのイメージはこのような感じです、    A    B    C    支店 4月売上  売り場 1 東京店 100,000 1F 2 東京店 50,000 2F 3 大阪店 50,000   1F 4 大阪店 30,000   2F 5 大阪店 40,000   3F このようなシートが月別にそれぞれあり それを支店ごとの売上明細として一枚にまとめたいのですが・・・ 説明がたどたどしくて申し訳ありません。よろしくお願いします。 エクセルのヴァージョンは2000です。

  • <エクセル>複数条件下での個数の数え方

    A列に都道府県、B列に地域、C列に売上がある表があります。 東京と大阪を除いた地域のうち、C列で0以上のセルの個数を表示したいと思います。(ここだと2コ) countif、dcountなど考えましたが、うまく表示できません。 列を増やさず、個数を表示できる関数を教えてくださいますか? 宜しくお願いします。    A    B       C 1 東京    新宿    500 2 大阪    心斎橋    0 3 名古屋   栄     300 4 東京    渋谷     0 5 北海道   札幌    100 6 宮城    仙台     0 7 大阪    梅田    100  

  • エクセル2000で複数の検索条件検索・・・

    このような表があります。 入金日 氏名 商品A 商品B 商品C 1/1  山田  200   100  50 1/2  山田       50  50  1/1  田中  100   50   30 1/3  川口  100   20   20 1/4  川口  100   600  10 のような表が延々と続くわけですが、この表から 1/1売上げ 氏名 商品A 商品B 商品C 計 田中 川口 山田 のような表を作りたいのです、上の部分の1/1の日付の部分を入力規制のリストで日付を変えるとポンっとその日付の表計がでるようにしたいのですが、例えば田中の商品Aの項目のところに関数を入れようとしたのですが、SUMIFではだめですよね?日付が一つの条件で二つの条件が田中であることそれで商品Aの売上げ。三つの条件をいれなくては ならないのですが、もうお手上げです。 だれか何卒よろしくお願いします。

  • エクセルで、検索条件と合計範囲の異なる“カウント”

    職場でExcel2003を使っています。 こんなデータを集計する必要が出てきました。  A         B     C     D    E 1会社名     店舗名  商品A  商品B 商品C 2株式会社A  店舗a   0個    12個   13個 3株式会社A  店舗b   1個    12個   0個 4株式会社A  店舗c   0個    0個    0個 5株式会社B  店舗a   5個    12個   13個 6株式会社B  店舗b   0個    0個   13個 7株式会社B  店舗c   6個    12個   3個 8株式会社B  店舗d   0個    12個   14個 ↑この表のデータを、 A社    商品A取扱店舗数 商品B取扱店舗数 商品C取扱店舗数       商品A販売個数   商品B販売個数  商品C販売個数 B社   商品A取扱店舗数 商品B取扱店舗数 商品C取扱店舗数       商品A販売個数   商品B販売個数  商品C販売個数 C社… という表にしたいのですが、ココに入れる関数。 販売個数の方は簡単にいきました、sumif($A$1:$A$8,"会社名"、C$1:C$8)てやればよかったので。 が、取扱店舗数の方が、難問。 sumifだと、検索条件の範囲と、合計範囲って別に設定できるじゃないですか。 “A列で、A社て入っている行の、C列の数字を合計する” という設定が出来る。 ところが、販売店数となると…。 sumifと全く同じ要領で、 “A列で、A社と入っている行の、C列のデータ個数を数える” という作業を、したいんですが…countifでは「A列で、A社と入っている行の数を数える」のが精一杯。 A社    count(C$2:C$4) count(D$2:D$4) count(E$2:E$4)       商品A販売個数   商品B販売個数  商品C販売個数 B社    count(C$5:C$8) count(D$5:D$8) count(E$5:E$8)       商品A販売個数   商品B販売個数  商品C販売個数 C社… とする方法もありますが(上の表の店舗は増えたり減ったりしない予定なので)、最初が大変だし、sumifのように、関数一つで何とかならないだろうか、と…。 配列数式?DCOUNT関数?? すみません、どなたか、お知恵を下さい…。

専門家に質問してみよう