タグ別アーカイブ: 平均

【分析作業用】グループ毎の平均と個の平均の差を自動集計する方法

 Power Queryでは過去の記事で紹介したように、簡単にグループ化して数字を集計することができます。但し、グループ化した際には、元データの1部の列は非表示になります。

 実は、グループ化には「すべての行」というオプションがあり、こちらのオプションを選択すると「グループ化した数字」と「グループ化していない数字」を並列表示できます

 今回は更に、並列に表示した数字間で差(「グループ毎の平均」-「個の平均」)を集計します

この差とはつまり数字のバラツキです

バラツキを自動抽出することで、数字の分析に役立てるようにします

では今回、解説に使用する元データとアウトプットする内容について解説します

次の画像の画像は今回使用するデータです

こちらのデータからクエリを作成し、エクセルシートに次のように出力します

①グループ平均

グループ化により、部門ごとの平均給料を集計します

②すべての行

①の部門ごとの数字と並行して、元のデータ(個)を表示します

③差

②の個の数字から①のグループ平均の数字の差を集計します

 

上記の①~③で今回のアウトプットの内容について解説しました

では、①~③の順に詳細な解説を行っていきます


①グループ平均

こちらは過去の記事で既に解説した内容になります

①では部門毎に、給料の平均額を計算します

つまり、グループ化する項目は「部門」、集計する項目は「給料」になります

上の画像のように、元のデータをテーブル化して、Power Querエディタ(以降、エディタ)を開いた後、ホームタブから「グループ化」をクリックします

「グループ化」をクリックした後に、上の画像の画面が開きますので、こちらで4つの項目を指定します

・グループ化する項目➡部門

・新しい列名➡給料・部門平均

・操作➡平均

・列(集計する列)⇒給料

上記の4つの項目を指定して、OKボタンを押すと次の画像の画面のようにグループ毎の平均値が集計されます

②すべての行

①で行ったステップに修正を加えて、元のデータの個々の数字を表示します

まずは、①で行ったステップの右横のマークをクリックします

上のGIF画像内で開いた「グループ化」画面で再度、グループ化条件を設定します

まずは、下の画像の画面上の「詳細設定」を指定します

上の画像のように「詳細設定」を指定すると、下の画像の下にある黄色の箇所のように「集計の追加」を行えるようになります

こちらの「集計の追加」をクリックすると新しい列名が指定できるようになります

次に、追加された新しい列の「操作」にて、下の画像のように「すべての行」を指定します

ちなみに、下の図の右にある、本来は集計する列を指定する箇所は「ブランク」のままでいいです

では、新しい列名を上の画像のように指定したところで、OKボタンをクリックします

すると、上のGIF画像のように新たな列が追加されます

次に、上の画像の右上にある「黄色の箇所」のマークをクリックします

すると、上の画像の画面が開きますので、こちらで黄色の箇所を設定します

・氏名➡チェック

・給料➡チェック

・元の列名をプレフィックスとして使用します➡チェックを外す

上の3つを指定したら、画面右下のOKボタンをクリックします

すると、上のグループGIF画像のように「氏名」と「給料」の列が右横に展開します

これで、①で「グループ化した項目」と「個々の元データ」が並列で表示されるようになりました

③差

上の②で 、①で「グループ化した項目」と「個々の元データ」が並列で表示されるようになりましたので、互いの差を計算します

計算式は下のようになります

ⅰ)個々の元データ <マイナス> ⅱ)グループ化した項目

実は上の式がとても重要です

差の計算は下の画像の画面で行うのですが、計算対象となる列指定の順番が重要です

計算式の左からⅰ)⇒ⅱ)の順番で列を指定します

列の指定はCtrlキーで行います

仮に、ⅱ)からⅰ)の順番で列指定をすると「ⅱ)⁻ⅰ)」の計算式で差が計算されます

が集計できたところで、エクセルシートに読込むのですが、その前に2つ処理を行います

まず、2つの列の「列名」を下の図のように修正します

次に、グループの平均を集計した列の数字を丸めておきます

では、2つの処理を行ったので、エクセルシートに次の画面から「読込先」を指定して読み込み処理を行います

次のGIF画像が実際に「読込処理」を行った時の画像です

<まとめ>

 今回は、過去に解説したグループ化を更に踏み込んで、個々の元データも並列で表示する方法を解説しました

 個々の元データを表示するには、グループ化を設定する画面で「すべての行」を指定します

画像に alt 属性が指定されていません。ファイル名: image-261.png

 更に、個々の元データを表示した後は、グループの平均と個々の元データの差を自動集計しました

画像に alt 属性が指定されていません。ファイル名: Difference.gif

個々の平均との差分を集計するだけでも、数字全体の特徴は掴みやすくなります

 仮に、Power Queryを使用しないで集計しようとすれば、ピボットテーブルやエクセル関数を組み合わせて処理を行わねばなりません

 このブログでは今後、Power Queryを分析作業に直接役に立つような手法も発信していきますので、よろしくお願いします!

長文を最後まで読んでくださり、誠にありがとうございました

参考までに今回使用したデータを添付します

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

Sで終わる関数は素晴らしい~AverageIfs関数~

エクセル関数はとても進化しています

XLOOKUP関数も同様ですが、新エクセル関数は絶対に活用した方がいいです!

IFS関数、COUNTIFS関数、そしてAVERAGEIFS関数は、複数条件を簡単に作成できるので便利です

上記3つの関数ともに関数の書き方は同様です

1.文法

AVERAGEIFS関数の書き方は以下になります

=AVERAGEIFS(平均算出範囲,条件範囲1,条 件1,条件範囲2,条件2,・・・)

2.事例解説

今回、AVERAGEIFS関数を試してみるデータは以下です

条件設定と平均値算出は以下の画面で行います

部門と受注日が抽出条件になります

数式は以下の様に設定してあります

複数条件はB列/条件範囲1,⇒C列/条件範囲2の流れで設定しています

この複数条件設定を他の方法で行おうとしたら、関数ではなくピボットテーブルで算出した方が早いですね

関数1つで複数条件を算出できるのは、もの凄い進歩です

最後に補足ですが、部門のリストデータはUNIQUE関数を活用しています

UNIQUE関数で部門の列(東京、東京・・、大阪、大阪)から重複を削除した上で、「#」にてリストとして再利用しています

UNIQUE関数とリストの組み合わせについて深く知りたい方はこちらを参照してください

  ⇒リストをUNIQUE関数でより便利に

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村