<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>グループ集計 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e9%9b%86%e8%a8%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Apr 2026 04:32:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>グループ集計 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのGROUPBY関数の使い方｜グループ集計を一発で作成</title>
		<link>https://mashukabu.com/excel-function-howto-use-groupby/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-groupby/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:07 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[GROUPBY関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[グループ集計]]></category>
		<category><![CDATA[データ集計]]></category>
		<category><![CDATA[動的配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5766</guid>

					<description><![CDATA[ExcelのGROUPBY関数でデータをグループごとに集計する方法を解説。SUM・AVERAGE・COUNTなど集計関数との組み合わせ、複数列でのグループ化、ソート、PIVOTBY関数との違いまで実務例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">売上データを部門ごとに合計したい、担当者ごとの平均単価を出したい。こういったグループ集計、ピボットテーブルを作るほどでもないけど手作業は面倒ですよね。GROUPBY関数を使えば、数式ひとつでグループごとの集計表を自動生成できます。この記事では基本の書き方から複数列でのグループ化、ソート、実務パターンまで丸ごと紹介します。</p>



<p class="wp-block-paragraph">この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>売上や経費データをカテゴリごとにサッと合計・平均したい</li><li>ピボットテーブルを使わずに数式だけでグループ集計を作りたい</li><li>GROUPBY関数とPIVOTBY関数の違いを知りたい</li></ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">GROUPBY関数とは？</a></li><li><a href="#toc2" tabindex="0">GROUPBY関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">GROUPBY関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">1列でグループ集計する</a></li><li><a href="#toc7" tabindex="0">ヘッダー付きで集計する</a></li><li><a href="#toc8" tabindex="0">集計関数を変えてみる</a></li></ol></li><li><a href="#toc9" tabindex="0">GROUPBY関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">総計行を追加する</a></li><li><a href="#toc11" tabindex="0">結果を降順でソートする</a></li><li><a href="#toc12" tabindex="0">特定の条件でフィルターする</a></li><li><a href="#toc13" tabindex="0">複数列でグループ化する</a></li><li><a href="#toc14" tabindex="0">LAMBDA関数でカスタム集計する</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">GROUPBY関数とPIVOTBY関数の違い</a></li><li><a href="#toc17" tabindex="0">SUMIFS関数との比較</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">関連記事</a></li><li><a href="#toc20" tabindex="0">関数一覧</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">GROUPBY関数とは？</span></h2>



<p class="wp-block-paragraph">GROUPBY（グループバイ）関数は、データの行を指定した列でグループ化し、集計関数を適用して結果を返す関数です。英語の「group by」は「〜ごとにまとめる」という意味で、SQLのGROUP BY句と同じ発想の関数です。</p>



<p class="wp-block-paragraph">たとえば売上データの「部門」列でグループ化して「金額」列をSUMで合計すれば、部門ごとの売上合計表が数式ひとつで出来上がります。結果はスピル（動的配列）で自動展開されるので、データが増えても数式を修正する必要がありません。</p>



<p class="wp-block-paragraph">GROUPBY関数はMicrosoft 365（Office 365）専用の関数です。Excel 2021以前のバージョンでは使用できません。</p>



<h2 class="wp-block-heading"><span id="toc2">GROUPBY関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=GROUPBY(行フィールド, 値, 集計関数, [フィールドヘッダー], [合計の深さ], [並べ替え順], [フィルター配列], [フィールドの関係])</code></pre>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>行フィールド</td><td>必須</td><td>グループ化の基準となる列（カテゴリ列など）</td></tr><tr><td>値</td><td>必須</td><td>集計対象の列（金額列など）</td></tr><tr><td>集計関数</td><td>必須</td><td>集計に使う関数（SUM, AVERAGE, COUNTなど）</td></tr><tr><td>フィールドヘッダー</td><td>省略可</td><td>ヘッダー行の扱い。0=なし、1=あり（非表示）、2=あり（表示）、3=自動生成。既定は2</td></tr><tr><td>合計の深さ</td><td>省略可</td><td>総計・小計の表示。0=なし、1=総計あり、2=総計＋小計、-1=総計のみ（データ行なし）。既定は0</td></tr><tr><td>並べ替え順</td><td>省略可</td><td>結果の並べ替え。0=昇順、1=降順。既定は0（昇順）</td></tr><tr><td>フィルター配列</td><td>省略可</td><td>行を絞り込むTRUE/FALSEの配列</td></tr><tr><td>フィールドの関係</td><td>省略可</td><td>0=階層（既定）、1=テーブル形式</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>必須の引数は3つだけです。まずは「行フィールド」「値」「集計関数」の3つを指定する基本形をおさえましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">GROUPBY関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">1列でグループ集計する</span></h3>



<p class="wp-block-paragraph">次のような売上データがA1:C11にあるとします（1行目がヘッダー）。</p>



<figure class="wp-block-table"><table><thead><tr><th>部門</th><th>商品</th><th>金額</th></tr></thead><tbody><tr><td>営業部</td><td>商品A</td><td>50000</td></tr><tr><td>開発部</td><td>商品B</td><td>30000</td></tr><tr><td>営業部</td><td>商品C</td><td>45000</td></tr><tr><td>開発部</td><td>商品A</td><td>25000</td></tr><tr><td>総務部</td><td>商品B</td><td>15000</td></tr><tr><td>営業部</td><td>商品B</td><td>60000</td></tr><tr><td>総務部</td><td>商品C</td><td>20000</td></tr><tr><td>開発部</td><td>商品C</td><td>35000</td></tr><tr><td>営業部</td><td>商品A</td><td>40000</td></tr><tr><td>総務部</td><td>商品A</td><td>18000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">部門ごとの売上合計を求めるには、次のように書きます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,SUM)</code></pre>



<p class="wp-block-paragraph">結果はスピルで展開され、以下のような表が自動生成されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>営業部</th><th>195000</th></tr></thead><tbody><tr><td>開発部</td><td>90000</td></tr><tr><td>総務部</td><td>53000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行フィールドにA2:A11（部門列）、値にC2:C11（金額列）、集計関数にSUMを指定しただけです。SUMIFS関数で部門ごとに数式を並べる必要がなくなります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>集計関数の引数はSUM、AVERAGE、COUNT、MAX、MINなど、通常のExcel関数名をそのまま指定します。カッコは付けません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">ヘッダー付きで集計する</span></h3>



<p class="wp-block-paragraph">データにヘッダー行が含まれている場合は、ヘッダー行ごと範囲に含めて第4引数を指定すると、結果にもヘッダーが表示されます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A1:A11,C1:C11,SUM,2)</code></pre>



<p class="wp-block-paragraph">第4引数の「2」は「ヘッダーあり・表示する」を意味します。結果の1行目に「部門」「金額の合計」のようなヘッダーが自動表示されます。</p>



<h3 class="wp-block-heading"><span id="toc8">集計関数を変えてみる</span></h3>



<p class="wp-block-paragraph">集計関数の部分を変えるだけで、さまざまな集計ができます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,AVERAGE)</code></pre>



<p class="wp-block-paragraph">部門ごとの平均金額を求めます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,COUNT)</code></pre>



<p class="wp-block-paragraph">部門ごとの件数を求めます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,MAX)</code></pre>



<p class="wp-block-paragraph">部門ごとの最大金額を求めます。</p>



<h2 class="wp-block-heading"><span id="toc9">GROUPBY関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc10">総計行を追加する</span></h3>



<p class="wp-block-paragraph">第5引数（合計の深さ）に1を指定すると、結果の最後に総計行が追加されます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,SUM,,1)</code></pre>



<p class="wp-block-paragraph">第4引数は省略（既定値を使用）するので、カンマだけ入れています。結果は次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>営業部</th><th>195000</th></tr></thead><tbody><tr><td>開発部</td><td>90000</td></tr><tr><td>総務部</td><td>53000</td></tr><tr><td>総計</td><td>338000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">報告資料に使うときは総計行があると便利ですよね。</p>



<h3 class="wp-block-heading"><span id="toc11">結果を降順でソートする</span></h3>



<p class="wp-block-paragraph">第6引数に1を指定すると、結果が降順（大きい順）に並びます。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,SUM,,,1)</code></pre>



<p class="wp-block-paragraph">売上が大きい部門から順に表示されるので、ランキング形式のレポートを作りたいときに使えます。</p>



<h3 class="wp-block-heading"><span id="toc12">特定の条件でフィルターする</span></h3>



<p class="wp-block-paragraph">第7引数にTRUE/FALSEの配列を渡すと、条件に合う行だけを集計対象にできます。たとえば金額が30000以上のデータだけで集計する場合です。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,SUM,,,,(C2:C11&gt;=30000))</code></pre>



<p class="wp-block-paragraph">金額が30000未満の行は除外された状態で、部門ごとの合計が計算されます。</p>



<h3 class="wp-block-heading"><span id="toc13">複数列でグループ化する</span></h3>



<p class="wp-block-paragraph">行フィールドに複数列を指定すると、組み合わせでグループ化できます。部門と商品の両方でグループ化して集計する場合は、HSTACK関数で列を結合して渡します。</p>



<pre class="wp-block-code"><code>=GROUPBY(HSTACK(A2:A11,B2:B11),C2:C11,SUM)</code></pre>



<p class="wp-block-paragraph">結果は「営業部 × 商品A」「営業部 × 商品B」のように、すべての組み合わせごとに集計値が表示されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>営業部</th><th>商品A</th><th>90000</th></tr></thead><tbody><tr><td>営業部</td><td>商品B</td><td>60000</td></tr><tr><td>営業部</td><td>商品C</td><td>45000</td></tr><tr><td>開発部</td><td>商品A</td><td>25000</td></tr><tr><td>開発部</td><td>商品B</td><td>30000</td></tr><tr><td>開発部</td><td>商品C</td><td>35000</td></tr><tr><td>総務部</td><td>商品A</td><td>18000</td></tr><tr><td>総務部</td><td>商品B</td><td>15000</td></tr><tr><td>総務部</td><td>商品C</td><td>20000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ちょっとピボットテーブルに近い表が、数式だけで作れてしまいます。</p>



<h3 class="wp-block-heading"><span id="toc14">LAMBDA関数でカスタム集計する</span></h3>



<p class="wp-block-paragraph">第3引数にLAMBDA関数を指定すれば、独自の集計ロジックも使えます。たとえば最大値と最小値の差（レンジ）を求める場合です。</p>



<pre class="wp-block-code"><code>=GROUPBY(A2:A11,C2:C11,LAMBDA(x,MAX(x)-MIN(x)))</code></pre>



<p class="wp-block-paragraph">部門ごとに金額の振れ幅（最大値 &#8211; 最小値）が算出されます。標準の集計関数にない計算もLAMBDA関数で自由に定義できるのがGROUPBY関数の強みです。</p>



<h2 class="wp-block-heading"><span id="toc15">よくあるエラーと対処法</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NAME?エラー</td><td>Excel 2021以前のバージョンで使用した</td><td>GROUPBY関数はMicrosoft 365専用です。バージョンを確認してください</td></tr><tr><td>#VALUE!エラー</td><td>行フィールドと値の行数が一致しない</td><td>グループ化列と集計列の行数を揃えてください。ヘッダーの有無も統一します</td></tr><tr><td>#SPILL!エラー</td><td>スピル先のセルにデータが入っている</td><td>結果が展開されるセル範囲を空にしてください</td></tr><tr><td>#CALC!エラー</td><td>集計関数の指定が正しくない</td><td>SUM、AVERAGE、COUNTなどの関数名をカッコなしで指定してください。「SUM()」ではなく「SUM」です</td></tr><tr><td>想定外のグループが表示される</td><td>同じに見える値に余分なスペースがある</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>でスペースを除去してからグループ化してください</td></tr><tr><td>結果が1行しか返らない</td><td>全データが同じグループに分類された</td><td>行フィールドの列指定が正しいか確認してください</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc16">GROUPBY関数とPIVOTBY関数の違い</span></h2>



<p class="wp-block-paragraph">GROUPBY関数と同時期に追加されたPIVOTBY関数も、データを集計する関数です。一見似ていますが、出力形式がまったく異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>GROUPBY関数</th><th>PIVOTBY関数</th></tr></thead><tbody><tr><td>出力形式</td><td><strong>縦方向のリスト</strong>（行方向に展開）</td><td><strong>クロス集計表</strong>（行と列の2軸で展開）</td></tr><tr><td>グループ化の軸</td><td>行方向のみ（1軸）</td><td>行と列の2軸</td></tr><tr><td>構文の違い</td><td>行フィールド + 値 + 集計関数</td><td>行フィールド + 列フィールド + 値 + 集計関数</td></tr><tr><td>得意な場面</td><td>部門ごとの合計・平均などシンプルな集計</td><td>部門 × 月のクロス集計表</td></tr><tr><td>使い分け</td><td>「〜ごとの合計を縦に並べたい」</td><td>「〜ごと × 〜ごとの表を作りたい」</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「部門ごとの売上合計」のように1軸でまとめたいならGROUPBY関数、「部門 × 四半期」のようにクロス表を作りたいならPIVOTBY関数です。</p>



<p class="wp-block-paragraph">たとえば同じデータから「部門 × 商品」のクロス集計表を作るなら、PIVOTBY関数のほうが適しています。</p>



<pre class="wp-block-code"><code>=PIVOTBY(A2:A11,B2:B11,C2:C11,SUM)</code></pre>



<p class="wp-block-paragraph">行に部門、列に商品が並ぶクロス表が出力されます。GROUPBYでは複数列をHSTACKで結合してリスト形式で出すことになるので、見た目の違いを意識して使い分けてください。</p>



<h2 class="wp-block-heading"><span id="toc17">SUMIFS関数との比較</span></h2>



<p class="wp-block-paragraph">グループ集計といえば<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>を使っている方も多いですよね。GROUPBY関数との違いを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>GROUPBY関数</th><th>SUMIFS関数</th></tr></thead><tbody><tr><td>グループの自動認識</td><td>データから自動でグループを抽出</td><td>事前にグループ一覧を用意する必要がある</td></tr><tr><td>数式の数</td><td>1つの数式で全グループ分を出力</td><td>グループ数だけ数式をコピーする</td></tr><tr><td>データ増減への対応</td><td>スピルで自動拡張</td><td>グループが増えたら数式を追加する必要がある</td></tr><tr><td>対応バージョン</td><td>Microsoft 365のみ</td><td>Excel 2007以降</td></tr><tr><td>処理速度</td><td>大量データでも高速</td><td>データ量が多いと重くなることがある</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Microsoft 365を使っているなら、グループ集計はGROUPBY関数に置き換えたほうがメンテナンスが楽です。グループが増えても数式を追加する必要がないので、運用コストが大幅に下がります。</p>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<p class="wp-block-paragraph">GROUPBY関数は「データを指定した列でグループ化し、集計結果を一覧で返す」関数です。</p>



<ul class="wp-block-list"><li>行フィールド・値・集計関数の3つを指定するだけで、グループごとの集計表が自動生成される</li><li>SUM、AVERAGE、COUNT、MAX、MINなど集計関数を切り替えるだけで、さまざまな集計ができる</li><li>総計行の追加、降順ソート、フィルターなどオプション引数も充実している</li><li>複数列でのグループ化はHSTACK関数と組み合わせる</li><li>PIVOTBY関数はクロス集計表、GROUPBY関数は縦方向のリスト集計と使い分ける</li></ul>



<p class="wp-block-paragraph">ピボットテーブルを作るほどでもない日常的なグループ集計は、GROUPBY関数で数式化しておくとデータ更新時も自動で再計算されて便利です。ぜひ試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc19">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-countifs/">COUNTIFS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数の使い方</a></li></ul>



<h3 class="wp-block-heading"><span id="toc20">関数一覧</span></h3>



<p class="wp-block-paragraph">Excel関数の一覧は下記の記事で確認できます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別一覧</a></li></ul>



<p class="wp-block-paragraph">エラー値が表示される場合は、下記の記事も参考にしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-groupby/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
