1. ホーム
  2. データ活用塾
  3. ビッグデータ活用講座
  4. 第2回 データの分析(データクレンジング)

第2回 データの分析(データクレンジング)

Excelを使ったデータチェックとデータクレンジング

Lesson 02

第2回 データの分析(データクレンジング)

Excelを使ったデータチェックとデータクレンジング

00データ分析の前準備(データチェックとクレンジング・加工等)

今回はExcelを使って、データ分析の前準備としてデータチェックとデータクレンジングについて説明します。第1回の問題解決方法でも説明したように、PPDACサイクルにそって分析を進めていきます。

使用するデータは、サンプルデータとして作成された家電卸企業の売上データ(22,757件)です。

01PPDACサイクルに沿ったデータ分析準備

① Problem:問題点の洗い出しと、課題・指標の設定

データ分析を行う前に、問題、課題、指標を設定します。この企業の場合は次の通りです。

・問題:売上が平準化し伸びない
・課題:売上向上
・指標:売上高

② Plan:計画の策定

次に売上高が増えるような施策を考え、分析手法や収集すべきデータを決めます。今回は既存データの分析ですので、データから売上増につながる項目と分析手法を考えます。

売上を上げる施策を考えた場合、次のようなことが考えられます。

・売上高の低い担当者の売上向上
・取引高の低い得意先の取引高向上
・売れない商品の拡販
・売上高の低い月の拡販

これらの施策に対する仮説と分析方法は、次のようになります。

項目施策仮説分析方法
担当者売上高の低い担当者の売上向上担当者毎の売上高に大きな違いがある単純集計と
クロス集計
商品名(CD)売れない商品の拡販売れる商品と、売れない商品がある
得意先名取引高の低い得意先の取引高向上取引先毎に売上高に大きな違いがある
売上年月売上高の低い月の拡販売上高の月変動が大きい

③ Data:データ収集・データチェックとデータクレンジング

今回は、既存データを使用するためデータ収集は必要はありませんが、分析を迅速かつ正確に行うためにデータのチェックとクレンジングを行います。それでは、Excelのピボットテーブルを使ってデータの重複や間違いなどがないかを調べ、整理してみることにします。

02Excelのピボットテーブルを使ってみよう:ピボットテーブルの操作方法

ここでは、Excelのピボットテーブルの使用方法について説明します。

ピボットテーブル手順 クリックして拡大
クリックして拡大
  1. 分析するデータファイルをExcelで開きます。
  2. 表中のセルをクリック。図では、表頭の「伝票番号」(A1)をクリック
  3. 「挿入」タブの「テーブル」グループの「ピボットテーブル」をクリック
  4. 「ピボットテーブルの作成」ダイアログが表示されたら「OK」ボタンをクリック
  5. ピボットテーブルのシートが新規作成され、「ピボットテーブルのフィールドリスト」が表示
新しいシートに「ピボットテーブル」が表示されます。

「ピボットテーブルのフィールドリスト」から「ボックス」と呼ばれる4つの領域に「項目」をドラッグすることで、データのチェックや分析が行えます。
ボックス名意味
レポート
フィルター
項目内の種類別集計を行う際、その項目に相当するフィールドリストの項目をドラッグ
行ラベル 表側にあたり、集計したいフィールドリストの項目をドラッグ
※データの入っていない箇所があった場合、空白セルとして最後に表示
列ラベル 表頭にあたり、集計したいフィールドリストの項目をドラッグ
集計したい値のフィールドリストの項目をドラッグ
項目の内容ごとの合計値を表示
※数値項目以外の項目をドラッグすると、その内容の個数を表示

03Excelのピボットテーブルを使ってデータチェックとデータクレンジング:各項目のデータチェック(①~⑦)

Excelのピボットテーブルを利用してデータのチェックとクレンジングを行います。

① 伝票番号の枚数と重複の確認

伝票番号ごとの枚数を調べ、重複がないかを調べます。
  1. 「行ラベル」ボックスに「伝票番号」をドラッグ
  2. 「値」ボックスに「商品名」をドラッグ
    (「商品名」以外でも文字列の項目であれば可)
「行ラベル」に伝票番号、「データの個数/商品名」に伝票番号ごとの枚数が表示され、すべて1であれば、重複がないことになります。
伝票の枚数が少なければ、目視でのチェックも可能ですが、今回は2万件を超える件数ですので目視ではとても不可能です。

Excelの「COUNTIF関数」を使って重複がないかをチェックしてみます。
B列の4行目から合計値の前の行(22,760行目)までを範囲指定し、1の数を数えます。
=COUNTIF(B4:B22760,1)

結果は、22,757となり、合計の値以外の数値が入っている行数は  22,760-3=22,757  ですので、すべての行の値となっており、伝票の重複は無いことがわかりました。
また、「行ラベル」の最後に空白セルがないことから、「伝票番号」の抜けがないことも確認できました。

② 売上年月の確認

売上年月を確認するには、次のような操作を行います。
  1. 「売上年月」を「行ラベル」ボックスにドラッグ

※動画では、「伝票番号」「商品名」を各ボックスからドラッグし、ピボットテーブルの作成時の状態に戻してから操作を行っています。

「行ラベル」の値が2000年1月から2000年12月までのデータであることわかります。
想定外の年月が表示されていなければ特に問題はありません。
総計の上のセルに空白セルはないので、「売上年月」の抜けが無いことも確認できました。

③ 商品CD・商品名・販売単価の確認

③-1 商品CD・商品名の対応の確認

「商品コード(CD)」と「商品名」が、それぞれ1対1で対応しているか確認します。
  1. 「商品CD」を「行ラベル」ボックスにドラッグ
  2. 「商品名」を「行ラベル」ボックスの「商品CD」の下にドラッグ

「商品コード(CD)」と「商品名」が1対1ならば、ブランクのセルや1つの「商品コード(CD)」に対し複数の「商品名」が存在することはありません。
空白セルはないので、「商品コード(CD)」の抜けたデータはないことが確認できました。
  • もし、一つの「商品コード(CD)」に対して「商品名」が複数あった場合、「商品コード(CD)」と「商品名」の数が等しくなりません。
  • しかし、「商品コード(CD)」に対して「商品名」が複数あっても、「商品コード(CD)」のない「商品名」が混在していると、双方の件数が等しくなる可能性があります。
  • そのため、「商品名」の抜けがなく、「商品名」と「商品コード(CD)」の件数が等しければ、1対1で対応していることになります。
  • それぞれの件数を確認するために、Excelの関数を使用します。

③-2 商品名に抜けがないか確認

「COUNTBLANK関数」を使って空白セルを数え、「商品名」の抜けがないかを確認します。
=COUNTBLANK(A4:A121)  ※範囲:セルA4~A121(総計の上のセル)まで
結果は「0」が返ってきました。「商品コード(CD)」の分も含まれていますが、「商品コード(CD)」も抜けがないので、「商品名」には抜けがないことになります。

③-3 商品CDの件数の確認

「商品コード(CD)」は数値項目なので「COUNT関数」を使って件数を確認してみます。

=COUNT(A4:A121)  ※範囲:セルA4~A121(総計の上のセル)まで

結果は、「59」が返ってきました。

③-4 商品名の件数の確認

「COUNTA関数」を使って「商品名」の件数を確認してみます。

=COUNTA(A4:A121)  ※範囲:セルA4~A121(総計の上のセル)まで

「118」と結果が返ってきましたので、「A4」から「A121」までのセルにデータが入っているセルの件数から「商品コード(CD)」の件数を引きます。

59(118-59=59)

「商品コード(CD)」と「商品名」の件数は等しく、「商品名」の抜けもないことから、1対1で対応していることが確認できました。

③-5 商品CDと商品名、単価の対応の確認

「商品コード(CD)」と「商品名」に関しては、単価の対応付けも確認する必要があります。ピボットテーブルを使って「販売単価」を「行ラベル」ボックスにドラッグします。「単価」の最小値は「230」、最大値は「189,700」となり、特に異常値は見られません。また、ブランクのセルも見られないので、「単価」は正常です。件数を調べたところ「51」だったので、「商品」の件数が「59」であることを考えると、同じ単価の商品があることが分かります。

④ 得意先CD・得意先名の確認

「得意先コード(CD)」と「得意先名」が1対1で対応しているかをピボットテーブルを使って確認します。空白セルはなく、Excel関数による計算も「34」となり、1対1で対応しています。

⑤ 担当者の確認

「担当者」の抜けと間違いがないかを、ピボットテーブルを使ってチェックします。「行ラベル」ボックスに「担当者」をドラッグします。結果は、ブランクのセルも無く、正しい名前もあるので、問題はありません。

⑥ 数量の確認

「数量」についても、ピボットテーブルを使って間違いがないかをチェックします。「行ラベル」ボックスに「数量」をドラッグします。1回に注文できる数量は「1」~「4」となっていたのですが、「10」~「40」の間違ったデータがありました。

⑦ エラーデータの抽出と修正

Excelのフィルターを使って、元データから間違った伝票を抽出して修正を行います。「数量」の項目(列)にフィルターを設定し、間違ったデータ「10」~「40」を表示します。単位を間違えて「0」を付けていたことが原因だったので、「0」を取ります。

まとめ:データクレンジングのポイント

Summary
  1. 次のようなデータがないか、データの内容を確認しましょう。大量データの場合、目視では限界があるので、ExcelやExcelのピボットテーブルを利用すると間違いを確実に見つけることができます。(データの抜け・重複・論理性・数値の異常)
  2. データ確認で間違ったデータを発見したら、なぜその様なデータが出来たのか原因を追究しましょう。
  3. 原因がわかったら、データの削除・修正・そのままにするのいずれかの作業を行い、正しいデータにしていきましょう。

まず、あなたの現場の課題を
聞かせてください。

専任スタッフが、最適なソリューションと導入シナリオをご提案します。