クイックナビゲーション
PIVOTBY関数
概要
PIVOTBY関数は、数式だけでピボットテーブルのような集計表を簡単に作成できる強力な関数です。行と列のグループ化、複数集計、並び替え、フィルタリングを1つの数式で実現します。Excel 365と2021で利用可能です。
構文
PIVOTBY(row_fields, col_fields, values, function, [field_headers], [row_total_depth], [row_sort_order], [col_total_depth], [col_sort_order], [filter_array], [relative_to])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| row_fields | Array/Range |
はい | 行グループ化に使用する列指向の配列または範囲。複数列指定で階層化可能。 |
| col_fields | Array/Range |
はい | 列グループ化に使用する列指向の配列または範囲。複数列指定で階層化可能。 |
| values | Array/Range |
はい | 集計対象の列指向配列または範囲。複数列で複数集計。 |
| function | LAMBDA/Function |
はい | 集計方法を指定する関数(SUM、AVERAGE)またはLAMBDA。複数指定可能。 |
| field_headers | Number |
いいえ | ヘッダー表示制御(0:なし、1:表示、2:非表示、3:強制表示)。省略時は自動。 |
| row_total_depth | Number |
いいえ | 行合計の深さ(0:なし、1:総計、2:小計含む)。省略時は自動。 |
| row_sort_order | Number |
いいえ | 行の並び替え順序。正:昇順、負:降順。 |
| col_total_depth | Number |
いいえ | 列合計の深さ(0:なし、1:総計、2:小計含む)。省略時は自動。 |
| col_sort_order | Number |
いいえ | 列の並び替え順序。正:昇順、負:降順。 |
| filter_array | Boolean Array |
いいえ | 集計対象行をフィルタリングするTRUE/FALSE配列。 |
| relative_to | Number |
いいえ | 2引数集計関数用の基準(0:列合計、1:行合計、2:総計)。 |
PIVOTBY関数の使用
PIVOTBYはピボットテーブル機能を数式で再現します。従来のピボットテーブル作成の手間を省き、VLOOKUPやSUMIFSを組み合わせた複雑な数式を1つで代替。動的データソースや条件付き集計に最適です。
PIVOTBYの一般的な例
基本的な売上集計
=PIVOTBY(C2:C100,A2:A100,D2:D100,SUM)
製品(A列)と年(C列)で売上(D列)を集計。自動ヘッダーと総計を表示。
降順ソート付き集計
=PIVOTBY(C2:C100,A2:A100,D2:D100,SUM,1,-2)
売上降順ソート(-2)で表示。ヘッダー強制表示(1)。
複数集計
=PIVOTBY(地域,製品,売上,{SUM,AVERAGE,COUNT})
地域×製品で売上合計、平均、件数を横並び表示。
割合集計
=PIVOTBY(製品,年,売上,LAMBDA(s,t,SUM(s)/SUM(t)),,0,,0,0,2)
各セルの売上が総計に対する割合で表示(relative_to=2)。
よくある質問
PIVOTBYは数式ベースで軽量・高速。ピボットテーブルはGUI操作で視覚的ですが更新が手動。
row_total_depth/col_total_depthを2以上に設定。階層が2列以上必要です。
field_headersを1または3で強制表示。データ最初の行がテキスト+数値の場合自動検出されます。
一般的なエラーと解決策
#SPILL! エラー
Cause: 出力範囲が占有されている
Solution: 出力先を空にするか、SPILL範囲を確認。
#VALUE! エラー
Cause: row_fields/col_fields長さが不一致
Solution: 全引数の行数が同一であることを確認。
合計が表示されない
Cause: row_total_depth=0設定
Solution: 1または2で総計/小計を表示。
注記
- 配列長はrow_fields/col_fields/valuesで完全一致必須
- LAMBDA関数はLAMBDA(subset,totalset,SUM(subset)/SUM(totalset))形式
- Excel 365/2021限定機能
- ピボットテーブルよりメモリ効率良好
- 動的配列関数専用
互換性
利用可能: Excel 365, Excel 2021
利用不可: Excel 2019以前, Excel for Mac(一部制限)
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021