アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問集を探しましたが、該当するものを探すことが出来なかったので、質問させてください。
エクセルデータで以下のような基データ表があるとします。

【表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に置く関数を教えてください。

出来れば、作業列など作らずにひとつの式で片付けたいのですが、
教えていただけますでしょうか。

A 回答 (3件)

こういう表の組み換え問題はVBAにでも熟達しないと、エクセル関数が少しわかるぐらいでは手に負えないものだ。


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

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

お礼日時:2008/07/07 10:36

               店舗名


商品NO 商品名 データ    東京 大阪 北海道
  123 ガム  合計/売上数  10  20
        合計/売上額  100  200
  345 チョコ 合計/売上数  40  30   10
        合計/売上額  200  150   50
  678 アメ  合計/売上数  20      10
        合計/売上額  80      40

難解な関数で悩むより、[ピボットテーブルレポート]の機能を勉強された方がよろしいのでは?
関数を全く使わないで上のような結果が得られます。作業列なども作る必要がありません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/07/07 10:37

【表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をもとに計算してあります。
    • good
    • 0
この回答へのお礼

jo-zen様

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

お礼日時:2008/07/07 10:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!