• 締切済み

【エクセル】組み合わせの集計方法

すみません、教えてください。。 注文番号、商品区分、(商品名) というレコードがあったとして、 同一の注文番号における商品区分の組み合わせの集計値を 出したいです。エクセルを使って簡単に出せる方法はないでしょうか? ※つまり、、 スーパーでお客さんが何を一緒に買っているかの傾向を知りたい ということになります。。 ・肉類を買っている人は野菜も一緒に買っている ・酒類を買っている人はお菓子も一緒に買っている ・惣菜を買っている人は冷凍食品も一緒に買っている 説明がいたらなくてすみませんが教えていただけると幸いです。 手動で表作ったらこんな感じなるのかな、というイメージ図を添付します。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、注文番号はアルファベット等の文字が含まれてはいない、純粋に数値として扱う事の出来る番号であるものとし、 基データの表の中の「注文番号」と入力されているセルがSheet1のA1セルであるものとし、 添付画像中の右側に写っている表の中で「A」と入力されている2つのセルが、それぞれSheet2のA2セルとB1セルであるものとします。  又、Sheet3のA列とB列を作業列として使用するものとします。  まず、Sheet3のA1セルに次の数式を入力して下さい。 =IF(COUNTIF(Sheet1!$A$1:$A1,Sheet1!$A1)=1,Sheet1!$A1,"")  次に、Sheet3のB1セルに次の数式を入力して下さい。 =Sheet1!$A1&Sheet1!$B  次に、Sheet3のA1~B1の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  次に、Sheet2のB2セルに次の数式を入力して下さい。 =SUMPRODUCT((COUNTIF(Sheet3!$B:$B,Sheet3!$A$2:INDEX(Sheet3!$A:$A,MATCH(99^9,Sheet3!$A:$A))&B$1)>0)*(COUNTIF(Sheet3!$B:$B,Sheet3!$A$2:INDEX(Sheet3!$A:$A,MATCH(99^9,Sheet3!$A:$A))&$A2)>0))  次に、Sheet2のB2セルをコピーして、Sheet2のB2~F6の範囲に貼り付けて下さい。  以上で完成です。  尚、Sheet2のB2セルでは縦方向の項目が商品Aで、横方向の項目も商品Aとなっていますが、この様に縦方向も横方向も同じ項目となっているセルに表示される値は、その商品を購入した注文番号の総数(人数?)になっています。  それから、上記の数式では、基データの行数が多いと、計算負荷が大きくなり、処理に時間が掛かる様になります。  ですから、もし、元データの行数が非常に多い場合には、Sheet2のB2に入力する数式を次の様に変更しますと、計算の負荷を数分の1に軽減する事が出来ます。 =SUMPRODUCT((COUNTIF(Sheet3!$B:$B,SMALL(Sheet3!$A:$A,ROW(INDIRECT("Z1:Z"&COUNT(Sheet3!$A:$A))))&$A2)>0)*(COUNTIF(Sheet3!$B:$B,SMALL(Sheet3!$A:$A,ROW(INDIRECT("Z1:Z"&COUNT(Sheet3!$A:$A))))&B$1)>0))  尚、この数式中の ROW(INDIRECT("Z1:Z"&COUNT(Sheet3!$A:$A))) という部分は、注文番号の種類が例えば1~4までの4種類の数が存在している場合には、1~4までの数を自動的に生成するために、SUMPRODUCT関数とROW関数を組み合わせて使用しているだけで、行数を表す数が必要なだけであり、Z列である事には特に意味はありません。(ですから、「Z1:Z」の部分を「A1:A」や「IV1:IV」等に変更しても構いません)

全文を見る
すると、全ての回答が全文表示されます。
  • mi7443
  • ベストアンサー率56% (74/131)
回答No.1

まず、イメージ図での疑問 1.注文番号4で商品分類A、A、Bとあり右側のマトリクスのAA=1となっていますが、同一番号で同一商品があり得るとしたら、もし番号4の商品分類がA、A、Aだった場合マトリクスAA=3となるのでしょうか? 2.マトリクスBE=2となっていますが、左の表からはBE=1としか読めないように思いますが・・。 上記1.は無視する(一注文番号で同一商品は無いとする) 2.はBE=1が正しいとして・・・ まず注文番号毎に右側のマトリクスの表を作る。(これはそんなに難しくないですよね) しかる後に同一フォームの「合計マトリクス」に各欄の合計を求めれば出来ますね。 注文番号毎にシートを分け、最後のシートを合計シートとする事も考えられると思います。 しかし、商品分類がいくつ位になるか?注文番号はどのくらいになるのかで、実際的ではないように思いますし、お役には立てないかもしれないなと思いながら、なにかヒントのでもなればと思い記してみました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access2000 集計とレポートの方法について

    私の知識では何ともならず、日々苦労しておりますので、お助け頂きたく宜しくお願い致します。 Access2000のテーブルには売り上げ実績として 日付、担当者、商品大区分、商品小区分、在庫 (Date、text、text、text、数値) がデータとして登録されています。例としては、 2008/01/01,担当者A,食品,商品A,135 2008/01/01,担当者B,食品,商品A,90 2008/01/01,担当者C,食品,商品A,30 2008/01/01,担当者A,食品,商品B,175 2008/01/01,担当者A,食品,商品A,80 2008/01/01,担当者C,食品,商品B,30 2008/01/01,担当者A,食品,商品B,230 2008/01/01,担当者D,食品,商品C,330 2008/01/01,担当者A,食品,商品C,30 2008/01/03,担当者B,食品,商品A,30 2008/01/03,担当者A,食品,商品A,30 のようなデータとなっています。 これらの登録されたデータを日付期間を指定し、集計すると 2008/01/01~2008/01/03,担当者=6名(2008/01/01=4名、2008/01/03=2名) 食品,商品A,395 食品,商品B,430 食品,商品C,360 となり、これらの内容を本社の端末に入力します。 しかしながら、本社の端末に入力するには制約があります。 制約は、1画面あたり 1) 1画面あたり、最大15行の登録が可能(ただし在庫数は1行あたり最大99まで) 2) 1画面あたり、集計期間の担当者合計は最大99まで 3) 1画面あたり、15行分の商品数合計は最大999まで 4) 1画面毎に、入力した最大15行の商品数合計の入力をする必要があります。 となっています。 上記例では担当者数も商品大区分も商品小区分も少ないのですが、実際には約1000アイテムあり、本社への報告は集計期間の指示があった時に随時実行する必要があります。 つまり、上記例の場合で出力したいのは、 期間:2008/01/01~2008/01/03 集計期間の担当者合計=6名 食品,商品A,99 食品,商品A,99 食品,商品A,99 食品,商品A,98 食品,商品B,99 食品,商品B,99 食品,商品B,99 食品,商品B,99 食品,商品B,34 食品,商品C,99 食品,商品C,75 ・・・15行には達していないが、在庫数最大値999を超えたので改ページ?改セクション? →商品合計=999を表示 改ページ?改セクション?で 食品,商品C,24 食品,商品C,99 食品,商品C,63 →商品合計=186を表示 とする必要があります。 また、集計期間内に担当者の合計が99名を超えた場合の計算にも、どうすればいいのか・・・私の知識不足が多すぎます・・・ お分かり頂きにくいかも知れませんが、最終的に集計を上記のような仕様にして各行項目と合計値をプリントアウトしたいと思います。(今は適当な在庫数と行数で区切る手作業をしています) 手作業では余りにも大変なので、入力用の資料を作成できるように御教示いただけますよう宜しくお願い致します。

  • 組み合わせごとの集計の仕方を教えてください

    エクセルでの集計の仕方を教えてください。 分類A~Cの中からそれぞれ好きなものを1つずつ選択してもらい1セットで売るという商品があるとします(3品1セット)。 受注データを集計し、人気の組み合わせをランク付けしたい場合どのような方法があるでしょうか? 分類  品番   品名 A    A1   Tシャツ1     A2   Tシャツ2 B    B1   ジャケット1     B2   ジャケット2 C    C1   スカート1     C2   スカート2 受注データは以下のような形で出ます。 <受注データ> 注文番号  品番  品名     数量 1001    A1   Tシャツ1   1 1001    B1   ジャケット1  1 1001    C2   スカート2   1 1002    A2   Tシャツ2    1 1002    B2   ジャケット2  1 1002    C2   スカート2   1 1003    A2   Tシャツ2   1 1003    B2   ジャケット2  1 1003    C2   スカート2   1 1004    A1   Tシャツ1   1 1004    B1   ジャケット1  1 1004    C2   スカート2   1 1005    A1   Tシャツ1   1 1005    B1   ジャケット1  1 1005    C2   スカート2   1 ・ ・ ・ いろいろと試してみたのですがなかなかうまくいきません。 組み合わせごとの集計というところがポイントです。 どうぞよろしくお願いいたします。

  • 集計クエリについて

    注文データ ・注文番号(重複なし) 商品テーブル ・商品コード ・商品名 実績1 ・注文番号 ・商品コード ・出庫日 ・使用重量 実績2 ・注文番号 ・商品コード ・出庫日 ・使用重量 上記4つのテーブルがあり、それぞれ下記の内容が入っています。 注文データ A01 A02 A03 A04 商品テーブル S01 あずき S02 いちご S03 りんご 実績1 A01 S01 2015/9/1 10.00 A02 S02 2015/9/2 10.00 A04 S01 2015/9/4 10.00 実績2 A01 S01 2015/9/1 10.00 A03 S03 2015/9/3 10.00 A04 S01 2015/9/4 10.00 クエリを使用して実績1と実績2を下記のように集計するにはどのようにしたら良いでしょうか。 一つのクエリ内で処理したいです。 集計クエリ結果 S01 あずき 20.00 S02 いちご 10.00 S03 りんご 10.00

  • Excelのデータ集計方法について

    ExcelでA列に30種類の中からランダムに商品名が(重複しています)B列~D列にその商品の売上日、伝票番号、請求額が入力されています。 やりたいことは商品名ごとに売上日、伝票番号、請求額を別の請求書フォーマットに内訳として転記したいのです。 (別シートに作成してあります) 現在はソートを利用して、あとは手作業でコピーして貼り付けをしているのですがそれを自動でできる方法はあるでしょうか。 ソートする商品名は月毎でばらばらなので簡単なマクロだとどうしてもソートする部分が手動になってしまって困っています。 ピポットだと集計してしまうので内訳すべての転記ができません。 本来ならAccess等を使用するべきだとは思うのですがExcelでなんとかできないものかと皆様のお知恵を貸して下さい。 よろしくお願いします。

  • エクセルで特定の数字を選んで足し算する方法

    プラスの数字とマイナスの数字が混在している表のプラスの数字もしくはマイナスの数字だけを合計したいのですが、どうすればいいですか?具体的には商品の注文とその在庫の数があって注文に足りていない商品だけを抜き出して合計したいという感じです。できれば集計のように商品区分ごとにまとめてプラスの数字もしくはマイナスの数字だけを選んで合計できればもっと良いのですが。よろしくお願いします。

  • ファイルメーカーのリレーションの集計に関して

    A(商品リストファイル)のファイルをB(顧客リスト)にリレーションしています。 Bファイルでリレーションのデータの集計をしたいのですか、フィールドを繰り返しで作成してます。 フィールドごとに集計することは可能でしょうか。 回答をお待ちしております。 Aファイル(商品リスト) 商品番号   商品名    単価   金額 の順番でフィールドを作成している。 Bファイル(顧客リスト) 会社名 担当者名等のデータファイルに 顧客ごとの注文した商品が入るようになっている(Aファイルからリレーションしている) このBファイルのなかで、商品ごとの合計個数、金額の集計をしたい。 よろしくお願い申し上げます。

  • お酒と付け合せ(?)でぐっとくる組み合わせ

    カクテルなどを注文するとき、いっしょに頼むとなおおいしい。 (いや、もっというと「なおかっこよろしい」) 組み合わせを教えてください。 なにぶん、自分ではお湯割を頼むときに「梅干もいっしょにおねがいします」 ぐらいしか思い浮かびません。 でも、バーなどでとなりの人が「塩も」とか、「あ。ライムいりません」とか注文してると かっこえ~、お酒のこといろいろしってるのねえ、と思います。 今度はカンペをもっていってみようと思い。 よろしくお願いします。

  • 2つのセルの組み合わせ

    図のようなコードをもとに、セルの文字を連結させて商品管理番号をつくりたいと考えています。 (11A1、11A2・・・、12A1、12A2、・・・14A6) サンプルで出してありますが、このほかにもいくつかあります。 手動では大変なため、vbaにて処理をしたいと考えておりますが、 組み合わせなのか順列なのか、今ひとつ見当がつかず、どのようにvbaを記述すれば スッキリするのか悩んでおります。 for nextでの処理で変数を用いれば可能なのでしょうが・・・ 変数が1つなのか、2つなのか、どうもスッキリしません。 記述について、アドバイスいただければと思います。 不備がありましたらご指摘ください。よろしくお願いします。

  • ショップ99について

    近いうちに家の近くに24時間オープンのショップ99が出来るようです。 残業後も買い物できるのでとても便利だと思っています。 そこで教えて頂きたいのですが、 1.食品関係は安全なものなのでしょうか?   (お惣菜、お肉、冷凍食品、牛乳、その他) 2.野菜、果物は新鮮ですか? 3.何かお勧め商品はありますか?   (99円にしては美味しいお菓子等何でも結構    です。) 4.これは失敗したという商品は何ですか?     安いのでちょっと心配なのですが、大丈夫な品質なのでしょうか? 参考の為、教えて頂けると有難いと思います。

  • ACCESSかエクセルで抽出したいmm(再掲載)

    以下出荷データ(xls.)があるのですが、同じ「会員番号」で見て、購入回数別で 「商品名・区分の両方ないしはいずれか」が1回目と変わっているデータ(会員番号)は 1回目含めて除外、ないしは目印をつけたいの ですが、EXCEL、ないしはACCESSで行う方法ないでしょうか。 ※浮気をしないで一貫しておなじ「商品名・区分」を貫いているお客(恋人)だけを 引っ張り出したいmm 購入回数1しかない顧客は浮気対象ではない(除外しない) 以下は出荷履歴の一部を切り取ったものです(これを活用したい) EXCELでできてしまうのか?ACCESS SQLがいいのか? 注文日       会員番号    商品名      区分     購入回数 2014/03/01     12345678    セレクト    通常購入    1 2014/04/01     98765432    通常商品    定期購入    1 2014/04/10      33333333    通常商品 通常購入 1 2014/05/20      77777777    セレクト 通常購入 1 2014/06/20      77777777    セレクト    通常購入    2 2014/07/20     77777777    セレクト    通常購入    3 2014/08/20     77777777    シリーズ    通常購入    4 2014/09/20     77777777    セレクト    通常購入    5 方法悩んでおりますmmmm 商品名・区分はそれぞれ商品名が上記3種類、区分は2種類しかないので、 これを数字に変換してもかまわない(整理ができればいいので)。 さすがに難しいですよねmmmm