![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
CSVデータなのですが、
2行毎に購入者と、伝票番号、商品番号、商品データがあります。
1行目と2行目に伝票番号と購入者が同一になっており、
商品番号と、商品が別になっています。
例a b c d
購入者 伝票番号 商品番号 商品名
1 Aさん 00010 1001 チョコ
2 Aさん 00010 1003 アイス
3 Bさん 00011 1001 チョコ
4 Bさん 00011 1002 スイカ
5 Cさん 00012 1001 チョコ
6 Cさん 00012 1002 スイカ
.
.
.
このような形で、商品を二つ買っており、同一の内容を購入している人数が何人かカウントしたいです!!
商品コードをCONCATENATE関数で
=CONCATENATE(C1" "C2)
の値をカウントする等考えましたが、どなたかお力添えお願いします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
No.7です。
前回回答で、
>「同一購入者が再登場することがある」という前提がないと、
>最大2商品の組合せしかあり得ないことになります。
と述べましたが、仮に「同一購入者が再登場することがある」だとするとどうなるか考えてみました。
添付画像をご覧ください。購入者Aと購入者Bが2度登場しています。
この場合、最大4商品の組合せがあることになります。そこで、O列に「3商品組合せ」を全て登録しています。
6個から3個選ぶ組合せは全部で20種類あります。それぞれの組合せの購入者が何人いるかを計算する数式は前回回答の数式を若干修正して、
P2セルに
=SUMPRODUCT((INDIRECT(LEFT(O2,3))>0)*(INDIRECT(RIGHT(O2,3))>0)*(INDIRECT(MID(O2,5,3))>0))
を記述し、下方向へコピーすればよいということになります。
![「エクセル 同じものを購入している人数をカ」の回答画像8](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/142736_6152f1109dedb/M.png)
No.7
- 回答日時:
ご質問者は
>1行目と2行目に伝票番号と購入者が同一になっており、
>商品番号と、商品が別になっています。
とおっしゃっています。
データがこの形式だと、「同一購入者が再登場することがある」という前提がないと、最大2商品の組合せしかあり得ないことになります。
にも拘わらず、ご質問者は
>これは2つ購入したパターンですが、3つ購入した
>パターンや3つ購入したパターンもできれば最高です。
とおっしゃっています。「最大2商品の組合せしかない」のに、どういう意味なのか意図が不明です。
また、商品番号と商品の組合せは「ユニーク」であるというのが「常識」ですが、ご質問者の例示の中には「商品番号903=スイカ」と「商品番号904=スイカ」の二種類登場します。
もしかすると「スイカ(上)」「スイカ(並)」とか種類が別れているのかもしれませんが、「常識」に基づいて「商品番号904=スイカ」は「商品番号903=スイカ」の間違いだと判断して統一しました。
例示されたデータに、この修正を行ったうえで、とりあえず手順を考えてみました。
添付画像①をご覧ください。元データはA列~D列にあります。まず、A1~D23セルを選択し、以下の手順でピボットテーブルを作成します。
(1)「メニュー」⇒「挿入」⇒「ピボットテーブル」から「ピボットテーブル作成」ダイアログを表示させ、「配置場所」を「既存のワークシート」とし、F1セルを指定します。
(2)「商品番号」「商品」を「列」のボックスへドラッグ&ドロップ
(3)「購入者」を「行」のボックスへドラッグ&ドロップ
(4)「商品番号」を「∑値」のボックスへドラッグ&ドロップ
(5)「∑値」にドラッグした「商品番号」をクリックし、「値フィールドの設定」から「合計」ではなく「個数」を選択
(6)「デザイン」⇒「レポートのレイアウト」から「表形式で表示」を選択
(7)「デザイン」⇒「小計」から「小計を表示しない」を選択
すると添付画像①の中央にある「ピボットテーブル」が出来上がります。
次に以下の手順で範囲に名前を定義します。
(1)ピボットテーブルの商品の左端列から右端の商品列最終行まで、個数が表示されている範囲を全て(添付画像でいえばG3セル~L14セル)を選択する
(2)「ALT+M」キーを押す
(3)「C」キーを押し、「選択範囲から名前を作成」ダイアログボックスを表示
(4)表示されたダイアログボックスで「上端行」にチェックが入っていることを確認
(5)OKボタンを押す
ご質問者の目的は
>アイスとチョコの組み合わせは何人が購入しているかをカウントしたい
ということですので、
2商品の組合せのリストをO列に作成しています。6商品ありますので、そこから2商品を選ぶ組合せは15種類あります。
添付画像ではO2セルに「アイス・チョコ」の組合せが入力されています。
P2セルに
=SUMPRODUCT((INDIRECT(LEFT(O3,3))>0)*(INDIRECT(RIGHT(O3,3))>0))
という数式を記述し、下方向へコピーします。
これで、O列に入力されている「商品組合せ」を何人が購入しているか計算できます。
![「エクセル 同じものを購入している人数をカ」の回答画像7](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/142736_6151c5053c9dc/M.png)
No.6
- 回答日時:
「2つ購入したパターン」の形式の提示もしないで、「3つ購入したパターンもできれば最高です」とは空いた口が塞がりません!
前者の場合はここの添付図の形式が分かり易いかと思いますが、後者(3つ以上)の形式は貴方から提案してみてください。
![「エクセル 同じものを購入している人数をカ」の回答画像6](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/a/298588_61515a10a0191/M.jpg)
No.5
- 回答日時:
[No.4]用の操作手順で~す。
 ̄ ̄式 =D2&"と"&D3&"を購入" をセル H2 に入力⇒セル H3 は空白の
 ̄ ̄ままの放置プレー⇒範囲 H2:H3 のフィルハンドルを下方にズズーッ
 ̄ ̄とオートフィル⇒範囲 H2:H1000 を選択⇒Ctrl+Cをパシーッ⇒セル
 ̄ ̄J2 を選択⇒マウスの右クリック⇒[貼り付けのオプション]直下の
 ̄ ̄[123](値)アイコンをツン⇒選択状態のまま、[データ]⇒[並べ替えと
 ̄ ̄フィルター <[A→Z](昇順)アイコン>]をツン⇒“現在…並べ替える”
 ̄ ̄に目玉入れ→[並べ替え]→式 =COUNTIF(H:H,J2) を入力したセル
 ̄ ̄K2 のフィルハンドルを「エイヤッ!」とダブルクリック
オ・シ・マ・イ
No.4
- 回答日時:
こんなのではダメですか?
もしOKなら、率直に言えば、ツマラナイ(*^_^*)
添付図参照(Excel 2019)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓
![「エクセル 同じものを購入している人数をカ」の回答画像4](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/298588_6151495989747/M.jpg)
No.3
- 回答日時:
補足要求です。
1.マクロでなら実現可能ですが、マクロでもよろしいでしょうか。
以降は、マクロでの前提です。マクロがNGの場合は、回答不要です。
2.出力先は、2行目以降になります。
①H列に商品名の組み合わせ(例 アイスとチョコ)
②I列にその組み合わせをもつ人数
上記でよろしいでしょうか。
3.商品番号が異なり、商品名が同じになるケースはありますか。
例 Xさん 商品番号=1100 商品名=バナナ
Xさん 商品番号=1200 商品名=みかん
Yさん 商品番号=1100 商品名=バナナ
Yさん 商品番号=1200 商品名=みかん
Zさん 商品番号=1500 商品名=バナナ・・・商品番号が他と異なるが商品名は同じ
Zさん 商品番号=1200 商品名=みかん
その場合は、商品番号が異なるので、同一の内容とはみなしません。
出力結果は以下のようになりますが宜しいでしょうか。
H列 I列
バナナとみかん 2・・・・・XさんとYさん
バナナとみかん 1・・・・・Zさん
4.3つ購入したパターンの場合
例 Xさん 商品番号=1100 商品名=バナナ
Xさん 商品番号=1200 商品名=みかん
Yさん 商品番号=1100 商品名=バナナ
Yさん 商品番号=1200 商品名=みかん
Zさん 商品番号=1100 商品名=バナナ
Zさん 商品番号=1200 商品名=みかん
Zさん 商品番号=1500 商品名=りんご
Zさんだけが3つの商品を購入しています。
2つの商品はXさんと同じですが、3つ購入しているのでXさんと同じ内容とはみなしません。
出力結果は以下のようになりますが宜しいでしょうか。
H列 I列
バナナとみかん 2・・・・・XさんとYさん
バナナとみかんとリンゴ 1・・・・・Zさん
No.2
- 回答日時:
こんにちは
商品番号で検索して、重複している名前を数えればよいってことでしょうか?
・データの1行目はタイトル行で、A列が購入者名、C列が商品番号として、
2行目から実際のデータが並んでいるものと仮定
・検索したい商品番号がどこかのセルにあるものとします
(以下ではF1セルと仮定)
Office365環境であれば、とりあえず
=COUNTA(INDEX(FILTER(A2:D99,C2:C99=F1),,1))-COUNTA(UNIQUE(INDEX(FILTER(A2:D99,C2:C99=F1),,1)))
で、求められると思いますが、3回以上購入している人がいると、ダブって数え始めますのでご注意ください。
(3回以上の購入者が存在するような場合には、下の方法を試してみてください)
365環境ではない場合に、直接求めるのはそれなりに面倒そうですね。
作業列を利用する方法で良ければ、上記の「3回以上」の人も含めて正しくカウントすることが可能です。
条件は同じとして、作業列の2行目に
=IF(C2=$F$1,(COUNTIFS(A$2:A2,A2,C$2:C2,$F$1)=2)*1,"")
を入力して、下方にフィルコピー。
そのうえで、作業列の合計を求めれば(←SUM関数等で)、ご質問のカウント数になると思います。
回答ありがとうございます。
恐らく365環境ではないです。
タイトルの書き方が悪かったかもしれません。
あくまで、同じ商品の内容で購入している人物が何人いるかをカウントしたいということです。
fujillinさんに回答いただいた、365環境ではない場合のやり方でできるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- メルカリ メルカリで、らくらくメルカリ便のネコポスでコンビニで発送しました。 昨日夕方18時くらいに発送しまし 4 2023/07/27 07:14
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセルの表について 3 2023/04/14 18:00
- メルカリ メルカリで購入商品が届きません発送して6日間たちました。 商品ID番号はわかります。 出品者に連絡し 4 2023/02/04 21:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
エクセルでファイルの最終更新...
-
シフト表をエクセルで作るとき...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelに詳しい方! B列が「日...
-
Excelファイルが開けません
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
祝日と土曜、日曜の合計をカウ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
Excel分数の表示について
-
エクセルでCtrl+Tでテーブルの...
-
マイクロソフトのPADを使ってい...
-
【EXCEL】画像の黄色部分の抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
手入力で記載しましたが、
アイスとチョコの組み合わせは何人が購入しているか をカウントしたいということです。。
なので、これは2つ購入したパターンですが、3つ購入したパターンや3つ購入したパターンもできれば最高です。