検索
連載

【Excel】生データの分析にはこれを使え! −− 「データ分析」と「スライサー」の使い方Tech TIPS

アクセスログの生データなどを集計、分析するのは意外と面倒だ。Excelの「データ分析」や「スライサー」を利用すると、簡単に集計が行える。その方法を紹介しよう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

対象:Excel 365


生データを集計するのは意外と面倒?
生データを集計するのは意外と面倒?
東京都の新型コロナウイルスの患者データは、「東京都_新型コロナウイルス陽性患者発表詳細(年別分割版_2022年)」で提供されている。こうした生データから患者数の推移などを割り出すには、通常、COUNTIF関数で同じ日付を集計するなどの必要がある。実は、Excelの「データ分析」を利用すると、簡単に集計できる。その方法を紹介しよう。

 アクセスログなどの生データは、そのままの状態では何が起きているのか分からないことが多い。人が理解するためには、集計、分析を行い、傾向が分かるようにしなければならない。ただ、こうしたデータを集計、分析するのは結構手間がかかる。

 Excelの「データ分析」を使うことで、簡単に集計が可能だ。その使い方を紹介しよう。

 本Tech TIPSでは、東京都が公表している新型コロナ患者のデータを用いて説明する。このデータは、各患者の番号(No)、公表年月日、発症年月日、患者の年代、性別、職業などが一覧になったものだ。ここからは、患者が増えているのか減っているのか、年代別に感染傾向に違いがあるのか、感染に男女差はあるのか、といったことは簡単に分からない。

 データを公表年月日で集計したり、さらに年代別や男女別で集計したりすることで、傾向などを分析してみることにする。なお、記事に利用したデータはオープンデータとして公開されており、「東京都_新型コロナウイルス陽性患者発表詳細(年別分割版_2022年)」でCSVファイルがダウンロード可能だ。

「データ分析」を使ってワンクリックで集計

 公表年月日ごとに患者数を集計するには、COUNTIF関数を使って同じ日付を数えるという方法が考えられる。

COUNTIF関数を使って集計する(1)
COUNTIF関数を使って集計する(1)
新しいシートに集計用の日付を入力し、その隣にCOUNTIF関数を入力する。
COUNTIF関数を使って集計する(2)
COUNTIF関数を使って集計する(2)
同じ日付を数えるので、オリジナルデータのシートの「公表_年月日」の列(「E」列)を選択する。
COUNTIF関数を使って集計する(3)
COUNTIF関数を使って集計する(3)
数える日付を「A」列で指定する。オリジナルデータの「公表_年月日」内で「2022/1/1」である数が集計できる。
COUNTIF関数を使って集計する(4)
COUNTIF関数を使って集計する(4)
「B2」セルで入力したCOUNTIF関数をオートフィルでコピーする。

 ただ、これを年代別や男女別に行っていくとなると、少々面倒に感じるのではないだろか。

 Microsoft 365版のExcel(Excel 365)を利用しているのであれば、[ホーム]タブにある「データ分析」(以前は「アイデア」という機能名だった)を利用することで、ワンクリックで集計が行える。

「データ分析」で集計する(1)
「データ分析」で集計する(1)
「公表_年月日」の列(「E」列)を選択し、[ホーム]タブの[データ分析]をクリックする。「データ分析」として、「公表_年月日」内の日付ごとの数が集計される。
「データ分析」で集計する(2)
「データ分析」で集計する(2)
[ピボットテーブルの挿入]ボタンをクリックする。新しいタブに集計結果が挿入される。

 ただし、「データ分析」はデータの数が多いと集計に時間がかかる上、場合によってはエラーとなって集計が行えない場合がある点に注意してほしい。また、想定した結果にならないこともあるので、データの数を絞って実行するのがよい。

データの絞り込みは「フィルター」よりも「スライサー」が便利

 データの数を絞り込む際、列を選択し、[データ]タブの[フィルター]を実行して特定の値のみにしてから集計しているのではないだろうか。上述の「データ分析」を行う場合でも、データ数が多いと分析が行えないので、絞り込みを行うとよい。

 ただ、幾つかの値で絞り込むであれば、「フィルター」よりも「スライサー」を使った方が便利だ。特に複数の列の値を組み合わせて絞り込みを行う場合は、「スライサー」で該当する値を選択すればいいので楽である。

 「スライサー」を有効にするには、データを「テーブル」に変換しておく必要がある。テーブルに設定したい列を選択し、[ホーム]タブの[テーブルとして書式設定]をクリックし、適当な「テーブルスタイル」を選ぶ(選択する列は連続している必要がある)。[テーブルに変換するデータ範囲を選択してください]ダイアログが表示されるので、テーブル範囲を確認し、[OK]ボタンをクリックする。

 選択した列がテーブルに変換され、[テーブルデザイン]タブが表示されるはずだ。ここで、[テーブルデザイン]タブの[スライサーの挿入]をクリックし、表示された[スライサーの挿入]ダイアログでフィルターに利用したい項目名にチェックを入れて、[OK]ボタンをクリックする(複数の項目が選択可能)。

 すると、各項目の「スライサー」が表示される。これを見やすい位置に移動してから、絞り込みたい値のみを選択状態にすれば、その値でフィルターできる。

 「スライサー」でデータを絞り込んだら、その状態で必要な列を選択して別のシートにコピーし、「データ分析」を実行する(「データの分析」では、フィルターで絞り込んだ値のみで分析は実行できない)。これで、その値で絞り込まれたデータでの分析が行える。今回例にしている東京都の新型コロナウイルス陽性患者のデータでは、年代で絞り込むことで、各年代の推移が分析できる。

「スライサー」でデータをフィルタリングする(1)
「スライサー」でデータをフィルタリングする(1)
テーブルにしたいセル範囲を選択し、[ホーム]タブの[テーブルとして書式設定]を選択、適当な書式設定を選ぶ。
「スライサー」でデータをフィルタリングする(2)
「スライサー」でデータをフィルタリングする(2)
テーブルにするセル範囲が表示されるので、[OK]ボタンをクリックする。ここで、セル範囲を変更することもできる。
「スライサー」でデータをフィルタリングする(3)
「スライサー」でデータをフィルタリングする(3)
選択したセル範囲が「テーブル」に変換される。[テーブルデザイン]タブが表示されるので、ここの[スライサーの挿入]をクリックする。[スライサーの挿入]ダイアログが開くので、ここでフィルターに使いたい項目にチェックを入れる。
「スライサー」でデータをフィルタリングする(4)
「スライサー」でデータをフィルタリングする(4)
選択した項目の「スライサー」が表示される。ここで選択(画面では青色)した値でフィルターされる。絞り込みたい値のみを選択してから、「公表_年月日」の列(「E」列)を選択、コピーする。複数の値を同時に選択するには、[Shift]キーや[Ctrl]キーを押しながら各値をクリックする。
「スライサー」でデータをフィルタリングする(5)
「スライサー」でデータをフィルタリングする(5)
新しいシートにフィルターした列を貼り付け、「データ分析」を実行する。フィルターした年代(10代未満と10代)で集計できる。
「スライサー」でデータをフィルタリングする(6)
「スライサー」でデータをフィルタリングする(6)
各年代で同様の作業を行うことで、年代別の患者数の推移が集計できる。グラフ化することで、どのような傾向にあるのかひと目で分かるようになる。

 COUNTIF関数で集計する場合も、同様に「スライサー」で絞り込んでから、別のシートにコピーして、前述の方法で同じ日付を数えればよい。

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る