どなたかエクセルによる集計方法にお力添えください。
添付ファイルのように、シート1枚目に(1)「お客様カナ氏名」、(2)「購入年月」、(3)「購入商品コード」があります。一人のお客様が複数の商品を購入しているため、(1)の1名に対して(2)(3)は複数あります。
これを、シート2枚目で、(1)に対して「最新の購入年月」だけを選んで1行で表示させたいと思っております。
関数も使用しながらやってみたのですが、なかなかうまくいかず手作業になっております。
どなたか、効率よく集計できる方法をアドバイスいただけないでしょうか。
どうぞよろしくお願いいたします。
No.2
- 回答日時:
Sheet1
A1:お客様かな氏名 B1:購入日 C1:商品コード D1:識別コード
データが100行目まで入っているとします。
D2セルに =A2&B1 として、100行目まで引っ張る。
Sheet2
A1:お客様かな氏名 B1:最新購入日 C1:商品コード D1:識別コード
A列には重複しない顧客名リストを記す。
D2セルに =A2&B2 として、100行目まで引っ張る。
B2セルに
=MAX(IF(Sheet1!$A$2:$A$100=Sheet2!A2,Sheet1!$B$2:$B$100,""))
と入れて、Enterではなく、Ctrl+Shift+Enter で確定。
その後、顧客名のリストの一番下まで引っ張る。
C2セルに
=INDEX(Sheet1!$C$2:$C$100,MATCH(Sheet2!D2,Sheet1!$D$2:$D$100,0),1)
と入れて、一番下まで引っ張る。
D列が不格好と思えば、非表示にしておいても良いでしょう。
それぞれのお客様の最新購入日と商品コードが出ると思います。
ご確認ください。
また、Sheet1 のデータが今後も追加されていくなら、上の式で「100」としてあるところを、あらかじめ大き目の数字を入れておいても良いでしょう。
No.3ベストアンサー
- 回答日時:
D3セルに =A3&COUNTIF($A$3:A3,A3)
下へオートフィル
F3セルに =MATCH($G3&COUNTIF($A:$A,$G3),$D:$D,0)
下へオートフィル
H3セル =INDEX(B:B,$F3)
右へ下へオートフィル
No.4
- 回答日時:
こんばんは!
一例です。
日付の列はシリアル値が入っていて、表示形式が yyyy年m月 になっているものとします。
↓の画像のように作業用の列を設けています。
Sheet1の作業列D2セルに
=IF(A2="","",IF(B2=MAX(IF($A$1:$A$1000=A2,$B$1:$B$1000)),ROW(),""))
これは配列数式になってしまいますので、この画面からコピー&ペーストしただけでは正確に表示されないと思います。
D2セルに貼り付け後、F2キーを押す、またはD2セルでダブルクリック、または数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
このD2セルをオートフィルでずぃ~~~!っと下へコピーします。
そして、Sheet2のA2セルに
=IF(COUNT(Sheet1!$D:$D)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$D:$D,ROW(A1))))
これは配列数式ではありません。
として列方向と行方向にオートフィルでコピーすると
画像のような感じになります。
余計なお世話かもしれませんが、Sheet2で並び替えを行っても変化しませんので、
もし並び替えを行いたい場合は元データで並び替えを行ってください。
以上、参考になれば良いのですが・・・m(__)m
ご多忙のところ本当にありがとうございました!!今回は別の方の内容で対応しましたが、考え方など大変勉強になりました。腕を磨きたいと思います。今後ともどうぞよろしくお願いいたします。
No.5
- 回答日時:
適当な列(ここでは仮にI列とします)を作業列とする方法です。
まず、I3セルに次の数式を入力して下さい。
=IF(($A3="")+SUMPRODUCT((OFFSET($A$3,,,MATCH("゛",$A:$A,-1)-ROWS($1:$2))=$A3)*(OFFSET($B$3,,,MATCH("゛",$A:$A,-1)-ROWS($1:$2))>$B3))=0,ROW(),"")
次に、I3セルをコピーして、I4以下に貼り付けて下さい。
次に、E3セルに次の数式を入力して下さい。
=IF(ROWS($2:2)>COUNT($I:$I),"",INDEX(A:A,LARGE($I:$I,ROWS($2:2))))
次に、E3セルをコピーして、F3セルとG3セルに貼り付けて下さい。
次に、F3セルの書式設定を、日付の2001/3/14等の、年月日が表示される形式に、設定して下さい。
次に、E3~G3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。
以上です。
ありがとうございました!!今回は別の方の内容で作業してしまいましたが、あらためて時間を作り確認したところ大変勉強になりました!!本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 会計ソフト・業務用ソフト Excelで売上げデータの中の任意の商品の合計を出したい 3 2023/01/18 18:19
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) 生産日報と月間集計 3 2022/06/21 22:32
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) エクセルデータの集計、一つのセルに複数のデータがある場合 7 2022/12/28 20:19
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
Excel 日付を比較したら、同じ...
-
Outlookを立ち上げたらGoogleロ...
-
outlookのメールが固まってしま...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
ウィンドウィズ メモ帳で日付だ...
-
英数字のみ全角から半角に変換
-
Excelで空白以外の値がある列の...
-
Microsoft Formsの「個人情報や...
-
microsoft office
-
MicrosoftOfficeについて質問で...
-
マイクロソフト 一時使用コード...
-
outlookで宛先が異なるメールを...
-
Outlookでの時間指定送信機能に...
-
【スプレドシート】目標達成の...
-
自分の専門分野の仕事。初見で...
-
Microsoft Officeを2台目のPCに...
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報