GROUPBY 関数

適用先
Excel for Microsoft 365

GROUPBY 関数を使用すると、数式を使用してデータの概要を作成できます。 1 つの軸に沿ってグループ化し、関連する値を集計できます。 たとえば、売上データのテーブルがある場合、年別の売上の概要を生成できます。 

構文

GROUPBY 関数を使用すると、指定したフィールドに基づいてデータをグループ化、集計、並べ替え、およびフィルター処理できます。

GROUPBY 関数の構文は次のとおりです。

GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])

引数 説明
row_fields
(必須)
行のグループ化と行ヘッダーの生成に使用される値を含む列指向の配列または範囲。
配列または範囲には、複数の列を含めることができます。 その場合、出力には複数の行グループ レベルが含まれます。

(必須)
集計するデータの列方向の配列または範囲。
配列または範囲には、複数の列を含めることができます。 その場合、出力には複数の集計が含まれます。
関数
(必須)
値を集計するために使用される明示的または ETA 削減ラムダ (SUM、PERCENTOF、AVERAGE、COUNT など)。
ラムダのベクトルを指定できます。 その場合、出力には複数の集計が含まれます。 ベクトルの向きによって、ベクトルが行単位または列単位のどちらでレイアウトされるかが決まります。
field_headers row_fieldsにヘッダーがあるかどうか、およびフィールド ヘッダーを結果で返すかどうかを指定する数値。 使用可能な値は次のとおりです。
所在不明: 自動 (既定)
0: いいえ
1: はい、表示しない
2: いいえ、生成する
3: はい、表示
メモ: [自動] では、values 引数に基づくヘッダーがデータに含まれていることが想定されます。 1 番目の値がテキストで、2 番目の値が数値の場合、データにはヘッダーがあると見なされます。 フィールドの見出しは、複数の行または列グループ レベルがある場合に表示されます。
total_depth 行ヘッダーに合計を含めるかどうかを決定します。 使用可能な値は次のとおりです。
不足: 自動: 総計と、可能な場合は小計 (既定)
0: 合計なし
1: 総計
2: 総計と小計
-1: 総計 (トップ)
-2: 上部のグランドと小計
メモ: 小計の場合、 フィールド には少なくとも 2 つの列が必要です。 フィールドに十分な 列がある場合は、 2 より大きい数値がサポートされています。
sort_order 行の並べ替え方法を示す数値。 数値は、 row_fields の列、 その後に値の列に対応します。 数値が負の場合、行は降順/逆順で並べ替えられます。
row_fieldsのみに基づいて並べ替える場合は、数値のベクトルを指定できます。
filter_array 対応するデータ行を考慮する必要があるかどうかを示す、列指向の 1D ブール値配列。
メモ: 配列の長さは、 row_fields に指定された長さと一致する必要があります。
field_relationship row_fields複数の列が指定されている場合のリレーションシップ フィールドを指定します。 使用可能な値は次のとおりです。
0: 階層 (既定)
1: テーブル
階層フィールド関係 (0) では、後のフィールド列の並べ替えでは、前の列の階層が考慮されます。
テーブル フィールド リレーションシップ (1) では、各フィールド列の並べ替えは個別に行われます。 小計は、階層を持つデータに依存しているため、サポートされていません。

例 1: GROUPBY を使用して、年ごとの総売上高の概要を生成します。

GROUPBY を使用して、年別の総売上高の概要を生成します。=GROUPBY(A2:A76,D2:D76,SUM)

例 2: GROUPBY を使用して、製品別の合計売上高の概要を生成します。 売上高で降順に並べ替えます。

GROUPBY を使用して、製品別の合計売上高の概要を生成します。売上高で降順に並べ替えます。=GROUPBY(C2:C76,D2:D76,SUM,,,-2)