
オートフィルタで絞込みをした後、データ数のカウントをする方法を教えてください。
例)
エステ店の来客状況をエクセルに入力しています。
A列 日付
B列 曜日
C列 氏名
D列 性別
E列 身長
F列 体重
こんな感じで日々の来客数とそのデータを入力しているとします。
ある程度データが蓄積したところでオートフィルタでデータ分析したいと思います。
たとえば曜日別の来客数を調べたい時、オートフィルタで曜日を選択して、絞り込んだ結果のデータ数を数えればいいと思います。
=SUBTOTAL(2,B10:E999)
とやれば「第10行から第999行の間で、絞り込んだ結果、現在表示されている行の数」を表示してくれます。
ここで一歩踏み込んで、
「曜日別に絞り込んだ後、トータル来客数ではなく、各日付ごとの来客数をカウントする方法」を知りたいです。
たとえば先月でしたら
2010/10の毎週月曜日の来客数は
10/4(月) ●人
10/11(月) ●人
10/18(月) ●人
10/25(月) ●人
という内訳がわかるようにしたいのです。
やり方を教えてください。
できれば、
1 出来合いの機能での方法
2 関数を組む方法
3 それでだめならマクロ
の優先順位でおねがいします。
No.1ベストアンサー
- 回答日時:
オートフィルタからは離れますが、そのデータ形式ならピボットテーブルがすぐ使えます。
最初は少々取っつきにくいですが、便利ですので、まだ使った事がなければ、やってみて下さい。
そんな事は承知の上ですという事なら、スルーして下さい。
ピボットテーブルで検索すると、親切に解説してくれているサイトが沢山みつかります。
下記は、検索して上の方にあったもので、他にも多々あります。
http://hamachan.info/excel/piboto.html
No.3
- 回答日時:
1 出来合いの機能での方法
⇒フィルタのオプション設定やピボットテーブル(操作例は、URLを参考にして下さい)
2 関数を組む方法
⇒仮にデータシートがSheet1として、別シートに抽出する方法です。
別シートのA列にサンプリングしたい日付(データシートのA列と同じ形式)は手動入力、B列に以下の数式で計数できます
=IF(A1<>"",COUNTIF(Sheet1!A:A,A1),"")
又、さらに複数条件が必要の場合、以下のような数式になります。
仮に性別を追加します。
=IF(A1<>"",SUMPRODUCT((Sheet1!$A$2:$A$999=A1)*($D$2:$D$999="男")),"")
参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/kih_m …
No.2
- 回答日時:
こんにちは!
オートフィルタではなく関数での方法です。
↓の画像のようにSheet1のデータをSheet2に表示するようにしてみました。
Sheet2に曜日の表を一つ作っています。
そして、Sheet2のB1・B2に集計したい日付の開始日と最終日を入力すれば、
B3セルにその期間の人数を!
そして、A5セルに検索したい曜日を入力すればB1~B2の期間内のその曜日のデータを
6行目以降に表示するようにしています。
Sheet1に作業用の列を設けています。
作業列G2セルに
=IF(AND(A2>=Sheet2!$B$1,A2<=Sheet2!$B$2),ROW(),"")
H2セルに
=IF(AND(G2<>"",WEEKDAY(A2)=VLOOKUP(Sheet2!$A$5,Sheet2!$D$1:$E$7,2,0),COUNTIF($A$2:A2,A2)=1),ROW(),"")
という数式を入れ、G2・H2セルを範囲指定し、H2セルのフィルハンドルで下へずぃ~~~!っとコピーします。
(データがなくても構いませんのでしっかり下までコピーしておきます)
そして、Sheet2のB3セルに
=COUNT(Sheet1!G:G)
という数式を!
A6セルに
=IF(COUNT(Sheet1!H:H)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!H:H,ROW(A1))))
B6セルに
=IF(A6="","",COUNTIF(Sheet1!A:A,A6))
という数式を入れ、A6・B6セルを範囲指定し、B6セルのフィルハンドルで下へコピー
これで画像のような感じになります。
尚、日付データはシリアル値が入っているものとします。
以上、参考になれば良いのですが
的外れならごめんなさいね。m(__)m

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA オートフィルタでの絞り込みと並び替えについて 1 2023/07/08 13:08
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) Excel VBAでのオートフィルターについて教えてください。 日付データからフィルターで今日を起点 1 2022/07/26 22:10
- Excel(エクセル) Excel Powerクエリーの質問、行数指定は可能でしょうか? 2 2022/08/22 12:54
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
libreoffice calcで行を挿入し...
-
快活CLUBについて 私用で使う書...
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
Excel テーブル内の空白行の削除
-
別シートの年間行事表をカレン...
-
エクセルで特定のセルの値を別...
-
Excel 日付を比較したら、同じ...
-
1つのPCに「Excel 2010」「Exc...
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
VBAファイルの保存先について
-
outlookで宛先が異なるメールを...
-
office2019 のoutlookは2025年1...
-
エクセル:一定間隔で平均値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
Microsoft365について
-
outlookのメールが固まってしま...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
エクセルVBAで1004エラーになり...
-
エクセルで特定のセルの値を別...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Formsの「個人情報や...
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office2019 のoutlookは2025年1...
-
マクロ自動コピペ 貼り付ける場...
-
表の作成について
-
office365 回復できない。
-
マイクロソフト 一時使用コード...
-
Teams内でショートカットって貼...
-
Microsoft Office Homeインスト...
おすすめ情報