• ベストアンサー

EXCELで各店舗の売上データをまとめたい

当方、EXCEL2010を使用しています。 添付画像にありますように、各店舗のデータのシートから別シートに 売上数量のある店舗のみ、売上商品の明細をまとめた形で表示したいと思います。 EXCELの関数、あるいは機能を使って表示することは可能でしょうか? 補足としまして、売上数量のない店舗の表示はあってもかまいません。 あと、出来れば得意先コードの横に店舗名も入れることが出来るのであればその方法もご伝授いただければ幸いです。 以上です。よろしくお願い致します。

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

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

Excel2003での検討結果です。 ワークシート関数のみを使用する方法でやってみました。 各店舗のデータのあるシートはシート名"各店舗"としました。 売上商品の明細の表のシートの名前は特に指定はありません。 各店舗の表も売上商品の明細の表もセルA3から右下方向にあるものとしました。 つまり、各店舗のデータはA6以下、売上商品の明細のデータはA4以下となります。 売上商品の明細の表はA~Eの5列ですが、他に3列の作業領域が必要なので、F~Hを割り当てることにします。 また、得意先コード検索用に2行5列(店舗数が4の場合)の作業領域が必要なので、売上商品の明細のシートのJ3:N4を使用することにします。 まず、得意先コード検索用の作業領域のJ3:N4です。 J3 0 K3 =COUNTIF(各店舗!$D6:D9999,">0") L3~N3 K3をオートフィル J4~N4 0~4の連番 次に、売上商品の明細の表の数式です。 A4~H4の数式を示しますので、必要なだけ行方向にオートフィル(コピー)してください。 また、H4の数式は配列数式にしなければならないので、確定の際にはCtrl+Shift+Enterを使うようご注意ください。(数式が{}で囲われて表示されます) F4の式の中の$N$4のNは、上記の作業 (A4~G4の数式は通常通りEnterやTabでよい) A4 =OFFSET(各店舗!$D$3,,F4) B4 =OFFSET(各店舗!$A$6,$H4-1,) C4 =OFFSET(各店舗!$B$6,$H4-1,) D4 =OFFSET(各店舗!$D$6,$H4-1,$F4) E4 =OFFSET(各店舗!$C$6,$H4-1,) F4 =HLOOKUP(ROWS(F$4:F4)-1,$J$3:$N$4,2,TRUE) G4 =IF(COUNTIF(F$4:F4,F4)-1>0,H3,0) H4 =MATCH(1,SIGN(OFFSET(各店舗!$D$6,G4,F4,ROWS(各店舗!$D$6:$D$10000)-G4,1)),0)+G4 繰り返しになりますがH4は配列数式にする必要がありますのでご注意下さい。 数式の上では商品データは一応9999行まで入力できることになっていますが、そこまで商品が増える前に処理速度が遅くなって使い物にならなくなると思います。 その場合は、上記の数式はやめて売上商品の明細の表を作るマクロを作成して利用すればよいでしょう。

その他の回答 (1)

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.1

残念ながら図がまったく読めません。 いったんこの質問を締め切り、もっと大きな字で図を作り直して再質問されてはいかがでしょうか。 その場合、この回答につきましてはベストアンサーは辞退したくお願いします。 (あるいは、文章による詳細な説明を補足いただければ、わかる範囲で回答いたします)

kichi2004
質問者

お礼

お礼が大変遅くなり誠に申し訳ありません。 最初に回答を見させていただいた瞬間、私のレベルでは難し過ぎたため色々関数など調べつつしている間に時間が取れなくなってしまいました。 まだ、理解が出来ていない状況ではありますがベストアンサーとさせていただきます。 本当に遅くなり申し訳ありませんでした。 そして、ご説明も大変だったと思います。ありがとうございました。

kichi2004
質問者

補足

ご返答ありがとうございます。 おっしゃる通り、画像が小さ過ぎますよね。 私も投稿した後に気づいたのですが修正や削除ができないようなので。 取りあえず説明を書かせていただきますが、イメージが掴みづらいと思いますので 改めて投稿しようと思います。 まず、左側の一覧表のイメージとしましては             <得意先コード> 901 902 903 904               <得意先名> [a店] [b店] [c店] [d店] <商品名><JANコード> <商品単価> 商品A  4900000000001  100      0   1   0   0 商品B  4900000000002  200      1   0   0   0 商品C  4900000000003  300      0   0   1   1 商品D  4900000000004  400      0   1   0   1  ・      ・     ・  ・      ・     ・  ・      ・     ・ 上記の一覧表を変換したい右側の一覧表のイメージとしましては <得意先コード><商品名><JANコード><数量><商品単価> 901 商品B 4900000000002 1 200 902 商品A 4900000000001 1 100 902 商品D 4900000000004 1 400 903 商品C 4900000000003 1 300 904 商品C 4900000000003 1 300 904 商品D 4900000000004 1 400               ・               ・               ・ 以上です。 これでご理解いただけましたでしょうか。。。