商品別や日別などの条件で中央値や最頻値を集計したいですが、MEDIANやMODEだと限界あります。。
こうした場合の集計に役立つ関数はありますか?
その場合、MEDIANまたはMODEを「IF」と組み合わせ、配列数式にすることで対応できますよ!
では、具体的に解説していきますね。
はじめに
この記事は配列数式の概要とMEDIAN・MODE・IFの使い方を把握していることが前提です。
配列数式とMEDIAN・MODE・IFの詳細は以下の記事をご参照ください。
はじめに この記事は数式の概要を把握していることが前提です。 参考記事 数式の概要の詳細は以下の記事をご参照ください。 Excelの「配列数式」とは 配列数式は、配列(複数データの集合体)を用いた数式のことです。 配列数 …
はじめに この記事はSUMの使い方を把握していることが前提です。 参考記事 SUMの詳細は以下の記事をご参照ください。 数値データの「中央値」を自動計算したい場合は「MEDIAN」が有効 データの中心傾向を把握する際、最 …
はじめに この記事はSUMの使い方を把握していることが前提です。 参考記事 SUMの詳細は以下の記事をご参照ください。 数値データの「最頻値」を自動計算したい場合は「MODE」が有効 データの中心傾向を把握する際、最も利 …
はじめに この記事は関数の概要を把握していることが前提です。 参考記事 関数の概要については以下の記事をご参照ください。 条件判定の結果を値で表示したい場合は「IF」が有効 実務では、既存データに対して基準値を条件に評価 …
Excelには○○別の「中央値」と「最頻値」を集計するための関数がない
実務では、データの特徴や傾向を把握するために、商品別や日別などの切り口で集計する機会は非常に多いもの。
こうした条件別の中央値/最頻値を集計する際、商品名や日付などの条件に一致するレコードの数値データのみで中央値/最頻値を計算すれば良いです。
頑張れば、次のようにMEDIAN(またはMODE)でも集計は可能です。
ただし、指定するセル数が多ければ多いほど、手作業は増え、誤ったセルを選択するリスクも増えてしまうため、この方法は非効率です。
通常、他の集計方法(合計や個数等)であれば、条件に一致するレコードのみを対象として集計できるSUMIFSやCOUNTIFSといった関数が用意されています。
しかし、中央値と最頻値については、こうした関数がありません。
よって、条件別の中央値/最頻値を集計するために、MEDIANまたはMODEを「IF」と組み合わせ、配列数式にする必要があります。
【参考】Excel2016以前のバージョンは○○別の「最大値」と「最小値」を集計する関数もない
本記事の内容は中央値と最頻値に絞っていますが、Excel2016以前のバージョンの「最大値」と「最小値」も同様です。
Excel2016以前で条件別の最大値/最小値を集計したい場合は、本記事のテクニックを応用してください(MEDIANの部分をMAXやMINへ置き換え)。
なお、Excel2019以降やMicrosoft365のバージョンであれば、条件別の最大値/最小値を集計できる「MAXIFS」・「MINIFS」が登場しています。
よって、MAXIFS・MINIFSが使える環境であれば、こちらの関数を使った方が便利です。
MAXIFS・MINIFSの詳細については以下の記事をご参照ください。
はじめに この記事はMAX・SUMIFSの使い方を把握していることが前提です。 参考記事 MAX・SUMIFSの詳細は以下の記事をご参照ください。 ○○別の「最大値」を集計する場合は「MAXIFS」が有効 実務では、デー …
はじめに この記事はMIN・SUMIFSの使い方を把握していることが前提です。 参考記事 MIN・SUMIFSの詳細は以下の記事をご参照ください。 ○○別の「最小値」を集計する場合は「MINIFS」が有効 実務では、デー …
配列数式でMEDIAN・MODEとIFを組み合わせれば、◯◯別の「中央値」・「最頻値」の集計が可能!
MEDIAN(MODE)+IFの配列数式にしたイメージは以下の通りです。
これで、条件別の中央値/最頻値の集計が可能となります。
今回は受注月別の中央値/最頻値を集計しました。
ちなみに、この数式の意味は次の通りです(例:MEDIAN)。
{=MEDIAN(IF(条件範囲=条件,計算対象範囲)}
IFの引数「値が偽の場合の値」は省略。
【参考】MEDIAN+IF・MODE+IFの数式を使い回すコツ
今回の配列数式は、1つの数式内で複数の計算/処理をまとめて行っています。
よって、複数セルへ数式を使い回す際は、通常の関数と同じように参照形式(絶対参照/相対参照)を設定しましょう。
ちなみに、今回は次の参照形式にしています。
- 条件範囲:絶対参照 ※列を指定
- 条件:複合参照(列のみ絶対参照)
- 計算対象範囲:絶対参照 ※列を指定
元データがテーブルの場合、条件範囲・計算対象範囲は構造化参照になるため、参照形式の指定は不要。
参照形式(絶対参照/相対参照)の詳細は以下の記事をご参照ください。
関数の数式を直接入力できるようになってきました! もっと関数を実務で役立てていくために、他に覚えておいた方が良いことはありますか?? …
【参考】2種類以上の条件で集計したい場合は
MEDIAN(MODE)+IFの配列数式を2種類以上の複数条件で集計したい場合は、次のような数式となります。
今回は、以下の2種類のAND条件に一致する中央値/最頻値を集計しました。
9月の商品名「いちご」は元データで1レコードのみのため、最頻値はエラー値「#N/A」を表示。
- 受注月別
- 商品名が「いちご」と等しい
ちなみに、複数条件の数式の意味は次の通りです(例:MEDIAN)。
{=MEDIAN(IF((条件範囲1=条件1)*(条件範囲2=条件2),計算対象範囲)}
3種類以上の条件にしたい場合は、「条件範囲n=条件n」のセットをカッコ()で囲み、条件の間をアスタリスク(*)でつないでいけばOKです。
アスタリスク(*)はAND条件(~かつ)を意味しますが、OR条件にする場合は「+」へ置き換え。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_ワークシート関数_MEDIAN・MODE+IF(配列数式)
サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移します)。
ブックを開いたら、次の手順を実施してください。
この手順は中央値のみ。
- 関数を挿入するセルを選択
※今回はB5セル - 「=me」等と入力
- サジェストから「MEDIAN」を選択肢、Tabキーで確定
- 「i」等と入力
- サジェストから「IF」を選択肢、Tabキーで確定
- 元データのシートへ移動
※今回は「注文テーブル」シート - 条件の検索対象のセル範囲を選択
※今回は「受注月」列(B:B) - 「=」を入力
- 集計表のシートへ移動
※今回は「集計表」シート - 条件となるセルを選択
※今回はA5セル - コンマ(,)を入力
- 元データのシートへ移動
※今回は「注文テーブル」シート - 中央値/最頻値の計算対象のセル範囲を選択
※今回は「金額」列(H:H) - 「)」を2回入力
- 「Ctrl」+「Shift」+「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はB6セルへペースト
本記事の解説と同じ結果になればOKです!
後は最頻値の部分も同じ要領で行いましょう(MEDIANの部分をMODEに置き換える)。
さいごに
いかがでしたでしょうか?
MEDIAN・MODE+IF(配列数式)の組み合わせテクニックは、条件別の中央値/最頻値の集計に役立ちます。
頻度は高くはないですが、条件別に中央値/最頻値を集計する機会があれば、この機会に試してみてください。
なお、MEDIAN・MODE+IF(配列数式)以外にもExcelでのデータ集計の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m
私は、組織で使用するブックでは配列数式をなるべく使わないようにしていますが、条件別の中央値/最頻値を集計する場合だけは仕方なく使っています。
Excelのバージョンアップで標準的な関数として追加されることを期待したいですね。