まうにゃんのエクセル講座

エクセル中心に日々思いついたことを・・・週末は🏇

ユニーク化してSUMIFS…これだけでできる超便利なGROUPBY関数

GROUPBY関数は、行(縦)でグループ化し指定された関数によって値を集計します。

 

行の軸に沿ったグループ化と、関連する値の集計がサポートされます。
複数の行グループレベルに対応しています。
総計・小計、並べ替え、フィルター処理もサポートされています。
集計にはイータ縮小ラムダ(eta reduced lambda)または明示的なLAMBDAが使用できます。

・LAMBDAヘルパー関数 ・イータ縮小LAMBDA ・イータ縮小ラムダ 使用例と解説

 


GROUPBY関数は縦軸の1軸だけのグループ化です。
縦横の2軸でのグループ化はPIVOTBY関数を使用します。

GROUPBY関数の構文

GROUPBY(行フィールド,値,関数,[フィールドヘッダー],[合計深さ],[並べ替え順序],[フィルター配列])
 
引数 説明
行フィールド 必須
行をグループ化し、行ヘッダーを生成するために使用される値を含む列方向(縦方向)の配列または範囲。
配列または範囲には複数の列を含むことが出来ます。
その場合、出力には複数の行グループ レベルが含まれます。
必須)
集計するデータの列指向の配列または範囲。
配列または範囲には複数の列が含まれる場合があります。その場合、出力には複数の集計が含まれます。
関数 必須
値を集計するために使用される明示的(LAMBDA関数)またはイータ縮小ラムダ関数を指定。
ラムダのベクトル(配列)を指定できます。
その場合、出力には複数の集計が含まれます。ベクトル(配列)の向きによって行方向/列方向のレイアウトが決まります。
イータ縮小LAMBDAとして以下の関数が用意されています。
SUM
AVERAGE
MEDIAN
COUNT
COUNTA
MAX
MIN
PRODUCT
ARRAYTOTEXT
CONCAT
SRDEV.S
STDEV.P
VAR.S
VAR.P
MODE.SNGL
フィールドヘッダー 省略可能
row_field と値にヘッダーがあるかどうか、および結果でフィールド ヘッダーを返すかどうかを指定する数値。
省略 ::自動。
0 : いいえ(ヘッダーなし、ヘッダー生成しない)
1 : はい、表示しません(ヘッダーあり、ヘッダー表示しない)
2 : いいえ、生成します(ヘッダーなし、ヘッダー生成する)
3 : はい、表示します(ヘッダーあり、ヘッダー出力する)
自動では、values引数に基づいてデータにヘッダーが含まれていると想定されます。
1番目の値がテキストで 2 番目の値が数値の場合、データにはヘッダーがあるとみなされます。
複数の行または列グループ レベルがある場合、フィールド ヘッダーが自動で表示されます。
合計深さ 省略可能
行ヘッダーに合計を含めるかどうかを決定します。
省略 : 自動: 総計と、可能な場合は小計。
0 : 合計なし
1 : 総計
2 : 総計と小計
-1 : 上部に総計
-2 : 上部に総計と小計
小計の場合、フィールドには少なくとも 2つの列が必要です。
フィールドに十分な列がある場合、2より大きい数値がサポートされます 。
並べ替え順序 省略可能
省略時は行フィールドの昇順で並べ替えられます。
行をソートする方法を示す数値。
数値(1から始まる)はrow_fieldsの列に対応し、その後にvalueの列が続きます。
数値が負の場合、行は降順/逆順に並べ替えられます。
row_fieldsのみに基づいて並べ替える場合は、数値のベクトル(配列)を指定できます。
フィルター配列 省略可能
対応するデータ行を対象とするかどうかを示すブール値の列指向(縦方向)1時限配列。
配列の長さは、row_fieldsに提供される配列の長さと一致する必要があります。

 

続きは以下で。

excel-ubara.com