<?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/%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:31:58 +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のAGGREGATE関数の使い方｜エラーや非表示行を除外して集計</title>
		<link>https://mashukabu.com/excel-function-howto-use-aggregate/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-aggregate/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:31:58 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[AGGREGATE関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[SUBTOTAL関数]]></category>
		<category><![CDATA[エラー除外]]></category>
		<category><![CDATA[フィルター]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5762</guid>

					<description><![CDATA[ExcelのAGGREGATE関数の使い方を初心者向けに解説。19種類の集計方法とオプション番号の一覧表、エラー値や非表示行を除外する方法、SUBTOTAL関数との違い、実務での活用パターンまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「エラーが混じっている列の合計を出したいのに、数式がエラーになってしまう&#8230;」そんな場面はありませんか？</p>



<p class="wp-block-paragraph">ExcelのSUM関数やSUBTOTAL関数は、範囲にエラー値が1つでもあると集計できません。<code>#N/A</code> や <code>#VALUE!</code> が混在するデータは意外と多いですよね。</p>



<p class="wp-block-paragraph">そんなときに頼れるのがAGGREGATE関数です。エラー値や非表示行を除外しつつ、19種類の集計を使い分けられます。この記事では基本の書き方から実務の活用パターンまで紹介します。</p>




  <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">ExcelのAGGREGATE関数とは？</a></li><li><a href="#toc2" tabindex="0">AGGREGATE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">集計方法（第1引数）一覧</a></li><li><a href="#toc6" tabindex="0">オプション（第2引数）一覧</a></li></ol></li><li><a href="#toc7" tabindex="0">AGGREGATE関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">エラー値を無視して合計する</a></li><li><a href="#toc9" tabindex="0">エラー値を無視して平均・最大値を求める</a></li></ol></li><li><a href="#toc10" tabindex="0">AGGREGATE関数の実践的な使い方・応用例</a><ol><li><a href="#toc11" tabindex="0">パターン1: VLOOKUP結果のエラーを無視して集計</a></li><li><a href="#toc12" tabindex="0">パターン2: フィルター連動 + エラー除外の合わせ技</a></li><li><a href="#toc13" tabindex="0">パターン3: エラーを除外してN番目に大きい値を取得</a></li><li><a href="#toc14" tabindex="0">パターン4: 小計行がある表での安全な総合計</a></li></ol></li><li><a href="#toc15" tabindex="0">SUBTOTAL関数との違い・使い分け</a></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">集計方法番号・オプション番号の入力ミス</a></li><li><a href="#toc18" tabindex="0">LARGE・SMALLのk値エラー</a></li><li><a href="#toc19" tabindex="0">配列引数での制限</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ</a><ol><li><a href="#toc21" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">AGGREGATE関数（読み方: アグリゲート関数）は、<strong>エラー値や非表示行を除外して集計できる関数</strong>です。</p>



<p class="wp-block-paragraph">名前の「AGGREGATE」は英語で「集約する」を意味します。合計・平均・最大値など19種類の集計を1つの関数で切り替えられます。</p>



<p class="wp-block-paragraph">最大の特長は <strong>エラー除外</strong> です。<a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数</a>はエラー値があると計算できません。AGGREGATE関数ならオプション番号の指定だけで、エラーをスキップして集計してくれますよ。</p>



<p class="wp-block-paragraph">AGGREGATE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>エラー値（<code>#N/A</code> <code>#VALUE!</code> <code>#REF!</code> など）を除外して集計する</li><li>フィルターや手動で非表示にした行を除外する</li><li>19種類の集計方法を番号で切り替える（LARGE・SMALL・MEDIANなども対応）</li><li>ネストされたSUBTOTAL関数やAGGREGATE関数を自動で無視する</li></ul>



<p class="wp-block-paragraph">「エラーが混じるデータを安全に集計したい」ときに、まず検討したい関数です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>AGGREGATE関数はExcel 2010以降で使えます。Excel 2007以前では使用できないので注意してください。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=AGGREGATE(集計方法, オプション, 参照1, [参照2], ...)</code></pre>



<p class="wp-block-paragraph">カッコの中に「何で集計するか」「何を除外するか」「どこを集計するか」を指定します。</p>



<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>集計に使用する関数を表す番号（1〜19）</td></tr><tr><td>オプション</td><td>必須</td><td>除外する対象を指定する番号（0〜7）</td></tr><tr><td>参照1</td><td>必須</td><td>集計の対象となるセル範囲</td></tr><tr><td>参照2, &#8230;</td><td>任意</td><td>LARGE・SMALL等で使うk値（順位）、または追加の範囲</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数</a>との違いは「オプション」引数がある点です。この引数でエラー除外や非表示行の除外を細かく制御できます。</p>



<h3 class="wp-block-heading"><span id="toc5">集計方法（第1引数）一覧</span></h3>



<p class="wp-block-paragraph">AGGREGATE関数は19種類の集計に対応しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号</th><th>対応する関数</th><th>集計内容</th></tr></thead><tbody><tr><td>1</td><td><a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE</a></td><td>平均</td></tr><tr><td>2</td><td><a href="https://mashukabu.com/excel-function-howto-use-count/">COUNT</a></td><td>数値の個数</td></tr><tr><td>3</td><td><a href="https://mashukabu.com/excel-function-howto-use-counta/">COUNTA</a></td><td>空白以外の個数</td></tr><tr><td>4</td><td><a href="https://mashukabu.com/excel-function-howto-use-max/">MAX</a></td><td>最大値</td></tr><tr><td>5</td><td><a href="https://mashukabu.com/excel-function-howto-use-min/">MIN</a></td><td>最小値</td></tr><tr><td>6</td><td>PRODUCT</td><td>積（すべて掛け合わせ）</td></tr><tr><td>7</td><td>STDEV.S</td><td>標本標準偏差（ばらつきの指標）</td></tr><tr><td>8</td><td>STDEV.P</td><td>母標準偏差</td></tr><tr><td>9</td><td><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM</a></td><td>合計</td></tr><tr><td>10</td><td>VAR.S</td><td>標本分散</td></tr><tr><td>11</td><td>VAR.P</td><td>母分散</td></tr><tr><td>12</td><td><a href="https://mashukabu.com/excel-function-howto-use-median/">MEDIAN</a></td><td>中央値</td></tr><tr><td>13</td><td>MODE.SNGL</td><td>最頻値（最も多い値）</td></tr><tr><td>14</td><td>LARGE</td><td>k番目に大きい値</td></tr><tr><td>15</td><td>SMALL</td><td>k番目に小さい値</td></tr><tr><td>16</td><td>PERCENTILE.INC</td><td>百分位数（0〜1の範囲）</td></tr><tr><td>17</td><td>QUARTILE.INC</td><td>四分位数（0〜4の範囲）</td></tr><tr><td>18</td><td>PERCENTILE.EXC</td><td>百分位数（0と1を除く）</td></tr><tr><td>19</td><td>QUARTILE.EXC</td><td>四分位数（1〜3の範囲）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務でよく使うのは <strong>9（合計）・1（平均）・4（最大値）・5（最小値）</strong> の4つです。まずはこれだけ覚えておけば十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>番号14（LARGE）と15（SMALL）は第4引数に「k」を指定します。たとえば <code>=AGGREGATE(14, 6, A1:A10, 2)</code> は「エラーを無視して2番目に大きい値」を返します。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc6">オプション（第2引数）一覧</span></h3>



<p class="wp-block-paragraph">オプション番号で「何を除外するか」を指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号</th><th>除外する対象</th></tr></thead><tbody><tr><td>0</td><td>ネストされたSUBTOTAL・AGGREGATE関数のみ</td></tr><tr><td>1</td><td>非表示行 + ネスト関数</td></tr><tr><td>2</td><td>エラー値 + ネスト関数</td></tr><tr><td>3</td><td>非表示行 + エラー値 + ネスト関数</td></tr><tr><td>4</td><td>何も除外しない</td></tr><tr><td>5</td><td>非表示行のみ</td></tr><tr><td>6</td><td>エラー値のみ</td></tr><tr><td>7</td><td>非表示行 + エラー値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務で最も使うのは <strong>6（エラー値を除外）</strong> です。フィルター連動も必要なら <strong>7（非表示行 + エラー値）</strong> を選びましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>覚え方のコツは「<strong>6 = エラー除外</strong>」です。これだけ覚えれば、ほとんどの場面に対応できますよ。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc8">エラー値を無視して合計する</span></h3>



<p class="wp-block-paragraph">実際にAGGREGATE関数を使ってみましょう。次のような売上データがあるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（商品名）</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>商品A</td><td>50,000</td></tr><tr><td>3行目</td><td>商品B</td><td>30,000</td></tr><tr><td>4行目</td><td>商品C</td><td>#N/A</td></tr><tr><td>5行目</td><td>商品D</td><td>80,000</td></tr><tr><td>6行目</td><td>商品E</td><td>25,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">B4セルには <code>#N/A</code> エラーが入っています。この列をSUM関数で合計すると、結果もエラーになります。</p>



<pre class="wp-block-code"><code>=SUM(B2:B6)        → #N/A（エラーに巻き込まれる）</code></pre>



<p class="wp-block-paragraph">AGGREGATE関数ならエラーを除外して集計できます。</p>



<pre class="wp-block-code"><code>=AGGREGATE(9, 6, B2:B6)   → 185,000</code></pre>



<ul class="wp-block-list"><li>集計方法 <code>9</code> = 合計（SUM）</li><li>オプション <code>6</code> = エラー値を除外</li></ul>



<p class="wp-block-paragraph">エラーの行をスキップして、50,000 + 30,000 + 80,000 + 25,000 = <strong>185,000</strong> が返ります。</p>



<h3 class="wp-block-heading"><span id="toc9">エラー値を無視して平均・最大値を求める</span></h3>



<p class="wp-block-paragraph">集計方法の番号を変えるだけで、さまざまな集計に対応できます。</p>



<pre class="wp-block-code"><code>=AGGREGATE(1, 6, B2:B6)   → 46,250（平均）
=AGGREGATE(4, 6, B2:B6)   → 80,000（最大値）
=AGGREGATE(5, 6, B2:B6)   → 25,000（最小値）
=AGGREGATE(2, 6, B2:B6)   → 4（数値の個数）</code></pre>



<p class="wp-block-paragraph">どの集計もエラー行を自動的にスキップしてくれます。個別の関数を書き換えなくても、AGGREGATE関数1つで対応できるのは便利ですよね。</p>



<h2 class="wp-block-heading"><span id="toc10">AGGREGATE関数の実践的な使い方・応用例</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、実務で役立つ活用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: VLOOKUP結果のエラーを無視して集計</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>で別テーブルから値を取得すると、一致しないデータは <code>#N/A</code> エラーになります。このエラーが混在する列の集計はAGGREGATE関数の得意分野です。</p>



<p class="wp-block-paragraph">たとえば、受注一覧のB列にVLOOKUP関数で単価を取得しているとします。</p>



<pre class="wp-block-code"><code>B2: =VLOOKUP(A2, 単価表!A:B, 2, FALSE)  → 1,000
B3: =VLOOKUP(A3, 単価表!A:B, 2, FALSE)  → #N/A
B4: =VLOOKUP(A4, 単価表!A:B, 2, FALSE)  → 2,500
B5: =VLOOKUP(A5, 単価表!A:B, 2, FALSE)  → 1,800</code></pre>



<p class="wp-block-paragraph">AGGREGATE関数で合計すれば、エラー行を除外して計算できます。</p>



<pre class="wp-block-code"><code>=AGGREGATE(9, 6, B2:B5)   → 5,300</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>でエラーを0に変換する方法もあります。ただ、データ量が多いと補助列の手間がかかりますよね。AGGREGATE関数なら元データを変更せずに集計できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: フィルター連動 + エラー除外の合わせ技</span></h3>



<p class="wp-block-paragraph">フィルター付きの表にエラーが混在しているケースです。オプション <code>7</code> を使えば、非表示行とエラー値の両方を除外できます。</p>



<pre class="wp-block-code"><code>=AGGREGATE(9, 7, C2:C100)    → 非表示行もエラーも除外して合計
=AGGREGATE(1, 7, C2:C100)    → 非表示行もエラーも除外して平均
=AGGREGATE(2, 7, C2:C100)    → 非表示行もエラーも除外して件数</code></pre>



<p class="wp-block-paragraph">フィルターを切り替えるたびに値が更新されます。エラー処理の数式を追加する必要がないので、シートがすっきりしますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: エラーを除外してN番目に大きい値を取得</span></h3>



<p class="wp-block-paragraph">AGGREGATE関数ならではの使い方です。LARGE関数やSMALL関数はエラーが混在すると動きません。集計方法14（LARGE）や15（SMALL）を使えば解決します。</p>



<pre class="wp-block-code"><code>=AGGREGATE(14, 6, B2:B100, 1)   → エラーを除外して最大値
=AGGREGATE(14, 6, B2:B100, 2)   → エラーを除外して2番目に大きい値
=AGGREGATE(14, 6, B2:B100, 3)   → エラーを除外して3番目に大きい値
=AGGREGATE(15, 6, B2:B100, 1)   → エラーを除外して最小値</code></pre>



<p class="wp-block-paragraph">第4引数の「k」で何番目の値を取得するか指定します。売上ランキングや成績順位の算出に使えます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: 小計行がある表での安全な総合計</span></h3>



<p class="wp-block-paragraph">小計行にSUBTOTAL関数やAGGREGATE関数を使っている表で、総合計を求めるケースです。</p>



<pre class="wp-block-code"><code>| A列   | B列    |
|-------|--------|
| 営業部 | 100    |
| 営業部 | 200    |
| 小計   | =SUBTOTAL(9, B2:B3)  → 300 |
| 総務部 | 150    |
| 小計   | =SUBTOTAL(9, B5:B5)  → 150 |
| 総合計 | =AGGREGATE(9, 0, B2:B6) → 450 |</code></pre>



<p class="wp-block-paragraph">オプション <code>0</code> を指定すると、ネストされたSUBTOTAL関数やAGGREGATE関数を無視します。小計を二重カウントせずに正しい総合計が出せますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">SUBTOTAL関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">AGGREGATE関数と<a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数</a>はどちらも「条件付き集計」ができる関数です。違いを比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SUBTOTAL</th><th>AGGREGATE</th></tr></thead><tbody><tr><td>集計方法の数</td><td>11種類</td><td><strong>19種類</strong>（MEDIAN・LARGE・SMALLなど追加）</td></tr><tr><td>エラー値の除外</td><td><strong>できない</strong></td><td><strong>できる</strong>（オプション6）</td></tr><tr><td>非表示行の除外</td><td>できる</td><td>できる</td></tr><tr><td>ネスト関数の無視</td><td>できる</td><td>できる</td></tr><tr><td>対応バージョン</td><td>Excel 2003〜</td><td><strong>Excel 2010〜</strong></td></tr><tr><td>構文のシンプルさ</td><td><strong>シンプル</strong></td><td>やや複雑（オプション引数あり）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けの判断基準は明確です。</p>



<ul class="wp-block-list"><li><strong>エラーが混じらないデータの集計</strong> → <a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数</a>がシンプルでおすすめ</li><li><strong>エラーが混じる可能性があるデータの集計</strong> → AGGREGATE関数（オプション6 or 7）</li><li><strong>LARGE・SMALL・MEDIANをエラー除外で使いたい</strong> → AGGREGATE関数一択</li><li><strong>Excel 2007以前の環境で使う可能性がある</strong> → SUBTOTAL関数</li></ul>



<p class="wp-block-paragraph">迷ったら「<strong>エラーがあればAGGREGATE、なければSUBTOTAL</strong>」と覚えるのが一番シンプルですよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-groupby/">GROUPBY関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-pivotby/">PIVOTBY関数</a>と組み合わせれば、グループ集計でもエラー除外が可能です。Microsoft 365の方はあわせてチェックしてみてください。</p>



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



<p class="wp-block-paragraph">AGGREGATE関数で困ったときの原因と対策をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー/症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>集計方法番号が範囲外（0や20以上）</td><td>1〜19の範囲で指定する</td></tr><tr><td>#VALUE!</td><td>オプション番号が範囲外（8以上）</td><td>0〜7の範囲で指定する</td></tr><tr><td>結果が0</td><td>範囲に数値がない（文字列型の数値）</td><td>VALUE関数やデータクリーンアップで数値に変換する</td></tr><tr><td>#NUM!</td><td>LARGE・SMALLでk値がデータ数を超えている</td><td>k値をデータ数以下に設定する</td></tr><tr><td>非表示行が除外されない</td><td>オプションが0または4になっている</td><td>オプション1・3・5・7のいずれかを使う</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">集計方法番号・オプション番号の入力ミス</span></h3>



<p class="wp-block-paragraph">最も多いミスが番号の入力間違いです。</p>



<pre class="wp-block-code"><code>=AGGREGATE(0, 6, B2:B10)    → #VALUE!（集計方法は1〜19）
=AGGREGATE(9, 8, B2:B10)    → #VALUE!（オプションは0〜7）</code></pre>



<p class="wp-block-paragraph">AGGREGATE関数は引数が多い分、番号の指定ミスが起きやすくなります。入力時にExcelが表示するヒントを活用しましょう。</p>



<h3 class="wp-block-heading"><span id="toc18">LARGE・SMALLのk値エラー</span></h3>



<p class="wp-block-paragraph">集計方法14（LARGE）や15（SMALL）を使うとき、第4引数のk値に注意が必要です。</p>



<pre class="wp-block-code"><code>=AGGREGATE(14, 6, B2:B5, 10)   → #NUM!（データが4件しかない）</code></pre>



<p class="wp-block-paragraph">k値がデータの件数を超えると <code>#NUM!</code> エラーになります。エラー除外後の有効データ数を確認してからk値を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc19">配列引数での制限</span></h3>



<p class="wp-block-paragraph">AGGREGATE関数には1つ注意点があります。参照1に計算式を含む配列を渡す場合、非表示行の除外が効かないことがあります。</p>



<pre class="wp-block-code"><code>=AGGREGATE(9, 5, A2:A10*B2:B10)   → 非表示行が除外されない場合がある</code></pre>



<p class="wp-block-paragraph">この制限はMicrosoft公式ドキュメントにも記載されています。配列計算と非表示行除外を同時に使いたい場合は、補助列を活用するのが確実ですよ。</p>



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



<p class="wp-block-paragraph">ExcelのAGGREGATE関数のポイントをおさらいしましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>読み方</td><td>アグリゲート関数</td></tr><tr><td>役割</td><td>エラー値・非表示行を除外した集計（19種類対応）</td></tr><tr><td>構文</td><td><code>=AGGREGATE(集計方法, オプション, 参照1, [参照2])</code></td></tr><tr><td>よく使う組み合わせ</td><td><code>=AGGREGATE(9, 6, 範囲)</code> （エラー除外して合計）</td></tr><tr><td>SUBTOTALとの違い</td><td>エラー除外の可否、集計方法の種類数</td></tr><tr><td>対応バージョン</td><td>Excel 2010以降</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">まずは <code>=AGGREGATE(9, 6, 範囲)</code> でエラーを除外した合計から試してみてください。エラーが混在するデータでもスムーズに集計できるのを実感できますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-subtotal/">ExcelのSUBTOTAL関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sum/">ExcelのSUM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-average/">ExcelのAVERAGE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-max/">ExcelのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-min/">ExcelのMIN関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-count/">ExcelのCOUNT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-counta/">ExcelのCOUNTA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-median/">ExcelのMEDIAN関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-groupby/">ExcelのGROUPBY関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-pivotby/">ExcelのPIVOTBY関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-aggregate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDSUM関数の使い方｜条件に合う合計</title>
		<link>https://mashukabu.com/spreadsheet-dsum-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dsum-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:11:30 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DSUM]]></category>
		<category><![CDATA[SUMIFS]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[条件付き合計]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4950</guid>

					<description><![CDATA[GoogleスプレッドシートのDSUM関数の使い方を初心者向けに解説。条件範囲の設定方法、複数条件・OR条件での合計、SUMIFS関数との使い分け、よくあるエラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「部署が&#8221;営業部&#8221;の売上だけ合計したい」「商品カテゴリごとに金額を集計したい」。こんな場面、手作業でフィルタをかけて電卓をたたいていませんか。</p>



<p class="wp-block-paragraph">条件が変わるたびにフィルタをかけ直すのは面倒ですよね。しかもフィルタ操作は元のデータ表示を変えてしまうので、共有シートだと他の人の作業にも影響します。</p>



<p class="wp-block-paragraph">そんなときに便利なのがDSUM関数です。条件を別のセル範囲に書いておくだけで、該当するデータの合計を自動で出してくれます。この記事では、DSUM関数の基本から複数条件・OR条件の応用、SUMIFS関数との使い分けまでまとめて紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDSUM関数とは？</a></li><li><a href="#toc2" tabindex="0">DSUM関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">データベース（第1引数）</a></li><li><a href="#toc6" tabindex="0">フィールド（第2引数）</a></li><li><a href="#toc7" tabindex="0">条件（第3引数）</a></li></ol></li><li><a href="#toc8" tabindex="0">DSUM関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">サンプルデータ</a></li><li><a href="#toc10" tabindex="0">条件範囲の設定方法</a></li><li><a href="#toc11" tabindex="0">比較演算子を使った条件</a></li></ol></li><li><a href="#toc12" tabindex="0">DSUM関数の実践的な使い方・応用例</a><ol><li><a href="#toc13" tabindex="0">複数条件（AND条件）で合計する</a></li><li><a href="#toc14" tabindex="0">OR条件で合計する</a></li><li><a href="#toc15" tabindex="0">AND条件とOR条件を組み合わせる</a></li><li><a href="#toc16" tabindex="0">条件範囲を切り替えて集計を素早く変える</a></li></ol></li><li><a href="#toc17" tabindex="0">DSUM関数とSUMIFS関数の使い分け</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">Excelとの違い</a></li><li><a href="#toc20" tabindex="0">まとめ</a><ol><li><a href="#toc21" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDSUM関数とは？</span></h2>



<p class="wp-block-paragraph">DSUM関数（読み方: ディー サム）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の合計を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「Database SUM（データベースの合計）」の略です。DAVERAGE（条件付き平均）やDCOUNT（条件付き個数）と同じ「データベース関数」の仲間になります。</p>



<p class="wp-block-paragraph">DSUM関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>条件をセル範囲（条件範囲）で指定するスタイル</li><li>条件範囲を書き換えるだけで集計条件をすぐ切り替えられる</li><li>複数条件（AND条件・OR条件）にも対応</li><li>見出し付きのリスト形式のデータが前提</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DSUM関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同じ関数があるので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=DSUM(データベース, フィールド, 条件)</code></pre>



<p class="wp-block-paragraph">引数は3つです。すべて必須で、省略はできません。</p>



<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>見出し行を含むデータ範囲（例: A1:D100）</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">それぞれ詳しく見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">データベース（第1引数）</span></h3>



<p class="wp-block-paragraph">データベースには、<strong>見出し行を含めたデータ範囲</strong>を指定します。必ず先頭行に列の見出し（「部署」「商品名」「金額」など）が入っている必要があります。</p>



<h3 class="wp-block-heading"><span id="toc6">フィールド（第2引数）</span></h3>



<p class="wp-block-paragraph">合計したい列を指定します。指定方法は2つあります。</p>



<ul class="wp-block-list"><li><strong>文字列で指定</strong>: <code>"金額"</code> のように、見出しと同じ文字列をダブルクォーテーションで囲む</li><li><strong>数値で指定</strong>: データベースの左端列を1として、列の位置を数値で指定する（3列目なら <code>3</code>）</li></ul>



<p class="wp-block-paragraph">文字列で指定するほうが、あとから見たとき何の列かわかりやすいのでおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc7">条件（第3引数）</span></h3>



<p class="wp-block-paragraph">条件範囲には、<strong>見出し行と条件行の2行以上のセル範囲</strong>を指定します。これがDSUM関数の最大の特徴です。</p>



<p class="wp-block-paragraph">条件範囲の作り方は次のセクションで詳しく説明しますね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>フィールドに列番号を使う場合、データベース範囲の左端が1です。シートのA列が1とは限らないので注意してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">サンプルデータ</span></h3>



<p class="wp-block-paragraph">次のような売上データを使って説明します。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td><td>商品</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>田中</td><td>ノートPC</td><td>150000</td></tr><tr><td>3</td><td>総務部</td><td>鈴木</td><td>プリンター</td><td>35000</td></tr><tr><td>4</td><td>営業部</td><td>佐藤</td><td>モニター</td><td>48000</td></tr><tr><td>5</td><td>経理部</td><td>高橋</td><td>ノートPC</td><td>150000</td></tr><tr><td>6</td><td>営業部</td><td>田中</td><td>キーボード</td><td>8000</td></tr><tr><td>7</td><td>総務部</td><td>伊藤</td><td>モニター</td><td>48000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">条件範囲の設定方法</span></h3>



<p class="wp-block-paragraph">DSUM関数の条件は、<strong>別のセル範囲</strong>に書きます。ここがSUMIFS関数との大きな違いです。</p>



<p class="wp-block-paragraph">条件範囲は次のルールで作ります。</p>



<ol class="wp-block-list"><li><strong>1行目に見出しを書く</strong> &#8212; データベースの見出しと完全に同じ文字列を使う</li><li><strong>2行目に条件値を書く</strong> &#8212; 一致させたい値を入力する</li></ol>



<p class="wp-block-paragraph">たとえば「営業部」の金額合計を出したい場合、シートの空いているエリア（たとえばF1:F2）に次のように書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はこうなります。</p>



<pre class="wp-block-code"><code>=DSUM(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>206000</strong> です。営業部の3件（150000 + 48000 + 8000）が合計されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件範囲の見出しは、データベースの見出しと1文字でも違うとエラーになります。コピー&#038;ペーストで作ると確実ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">比較演算子を使った条件</span></h3>



<p class="wp-block-paragraph">条件値には比較演算子も使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件値の書き方</th><th>意味</th></tr></thead><tbody><tr><td><code>営業部</code></td><td>「営業部」と完全一致</td></tr><tr><td><code>>=50000</code></td><td>50,000以上</td></tr><tr><td><code><100000</code></td><td>100,000未満</td></tr><tr><td><code><>営業部</code></td><td>「営業部」以外</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「金額が50,000以上」のレコードだけ合計したい場合は、条件範囲をこう書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>金額</td></tr><tr><td>2</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DSUM(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>348000</strong> です（150000 + 48000 + 150000 の3件）。</p>



<h2 class="wp-block-heading"><span id="toc12">DSUM関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc13">複数条件（AND条件）で合計する</span></h3>



<p class="wp-block-paragraph">「営業部」かつ「金額が50,000以上」のように、複数の条件をすべて満たすレコードだけ合計したい場合です。</p>



<p class="wp-block-paragraph">AND条件は、<strong>条件範囲の同じ行に複数の見出し・条件値を横に並べて</strong>書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DSUM(A1:D7, &quot;金額&quot;, F1:G2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>198000</strong> です。営業部で金額50,000以上は、田中のノートPC（150000）と佐藤のモニター（48000）の2件です。</p>



<h3 class="wp-block-heading"><span id="toc14">OR条件で合計する</span></h3>



<p class="wp-block-paragraph">「営業部」または「経理部」のように、どちらかの条件に合うレコードを合計したい場合です。</p>



<p class="wp-block-paragraph">OR条件は、<strong>条件値を別の行に書く</strong>のがポイントです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr><tr><td>3</td><td>経理部</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DSUM(A1:D7, &quot;金額&quot;, F1:F3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>356000</strong> です。営業部3件（206000）+ 経理部1件（150000）の合計になります。</p>



<p class="wp-block-paragraph">同じ行に書くとAND条件、別の行に書くとOR条件。このルールを覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">AND条件とOR条件を組み合わせる</span></h3>



<p class="wp-block-paragraph">「営業部で金額50,000以上」または「総務部で金額50,000以上」を合計する場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>>=50000</td></tr><tr><td>3</td><td>総務部</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DSUM(A1:D7, &quot;金額&quot;, F1:G3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>246000</strong> です。営業部50,000以上（150000 + 48000）と総務部50,000以上（48000）の合計です。</p>



<h3 class="wp-block-heading"><span id="toc16">条件範囲を切り替えて集計を素早く変える</span></h3>



<p class="wp-block-paragraph">DSUM関数の最大の強みは、条件をセルに書いているため、セルの値を書き換えるだけで集計結果が即座に変わる点です。</p>



<p class="wp-block-paragraph">たとえば条件範囲のF2セルを「営業部」から「総務部」に書き換えるだけで、DSUM関数の結果が自動的に総務部の合計に切り替わります。数式を修正する必要はありません。</p>



<p class="wp-block-paragraph">ドロップダウンリスト（データの入力規則）と組み合わせると、選択するだけで部署別の集計をサッと確認できる簡易ダッシュボードが作れますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">DSUM関数とSUMIFS関数の使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートで条件付き合計をするなら、<a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a>も使えます。どちらを選ぶか迷う方が多いので、違いを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DSUM関数</th><th>SUMIFS関数</th></tr></thead><tbody><tr><td>条件の指定方法</td><td>セル範囲（条件範囲）</td><td>数式の引数に直接書く</td></tr><tr><td>OR条件</td><td>条件範囲の行を追加するだけ</td><td>SUMIFS同士を足し算、またはSUMPRODUCTで対応</td></tr><tr><td>条件の切り替えやすさ</td><td>セルを書き換えるだけ</td><td>数式を編集する必要あり</td></tr><tr><td>数式の見やすさ</td><td>シンプル（引数3つ固定）</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"><strong>使い分けのポイント</strong>:</p>



<ul class="wp-block-list"><li><strong>条件が固定で変わらない</strong> → SUMIFS関数がシンプルでおすすめ</li><li><strong>条件を頻繁に切り替えたい</strong> → DSUM関数が便利（セルを変えるだけで結果が変わる）</li><li><strong>OR条件が複雑</strong> → DSUM関数のほうが直感的に書ける</li><li><strong>条件範囲のスペースを取りたくない</strong> → SUMIFS関数で数式内に完結させる</li></ul>



<p class="wp-block-paragraph">実務では、定型レポートの集計にDSUM関数、単発の集計にSUMIFS関数と使い分けるとスムーズです。</p>



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



<p class="wp-block-paragraph">DSUM関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>結果が0になる</td><td>条件範囲の見出しがデータベースの見出しと一致していない</td><td>見出しをコピー&ペーストして完全一致させる</td></tr><tr><td>結果が0になる</td><td>条件値の前後に余分なスペースが入っている</td><td>TRIM関数でスペースを除去するか、手入力し直す</td></tr><tr><td>#VALUE! エラー</td><td>フィールドに存在しない列名を指定している</td><td>データベースの見出しと同じ文字列を使う</td></tr><tr><td>想定より大きい値が返る</td><td>条件範囲に空白行が含まれている</td><td>条件範囲を必要な行だけに絞る（空白行は「すべて一致」と解釈される）</td></tr><tr><td>想定と違う列が合計される</td><td>フィールドの列番号を間違えている</td><td>列番号ではなく見出し名（文字列）で指定するのがおすすめ</td></tr><tr><td>条件が部分一致になる</td><td>条件値に <code>*</code>（アスタリスク）が含まれている</td><td>完全一致にしたい場合は <code>="=営業部"</code> のように先頭に <code>=</code> を付ける</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>結果が0になるトラブルで最も多いのは「見出しの不一致」です。全角・半角やスペースの違いも不一致になるので、条件範囲の見出しはデータベースからコピー&ペーストで作りましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc19">Excelとの違い</span></h2>



<p class="wp-block-paragraph">DSUM関数はExcelとGoogleスプレッドシートで基本的に同じ動作です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td>=DSUM(database, field, criteria)</td><td>=DSUM(データベース, フィールド, 条件)</td></tr><tr><td>動作</td><td>条件に合う列の合計</td><td>条件に合う列の合計</td></tr><tr><td>条件範囲の仕様</td><td>見出し行+条件行</td><td>見出し行+条件行</td></tr><tr><td>ワイルドカード</td><td><code>*</code> <code>?</code> が使える</td><td><code>*</code> <code>?</code> が使える</td></tr><tr><td>OR条件の書き方</td><td>条件値を別の行に記述</td><td>条件値を別の行に記述</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数名の表記は日本語と英語で異なりますが、機能は同じです。Excelでの使い方は<a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数の一覧</a>からも確認できます。</p>



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



<p class="wp-block-paragraph">DSUM関数は、データベース形式の表から条件に合うデータの合計を求める関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DSUM(データベース, フィールド, 条件)</code> で、引数は3つ</li><li>条件は数式内ではなくセル範囲（条件範囲）に書くのが特徴</li><li>条件範囲は「見出し行+条件行」のセットで作る</li><li>同じ行に条件を横並びにすればAND条件、別の行にすればOR条件</li><li>条件セルの値を変えるだけで集計対象を切り替えられる</li><li>条件固定ならSUMIFS関数、条件を頻繁に変えるならDSUM関数がおすすめ</li><li>結果が0になるときは見出しの不一致をまずチェック</li></ul>



<p class="wp-block-paragraph">まずは簡単な表で <code>=DSUM(A1:D7, "金額", F1:F2)</code> から試してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-sumifs-function/">スプレッドシートのSUMIFS関数の使い方｜複数条件付き合計</a></li><li><a href="https://mashukabu.com/spreadsheet-sumif-function/">スプレッドシートのSUMIF関数の使い方｜条件付き合計</a></li><li><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">スプレッドシートのSUMPRODUCT関数の使い方｜配列の積の合計</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数で条件に一致するレコードの平均値を求める</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数で列内の条件を満たす数値データの個数を求める</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-dget/">DGET関数で条件に一致するレコードを1つ抽出する</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dsum-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDAVERAGE関数の使い方｜条件に合う平均</title>
		<link>https://mashukabu.com/spreadsheet-daverage-function/</link>
					<comments>https://mashukabu.com/spreadsheet-daverage-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:11:26 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[AVERAGEIFS]]></category>
		<category><![CDATA[DAVERAGE]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[条件付き平均]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4948</guid>

					<description><![CDATA[GoogleスプレッドシートのDAVERAGE関数の使い方を初心者向けに解説。条件範囲の設定方法、複数条件・OR条件での平均算出、AVERAGEIFS関数との使い分け、よくあるエラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「営業部の平均売上だけ出したい」「商品カテゴリごとの平均単価を比較したい」。こんな場面、フィルタをかけてから手動で平均を計算していませんか。</p>



<p class="wp-block-paragraph">条件が変わるたびにフィルタをかけ直すのは面倒ですよね。しかも共有シートだと他の人の表示まで変わってしまいます。</p>



<p class="wp-block-paragraph">そんなときに便利なのがDAVERAGE関数です。条件を別のセル範囲に書いておくだけで、該当するデータの平均を自動で出してくれます。この記事では、DAVERAGE関数の基本から複数条件・OR条件の応用、AVERAGEIFS関数との使い分けまでまとめて紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDAVERAGE関数とは？</a></li><li><a href="#toc2" tabindex="0">DAVERAGE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">データベース（第1引数）</a></li><li><a href="#toc6" tabindex="0">フィールド（第2引数）</a></li><li><a href="#toc7" tabindex="0">条件（第3引数）</a></li></ol></li><li><a href="#toc8" tabindex="0">DAVERAGE関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">サンプルデータ</a></li><li><a href="#toc10" tabindex="0">条件範囲の設定方法</a></li><li><a href="#toc11" tabindex="0">比較演算子を使った条件</a></li></ol></li><li><a href="#toc12" tabindex="0">DAVERAGE関数の実践的な使い方・応用例</a><ol><li><a href="#toc13" tabindex="0">複数条件（AND条件）で平均を求める</a></li><li><a href="#toc14" tabindex="0">OR条件で平均を求める</a></li><li><a href="#toc15" tabindex="0">AND条件とOR条件を組み合わせる</a></li><li><a href="#toc16" tabindex="0">条件範囲を切り替えて集計を素早く変える</a></li></ol></li><li><a href="#toc17" tabindex="0">DAVERAGE関数とAVERAGEIFS関数の使い分け</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">Excelとの違い</a></li><li><a href="#toc20" tabindex="0">まとめ</a><ol><li><a href="#toc21" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDAVERAGE関数とは？</span></h2>



<p class="wp-block-paragraph">DAVERAGE関数（読み方: ディー アベレージ）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の平均を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「Database AVERAGE（データベースの平均）」の略です。<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>（条件付き合計）やDCOUNT（条件付き個数）と同じ「データベース関数」の仲間になります。</p>



<p class="wp-block-paragraph">DAVERAGE関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>条件をセル範囲（条件範囲）で指定するスタイル</li><li>条件範囲を書き換えるだけで集計条件をすぐ切り替えられる</li><li>複数条件（AND条件・OR条件）にも対応</li><li>見出し付きのリスト形式のデータが前提</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DAVERAGE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同じ関数があるので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=DAVERAGE(データベース, フィールド, 条件)</code></pre>



<p class="wp-block-paragraph">引数は3つです。すべて必須で、省略はできません。</p>



<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>見出し行を含むデータ範囲（例: A1:D100）</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">それぞれ詳しく見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">データベース（第1引数）</span></h3>



<p class="wp-block-paragraph">データベースには、<strong>見出し行を含めたデータ範囲</strong>を指定します。先頭行に列の見出し（「部署」「商品名」「金額」など）が入っている必要があります。</p>



<h3 class="wp-block-heading"><span id="toc6">フィールド（第2引数）</span></h3>



<p class="wp-block-paragraph">平均を求めたい列を指定します。指定方法は2つあります。</p>



<ul class="wp-block-list"><li><strong>文字列で指定</strong>: <code>"金額"</code> のように、見出しと同じ文字列をダブルクォーテーションで囲む</li><li><strong>数値で指定</strong>: データベースの左端列を1として、列の位置を数値で指定する（3列目なら <code>3</code>）</li></ul>



<p class="wp-block-paragraph">文字列で指定するほうが、あとから見たとき何の列かわかりやすいのでおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc7">条件（第3引数）</span></h3>



<p class="wp-block-paragraph">条件範囲には、<strong>見出し行と条件行の2行以上のセル範囲</strong>を指定します。これがDAVERAGE関数の最大の特徴です。</p>



<p class="wp-block-paragraph">条件範囲の作り方は次のセクションで詳しく説明しますね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>フィールドに列番号を使う場合、データベース範囲の左端が1です。シートのA列が1とは限らないので注意してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">サンプルデータ</span></h3>



<p class="wp-block-paragraph">次のような売上データを使って説明します。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td><td>商品</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>田中</td><td>ノートPC</td><td>150000</td></tr><tr><td>3</td><td>総務部</td><td>鈴木</td><td>プリンター</td><td>35000</td></tr><tr><td>4</td><td>営業部</td><td>佐藤</td><td>モニター</td><td>48000</td></tr><tr><td>5</td><td>経理部</td><td>高橋</td><td>ノートPC</td><td>150000</td></tr><tr><td>6</td><td>営業部</td><td>田中</td><td>キーボード</td><td>8000</td></tr><tr><td>7</td><td>総務部</td><td>伊藤</td><td>モニター</td><td>48000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">条件範囲の設定方法</span></h3>



<p class="wp-block-paragraph">DAVERAGE関数の条件は、<strong>別のセル範囲</strong>に書きます。ここが<a href="https://mashukabu.com/spreadsheet-averageifs-function/">AVERAGEIFS関数</a>との大きな違いです。</p>



<p class="wp-block-paragraph">条件範囲は次のルールで作ります。</p>



<ol class="wp-block-list"><li><strong>1行目に見出しを書く</strong> &#8212; データベースの見出しと完全に同じ文字列を使う</li><li><strong>2行目に条件値を書く</strong> &#8212; 一致させたい値を入力する</li></ol>



<p class="wp-block-paragraph">たとえば「営業部」の金額の平均を出したい場合、シートの空いているエリア（たとえばF1:F2）に次のように書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はこうなります。</p>



<pre class="wp-block-code"><code>=DAVERAGE(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>68667</strong>（小数点以下切り捨て表示）です。営業部の3件（150000 + 48000 + 8000 = 206000）を3で割った平均になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件範囲の見出しは、データベースの見出しと1文字でも違うと正しく動きません。コピー&#038;ペーストで作ると確実ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">比較演算子を使った条件</span></h3>



<p class="wp-block-paragraph">条件値には比較演算子も使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件値の書き方</th><th>意味</th></tr></thead><tbody><tr><td><code>営業部</code></td><td>「営業部」と完全一致</td></tr><tr><td><code>>=50000</code></td><td>50,000以上</td></tr><tr><td><code><100000</code></td><td>100,000未満</td></tr><tr><td><code><>営業部</code></td><td>「営業部」以外</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「金額が50,000以上」のレコードだけで平均を出したい場合は、条件範囲をこう書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>金額</td></tr><tr><td>2</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DAVERAGE(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>99000</strong> です。50,000以上の4件（150000 + 48000 + 150000 + 48000 = 396000）を4で割った平均になります。</p>



<h2 class="wp-block-heading"><span id="toc12">DAVERAGE関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc13">複数条件（AND条件）で平均を求める</span></h3>



<p class="wp-block-paragraph">「営業部」かつ「金額が50,000以上」のように、複数の条件をすべて満たすレコードだけで平均を出したい場合です。</p>



<p class="wp-block-paragraph">AND条件は、<strong>条件範囲の同じ行に複数の見出し・条件値を横に並べて</strong>書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DAVERAGE(A1:D7, &quot;金額&quot;, F1:G2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>99000</strong> です。営業部で金額50,000以上は、田中のノートPC（150000）と佐藤のモニター（48000）の2件。合計198000を2で割った平均です。</p>



<h3 class="wp-block-heading"><span id="toc14">OR条件で平均を求める</span></h3>



<p class="wp-block-paragraph">「営業部」または「経理部」のように、どちらかの条件に合うレコードで平均を出したい場合です。</p>



<p class="wp-block-paragraph">OR条件は、<strong>条件値を別の行に書く</strong>のがポイントです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr><tr><td>3</td><td>経理部</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DAVERAGE(A1:D7, &quot;金額&quot;, F1:F3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>89000</strong> です。営業部3件と経理部1件の合計4件（150000 + 48000 + 8000 + 150000 = 356000）を4で割った平均になります。</p>



<p class="wp-block-paragraph">同じ行に書くとAND条件、別の行に書くとOR条件。このルールを覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">AND条件とOR条件を組み合わせる</span></h3>



<p class="wp-block-paragraph">「営業部で金額50,000以上」または「総務部で金額50,000以上」の平均を求める場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>>=50000</td></tr><tr><td>3</td><td>総務部</td><td>>=50000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DAVERAGE(A1:D7, &quot;金額&quot;, F1:G3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>82000</strong> です。営業部50,000以上（150000 + 48000）と総務部50,000以上（48000）の合計3件（246000）を3で割った平均です。</p>



<h3 class="wp-block-heading"><span id="toc16">条件範囲を切り替えて集計を素早く変える</span></h3>



<p class="wp-block-paragraph">DAVERAGE関数の最大の強みは、条件をセルに書いているため、セルの値を書き換えるだけで集計結果が即座に変わる点です。</p>



<p class="wp-block-paragraph">たとえば条件範囲のF2セルを「営業部」から「総務部」に書き換えるだけで、結果が自動的に総務部の平均に切り替わります。数式を修正する必要はありません。</p>



<p class="wp-block-paragraph">ドロップダウンリスト（データの入力規則）と組み合わせると、選択するだけで部署別の平均をサッと確認できる簡易ダッシュボードが作れますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">DAVERAGE関数とAVERAGEIFS関数の使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートで条件付き平均を求めるなら、<a href="https://mashukabu.com/spreadsheet-averageifs-function/">AVERAGEIFS関数</a>も使えます。どちらを選ぶか迷う方が多いので、違いを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DAVERAGE関数</th><th>AVERAGEIFS関数</th></tr></thead><tbody><tr><td>条件の指定方法</td><td>セル範囲（条件範囲）</td><td>数式の引数に直接書く</td></tr><tr><td>OR条件</td><td>条件範囲の行を追加するだけ</td><td>AVERAGEIFS同士の工夫が必要</td></tr><tr><td>条件の切り替えやすさ</td><td>セルを書き換えるだけ</td><td>数式を編集する必要あり</td></tr><tr><td>数式の見やすさ</td><td>シンプル（引数3つ固定）</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"><strong>使い分けのポイント</strong>:</p>



<ul class="wp-block-list"><li><strong>条件が固定で変わらない</strong> → AVERAGEIFS関数がシンプルでおすすめ</li><li><strong>条件を頻繁に切り替えたい</strong> → DAVERAGE関数が便利（セルを変えるだけで結果が変わる）</li><li><strong>OR条件が複雑</strong> → DAVERAGE関数のほうが直感的に書ける</li><li><strong>条件範囲のスペースを取りたくない</strong> → AVERAGEIFS関数で数式内に完結させる</li></ul>



<p class="wp-block-paragraph">実務では、定型レポートの集計にDAVERAGE関数、単発の集計にAVERAGEIFS関数と使い分けるとスムーズです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件付きの合計を求めたい場合は、同じデータベース関数の仲間である<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM関数</a>が使えます。構文も条件範囲の作り方もDAVERAGEと同じなので、セットで覚えると効率的ですよ。</p></blockquote>



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



<p class="wp-block-paragraph">DAVERAGE関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>結果が0になる</td><td>条件範囲の見出しがデータベースの見出しと一致していない</td><td>見出しをコピー&ペーストして完全一致させる</td></tr><tr><td>結果が0になる</td><td>条件値の前後に余分なスペースが入っている</td><td>TRIM関数でスペースを除去するか、手入力し直す</td></tr><tr><td>#VALUE! エラー</td><td>フィールドに存在しない列名を指定している</td><td>データベースの見出しと同じ文字列を使う</td></tr><tr><td>#DIV/0! エラー</td><td>条件に合うレコードが1件もない</td><td>条件値を見直す。ISERRORで囲めばエラー表示を回避できる</td></tr><tr><td>想定より大きい/小さい値が返る</td><td>条件範囲に空白行が含まれている</td><td>条件範囲を必要な行だけに絞る（空白行は「すべて一致」と解釈される）</td></tr><tr><td>想定と違う列の平均が出る</td><td>フィールドの列番号を間違えている</td><td>列番号ではなく見出し名（文字列）で指定するのがおすすめ</td></tr><tr><td>条件が部分一致になる</td><td>条件値に <code>*</code>（アスタリスク）が含まれている</td><td>完全一致にしたい場合は <code>="=営業部"</code> のように先頭に <code>=</code> を付ける</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>結果がおかしいときにまず確認すべきは「見出しの不一致」です。全角・半角やスペースの違いも不一致になります。条件範囲の見出しはデータベースからコピー&ペーストで作りましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc19">Excelとの違い</span></h2>



<p class="wp-block-paragraph">DAVERAGE関数はExcelとGoogleスプレッドシートで基本的に同じ動作です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td>=DAVERAGE(database, field, criteria)</td><td>=DAVERAGE(データベース, フィールド, 条件)</td></tr><tr><td>動作</td><td>条件に合う列の平均</td><td>条件に合う列の平均</td></tr><tr><td>条件範囲の仕様</td><td>見出し行+条件行</td><td>見出し行+条件行</td></tr><tr><td>ワイルドカード</td><td><code>*</code> <code>?</code> が使える</td><td><code>*</code> <code>?</code> が使える</td></tr><tr><td>OR条件の書き方</td><td>条件値を別の行に記述</td><td>条件値を別の行に記述</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数名の表記は日本語と英語で異なりますが、機能は同じです。Excelでの使い方は<a href="https://mashukabu.com/excel-function-howto-use-daverage/">ExcelのDAVERAGE関数の記事</a>で詳しく解説しています。</p>



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



<p class="wp-block-paragraph">DAVERAGE関数は、データベース形式の表から条件に合うデータの平均を求める関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DAVERAGE(データベース, フィールド, 条件)</code> で、引数は3つ</li><li>条件は数式内ではなくセル範囲（条件範囲）に書くのが特徴</li><li>条件範囲は「見出し行+条件行」のセットで作る</li><li>同じ行に条件を横並びにすればAND条件、別の行にすればOR条件</li><li>条件セルの値を変えるだけで集計対象を切り替えられる</li><li>条件固定ならAVERAGEIFS関数、条件を頻繁に変えるならDAVERAGE関数がおすすめ</li><li>結果が0になるときは見出しの不一致をまずチェック</li><li><a href="https://mashukabu.com/excel-function-howto-use-daverage/">ExcelのDAVERAGE関数</a>と同じ動作で、互換性も安心</li></ul>



<p class="wp-block-paragraph">まずは簡単な表で <code>=DAVERAGE(A1:D7, "金額", F1:F2)</code> から試してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-dsum-function/">スプレッドシートのDSUM関数の使い方｜条件に合う合計</a></li><li><a href="https://mashukabu.com/spreadsheet-averageifs-function/">スプレッドシートのAVERAGEIFS関数の使い方｜複数条件付き平均</a></li><li><a href="https://mashukabu.com/spreadsheet-averageif-function/">スプレッドシートのAVERAGEIF関数の使い方｜条件付き平均</a></li><li><a href="https://mashukabu.com/spreadsheet-average-function/">スプレッドシートのAVERAGE関数の使い方｜平均値を求める</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数で条件に一致するレコードの平均値を求める</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数で列内の条件を満たす数値データの個数を求める</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-daverage-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSUBTOTAL関数の使い方｜フィルター連動で集計する方法を解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-subtotal/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-subtotal/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 13 Jan 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[AGGREGATE関数]]></category>
		<category><![CDATA[SUBTOTAL関数]]></category>
		<category><![CDATA[SUM関数]]></category>
		<category><![CDATA[フィルター]]></category>
		<category><![CDATA[小計]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2058</guid>

					<description><![CDATA[ExcelのSUBTOTAL関数の使い方を初心者向けに解説。集計方法番号の一覧表、フィルター連動の仕組み、SUM関数との違い、AGGREGATE関数との比較、実務での活用パターンまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「フィルターで絞り込んだのに、合計が全データのまま変わらない&#8230;」そんな経験はありませんか？</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>はフィルターの状態に関係なく全行を合計します。表示中のデータだけを集計したいのに困りますよね。</p>



<p class="wp-block-paragraph">そんなときに使えるのがSUBTOTAL関数です。フィルターで非表示にした行を自動的に除外して集計してくれます。この記事では、集計方法番号の一覧から実務での活用パターンまで紹介します。AGGREGATE関数との違いもまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SUBTOTAL関数とは？</a></li><li><a href="#toc2" tabindex="0">SUBTOTAL関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">集計方法番号の一覧</a></li></ol></li><li><a href="#toc6" tabindex="0">SUBTOTAL関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">フィルターで絞り込んだデータの合計を求める</a></li><li><a href="#toc8" tabindex="0">平均や件数に切り替える</a></li></ol></li><li><a href="#toc9" tabindex="0">SUBTOTAL関数の集計方法番号1-11と101-111の違い</a><ol><li><a href="#toc10" tabindex="0">どちらを使うべき？</a></li></ol></li><li><a href="#toc11" tabindex="0">SUBTOTAL関数の実務活用パターン</a><ol><li><a href="#toc12" tabindex="0">パターン1: フィルター付きダッシュボード</a></li><li><a href="#toc13" tabindex="0">パターン2: 小計行がある表での総合計</a></li><li><a href="#toc14" tabindex="0">パターン3: ステータスバーとの使い分け</a></li></ol></li><li><a href="#toc15" tabindex="0">SUBTOTAL関数とAGGREGATE関数の違い・使い分け</a><ol><li><a href="#toc16" tabindex="0">AGGREGATE関数の構文</a></li><li><a href="#toc17" tabindex="0">どちらを使うべき？</a></li></ol></li><li><a href="#toc18" tabindex="0">SUBTOTAL関数のよくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">集計方法番号の入力ミス</a></li><li><a href="#toc20" tabindex="0">フィルターしても合計値が変わらない</a></li></ol></li><li><a href="#toc21" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc22" tabindex="0">SUM関数との使い分け</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a><ol><li><a href="#toc24" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">SUBTOTAL関数（読み方: サブトータル関数）は、<strong>フィルターで非表示にした行を除外して集計できる関数</strong>です。</p>



<p class="wp-block-paragraph">名前の「SUBTOTAL」は英語で「小計」を意味します。「集計方法番号」を切り替えることで、合計・平均・件数など11種類の集計を使い分けられます。</p>



<p class="wp-block-paragraph">最大のメリットは<strong>フィルターとの連動</strong>です。通常の<a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>はフィルターで行を隠しても全行を合計します。SUBTOTAL関数なら、表示されている行だけを集計してくれますよ。</p>



<p class="wp-block-paragraph">SUBTOTAL関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>フィルターで絞り込んだデータだけを合計・平均・カウントする</li><li>集計方法番号の切り替えで11種類の集計を使い分ける</li><li>範囲内の他のSUBTOTAL関数を無視する（二重集計を防ぐ）</li><li>手動で非表示にした行の扱いも制御できる</li></ul>



<p class="wp-block-paragraph">「フィルター付きの集計表」を作るなら、まず覚えたい関数です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SUBTOTAL関数はExcel 2003以降のすべてのバージョンで使えます。Microsoft 365でももちろん対応しています。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=SUBTOTAL(集計方法, 参照1, [参照2], ...)</code></pre>



<p class="wp-block-paragraph">カッコの中に「何で集計するか」と「どこを集計するか」を指定します。</p>



<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>集計に使用する関数を表す番号（1〜11 または 101〜111）</td></tr><tr><td>参照1</td><td>必須</td><td>集計の対象となるセル範囲</td></tr><tr><td>参照2, &#8230;</td><td>任意</td><td>追加の集計範囲（最大254個まで）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「集計方法」の番号です。この番号で合計・平均・件数などを切り替えます。</p>



<h3 class="wp-block-heading"><span id="toc5">集計方法番号の一覧</span></h3>



<p class="wp-block-paragraph">SUBTOTAL関数の集計方法番号は2つのグループに分かれます。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号（含む）</th><th>番号（除外）</th><th>集計方法</th><th>対応する関数</th></tr></thead><tbody><tr><td>1</td><td>101</td><td>平均</td><td><a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE</a></td></tr><tr><td>2</td><td>102</td><td>数値の個数</td><td><a href="https://mashukabu.com/excel-function-howto-use-count/">COUNT</a></td></tr><tr><td>3</td><td>103</td><td>空白以外の個数</td><td><a href="https://mashukabu.com/excel-function-howto-use-counta/">COUNTA</a></td></tr><tr><td>4</td><td>104</td><td>最大値</td><td><a href="https://mashukabu.com/excel-function-howto-use-max/">MAX</a></td></tr><tr><td>5</td><td>105</td><td>最小値</td><td><a href="https://mashukabu.com/excel-function-howto-use-min/">MIN</a></td></tr><tr><td>6</td><td>106</td><td>積</td><td>PRODUCT</td></tr><tr><td>7</td><td>107</td><td>標本標準偏差</td><td>STDEV</td></tr><tr><td>8</td><td>108</td><td>母標準偏差</td><td>STDEVP</td></tr><tr><td>9</td><td>109</td><td>合計</td><td><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM</a></td></tr><tr><td>10</td><td>110</td><td>標本分散</td><td>VAR</td></tr><tr><td>11</td><td>111</td><td>母分散</td><td>VARP</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">よく使うのは <strong>9（合計）・1（平均）・2（件数）</strong> の3つです。まずはこの3つを覚えておけば十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「合計の番号が覚えられない」という方へ。<strong>SUM は S で始まる = アルファベット19番目 → 9</strong> と紐づけると忘れにくくなります。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">フィルターで絞り込んだデータの合計を求める</span></h3>



<p class="wp-block-paragraph">実際にSUBTOTAL関数を使ってみましょう。次のような売上データがあるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（担当者）</th><th>B列（部門）</th><th>C列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>田中</td><td>営業部</td><td>50,000</td></tr><tr><td>3行目</td><td>佐藤</td><td>総務部</td><td>30,000</td></tr><tr><td>4行目</td><td>鈴木</td><td>営業部</td><td>80,000</td></tr><tr><td>5行目</td><td>高橋</td><td>総務部</td><td>25,000</td></tr><tr><td>6行目</td><td>伊藤</td><td>営業部</td><td>60,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">全データの合計を求めるには、次の数式を入力します。</p>



<pre class="wp-block-code"><code>=SUBTOTAL(9, C2:C6)</code></pre>



<p class="wp-block-paragraph">集計方法番号 <code>9</code> は「合計（SUM）」です。結果は <strong>245,000</strong> になります。</p>



<p class="wp-block-paragraph">ここでB列のフィルターで「営業部」だけに絞り込んでみましょう。SUM関数なら値は変わりません。しかしSUBTOTAL関数は自動的に再計算されます。</p>



<pre class="wp-block-code"><code>フィルター後の結果: 190,000（50,000 + 80,000 + 60,000）</code></pre>



<p class="wp-block-paragraph">フィルターに連動して合計値が変わるのがSUBTOTAL関数の強みです。</p>



<h3 class="wp-block-heading"><span id="toc8">平均や件数に切り替える</span></h3>



<p class="wp-block-paragraph">集計方法番号を変えるだけで集計内容を切り替えられます。</p>



<pre class="wp-block-code"><code>=SUBTOTAL(1, C2:C6)   → 平均: 49,000
=SUBTOTAL(2, C2:C6)   → 数値の件数: 5
=SUBTOTAL(4, C2:C6)   → 最大値: 80,000
=SUBTOTAL(5, C2:C6)   → 最小値: 25,000</code></pre>



<p class="wp-block-paragraph">フィルターで「営業部」に絞ると、営業部のデータだけで再計算されます。数式の番号を1つ変えるだけで対応できるのは便利ですよね。</p>



<h2 class="wp-block-heading"><span id="toc9">SUBTOTAL関数の集計方法番号1-11と101-111の違い</span></h2>



<p class="wp-block-paragraph">SUBTOTAL関数には集計方法番号が2セットあります。どちらもフィルターで非表示にした行は除外します。違いは<strong>手動で非表示にした行の扱い</strong>です。</p>



<figure class="wp-block-table"><table><thead><tr><th>非表示の方法</th><th>1〜11</th><th>101〜111</th></tr></thead><tbody><tr><td>フィルターで非表示</td><td>除外する</td><td>除外する</td></tr><tr><td>手動で行を非表示（右クリック → 行の非表示）</td><td><strong>含める</strong></td><td><strong>除外する</strong></td></tr><tr><td>グループ化で折りたたみ</td><td><strong>含める</strong></td><td><strong>除外する</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1〜11はフィルター非表示だけを除外します。101〜111はフィルター非表示に加えて、手動非表示やグループ化の折りたたみ行も除外します。</p>



<h3 class="wp-block-heading"><span id="toc10">どちらを使うべき？</span></h3>



<p class="wp-block-paragraph">迷ったら <strong>101〜111</strong> を使うのがおすすめです。</p>



<p class="wp-block-paragraph">「表示されている行だけを集計したい」という目的なら、非表示の方法に関係なく除外するほうが直感的ですよね。</p>



<p class="wp-block-paragraph">ただし、手動で非表示にした行も計算に含めたい場面もあります。たとえば「内訳行を折りたたんで見やすくしているが、集計には含めたい」というケースです。こういった場面では1〜11が正解ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>覚え方のコツは「<strong>100番台 = 見えない行はすべて除外</strong>」です。フィルターだけでなく手動非表示もまとめて除外したいなら、100を足すだけですよ。</p></blockquote>



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



<p class="wp-block-paragraph">基本がわかったところで、仕事でよく使うパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン1: フィルター付きダッシュボード</span></h3>



<p class="wp-block-paragraph">フィルターで部門や月を切り替えながら集計値を確認する表です。次の5つの数式をフィルター付きの表の下に配置しましょう。</p>



<pre class="wp-block-code"><code>合計:   =SUBTOTAL(109, D2:D100)
平均:   =SUBTOTAL(101, D2:D100)
件数:   =SUBTOTAL(102, D2:D100)
最大値: =SUBTOTAL(104, D2:D100)
最小値: =SUBTOTAL(105, D2:D100)</code></pre>



<p class="wp-block-paragraph">フィルターを切り替えるたびにリアルタイムで値が更新されます。ちょっとしたダッシュボードとして使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン2: 小計行がある表での総合計</span></h3>



<p class="wp-block-paragraph">部門ごとに小計行があるデータを考えてみましょう。<a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>で総合計を出すと、小計が二重カウントされてしまいます。</p>



<pre class="wp-block-code"><code>| A列   | B列  |
|-------|------|
| 営業部 |  100 |
| 営業部 |  200 |
| 小計   | =SUBTOTAL(9, B2:B3) → 300 |
| 総務部 |  150 |
| 小計   | =SUBTOTAL(9, B5:B5) → 150 |
| 総合計 | =SUBTOTAL(9, B2:B6) → 450（正しい） |</code></pre>



<p class="wp-block-paragraph">SUBTOTAL関数は範囲内の他のSUBTOTAL関数を自動的に無視します。そのため、小計行を含む範囲で総合計を出しても二重カウントされません。</p>



<p class="wp-block-paragraph">SUM関数で同じ範囲を合計すると <code>300 + 200 + 100 + 150 + 150 = 900</code> になります。小計が重複して間違った値になるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: ステータスバーとの使い分け</span></h3>



<p class="wp-block-paragraph">Excelの画面下部にあるステータスバーには「合計」「平均」「データの個数」が表示されます。ステータスバーの値もフィルターで非表示にした行を除外してくれます。</p>



<p class="wp-block-paragraph">では、なぜSUBTOTAL関数が必要なのでしょうか？</p>



<p class="wp-block-paragraph">ステータスバーの値はセルに表示できません。計算結果を他の数式に使ったり、印刷に含めたりしたい場合はSUBTOTAL関数が必要です。「セルに結果を残したいならSUBTOTAL関数」と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc15">SUBTOTAL関数とAGGREGATE関数の違い・使い分け</span></h2>



<p class="wp-block-paragraph">Excel 2010以降では、SUBTOTAL関数の上位互換ともいえる<strong>AGGREGATE関数</strong>が使えます。両者の違いを比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SUBTOTAL</th><th>AGGREGATE</th></tr></thead><tbody><tr><td>集計方法の数</td><td>11種類</td><td>19種類（PERCENTILEやLARGEなど追加）</td></tr><tr><td>エラー値の無視</td><td>できない</td><td>できる（オプション6）</td></tr><tr><td>非表示行の除外</td><td>できる</td><td>できる</td></tr><tr><td>ネストされたSUBTOTALの無視</td><td>できる</td><td>できる</td></tr><tr><td>対応バージョン</td><td>Excel 2003〜</td><td>Excel 2010〜</td></tr><tr><td>構文の複雑さ</td><td>シンプル</td><td>やや複雑（オプション引数あり）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">AGGREGATE関数の構文</span></h3>



<pre class="wp-block-code"><code>=AGGREGATE(集計方法, オプション, 参照, [順位])</code></pre>



<p class="wp-block-paragraph">AGGREGATE関数は第2引数に「オプション」があります。エラー値の無視や非表示行の除外を細かく制御できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>オプション</th><th>動作</th></tr></thead><tbody><tr><td>0</td><td>ネストされたSUBTOTAL・AGGREGATE関数を無視</td></tr><tr><td>1</td><td>非表示の行 + ネスト関数を無視</td></tr><tr><td>2</td><td>エラー値 + ネスト関数を無視</td></tr><tr><td>3</td><td>非表示の行 + エラー値 + ネスト関数を無視</td></tr><tr><td>4</td><td>何も無視しない</td></tr><tr><td>5</td><td>非表示の行を無視</td></tr><tr><td>6</td><td>エラー値を無視</td></tr><tr><td>7</td><td>非表示の行 + エラー値を無視</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">どちらを使うべき？</span></h3>



<p class="wp-block-paragraph">使い分けの判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>フィルター連動の集計だけでOK</strong> → SUBTOTAL関数がシンプルでおすすめ</li><li><strong>エラー値を含むデータを集計したい</strong> → AGGREGATE関数（オプション6）</li><li><strong>LARGEやPERCENTILEをフィルター連動で使いたい</strong> → AGGREGATE関数</li><li><strong>Excel 2003〜2007環境で使う可能性がある</strong> → SUBTOTAL関数</li></ul>



<p class="wp-block-paragraph">実務では「エラー値がある列の集計」にAGGREGATE関数が活躍します。たとえばVLOOKUP関数の#N/Aエラーが混在する列です。SUBTOTAL関数はエラーになりますが、AGGREGATE関数なら問題なく集計できますよ。</p>



<pre class="wp-block-code"><code>=AGGREGATE(9, 6, C2:C100)   → エラー値を無視して合計
=SUBTOTAL(9, C2:C100)       → エラー値があると #VALUE! になる</code></pre>



<p class="wp-block-paragraph">AGGREGATE関数はSUBTOTAL関数より構文が複雑です。フィルター連動の合計・平均・件数だけなら、SUBTOTAL関数のほうが読みやすくておすすめですよ。</p>



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



<p class="wp-block-paragraph">SUBTOTAL関数で困ったときの原因と対策をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー/症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>集計方法番号が範囲外（0、12〜100、112〜）</td><td>1〜11 または 101〜111 を指定する</td></tr><tr><td>#VALUE!</td><td>エラー値を含むセルがある</td><td>AGGREGATE関数に置き換えるか、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で事前にエラーを処理する</td></tr><tr><td>結果が0</td><td>範囲に数値がない（文字列型の数値）</td><td>VALUE関数やデータクリーンアップで数値に変換する</td></tr><tr><td>フィルターしても値が変わらない</td><td>SUM関数を使っている</td><td>SUBTOTAL関数に置き換える</td></tr><tr><td>小数点以下が出る</td><td>集計方法番号1（AVERAGE）の仕様</td><td><a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数</a>で丸める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">集計方法番号の入力ミス</span></h3>



<p class="wp-block-paragraph">最も多いミスが集計方法番号の入力間違いです。</p>



<pre class="wp-block-code"><code>=SUBTOTAL(0, C2:C10)    → #VALUE! エラー
=SUBTOTAL(12, C2:C10)   → #VALUE! エラー</code></pre>



<p class="wp-block-paragraph">集計方法番号は1〜11または101〜111です。0やそれ以外の数値を指定すると <code>#VALUE!</code> エラーになります。合計なら <code>9</code> か <code>109</code>、件数なら <code>2</code> か <code>102</code> を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">フィルターしても合計値が変わらない</span></h3>



<p class="wp-block-paragraph">SUBTOTAL関数ではなくSUM関数を使っていないか確認してください。SUM関数はフィルターの状態に関係なく全行を合計します。</p>



<pre class="wp-block-code"><code>=SUM(C2:C10)             → フィルターに連動しない
=SUBTOTAL(9, C2:C10)     → フィルターに連動する</code></pre>



<p class="wp-block-paragraph">既存の集計表をフィルター対応にしたい場合は、SUM関数をSUBTOTAL関数に置き換えるだけで対応できますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">似た関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">SUBTOTAL関数と似た機能を持つ関数を一覧で比較します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>フィルター連動</th><th>条件指定</th><th>エラー無視</th><th>集計の種類</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM</a></td><td>しない</td><td>できない</td><td>できない</td><td>合計のみ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF</a></td><td>しない</td><td>1条件</td><td>できない</td><td>合計のみ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS</a></td><td>しない</td><td>複数条件</td><td>できない</td><td>合計のみ</td></tr><tr><td>SUBTOTAL</td><td><strong>する</strong></td><td>できない</td><td>できない</td><td>11種類</td></tr><tr><td>AGGREGATE</td><td><strong>する</strong></td><td>できない</td><td><strong>できる</strong></td><td>19種類</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">SUM関数との使い分け</span></h3>



<p class="wp-block-paragraph">最も重要な違いは「フィルター連動」の有無です。</p>



<ul class="wp-block-list"><li>フィルターを使わない集計 → <a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>がシンプルで最適</li><li>フィルターで絞り込みながら集計 → SUBTOTAL関数が必須</li><li>小計と総合計がある表 → SUBTOTAL関数で二重集計を防止</li></ul>



<p class="wp-block-paragraph">「<strong>フィルターを使うならSUBTOTAL、使わないならSUM</strong>」と覚えるのが一番シンプルです。</p>



<p class="wp-block-paragraph">条件を指定して集計したい場合は<a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>を使いましょう。</p>



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



<p class="wp-block-paragraph">ExcelのSUBTOTAL関数のポイントをおさらいしましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>読み方</td><td>サブトータル関数</td></tr><tr><td>役割</td><td>フィルター連動の集計（合計・平均・件数など11種類）</td></tr><tr><td>構文</td><td><code>=SUBTOTAL(集計方法, 参照1, ...)</code></td></tr><tr><td>よく使う番号</td><td>9（合計）、1（平均）、2（件数）</td></tr><tr><td>1〜11と101〜111の違い</td><td>手動非表示行の扱い（含む / 除外）</td></tr><tr><td>SUM関数との違い</td><td>フィルター連動するかどうか</td></tr><tr><td>AGGREGATE関数との違い</td><td>エラー無視機能の有無、集計種類の数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">まずは <code>=SUBTOTAL(9, 範囲)</code> でフィルター対応の合計から試してみてください。フィルターを切り替えるたびに値が変わるのを体験すると、便利さが実感できますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-sum/">ExcelのSUM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sumif/">ExcelのSUMIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">ExcelのSUMIFS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-average/">ExcelのAVERAGE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-count/">ExcelのCOUNT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-counta/">ExcelのCOUNTA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-max/">ExcelのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-min/">ExcelのMIN関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-round/">ExcelのROUND関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-median/">ExcelのMEDIAN関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-subtotal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのAVERAGEIF関数｜条件付き平均の使い方</title>
		<link>https://mashukabu.com/excel-function-howto-use-averageif/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-averageif/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 25 Mar 2022 17:23:50 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[AVERAGEIFS関数]]></category>
		<category><![CDATA[AVERAGEIF関数]]></category>
		<category><![CDATA[COUNTIF関数]]></category>
		<category><![CDATA[SUMIF関数]]></category>
		<category><![CDATA[条件付き平均]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1429</guid>

					<description><![CDATA[ExcelのAVERAGEIF関数の使い方を実例付きで解説。基本構文と引数の意味から、支店別平均・合格者平均・0除外・ワイルドカードの実務例まで収録。AVERAGEIFSとの違い、SUMIF・COUNTIFとの比較表付きで条件付き集計を迷わず使い分けられます。]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">AVERAGEIF関数とは</a><ol><li><a href="#toc2" tabindex="0">基本構文と3つの引数</a></li><li><a href="#toc3" tabindex="0">AVERAGE関数との違い</a></li></ol></li><li><a href="#toc4" tabindex="0">AVERAGEIF関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">文字条件で平均を出す（例：東京支店の売上平均）</a></li><li><a href="#toc6" tabindex="0">数値条件で平均を出す（例：80点以上の平均点）</a></li><li><a href="#toc7" tabindex="0">ワイルドカードで部分一致検索する</a></li></ol></li><li><a href="#toc8" tabindex="0">AVERAGEIF vs AVERAGEIFS：どちらを使う？</a><ol><li><a href="#toc9" tabindex="0">条件が1つ → AVERAGEIF、複数 → AVERAGEIFS</a></li><li><a href="#toc10" tabindex="0">判断フロー（30秒で選べる）</a></li></ol></li><li><a href="#toc11" tabindex="0">実務3シナリオで使いこなす</a><ol><li><a href="#toc12" tabindex="0">シナリオ1：支店別平均 × SUMIF で達成率を一覧化する</a></li><li><a href="#toc13" tabindex="0">シナリオ2：評価シートで合格者だけの平均点を出す</a></li><li><a href="#toc14" tabindex="0">シナリオ3：0を除外して正確な平均を求める</a></li></ol></li><li><a href="#toc15" tabindex="0">IF系3関数の比較表（SUMIF・COUNTIF・AVERAGEIF）</a><ol><li><a href="#toc16" tabindex="0">何を集計したいかで選ぶ：合計 / 件数 / 平均</a></li><li><a href="#toc17" tabindex="0">一覧表で一目確認</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">#DIV/0! が出るとき（条件に一致するデータが0件）</a></li><li><a href="#toc20" tabindex="0">条件範囲と平均範囲のサイズが合わないとき</a></li><li><a href="#toc21" tabindex="0">テキスト条件の引用符を忘れたとき</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a><ol><li><a href="#toc23" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">AVERAGEIF関数（読み方：アベレージイフ）は、<strong>指定した条件に一致するセルだけを対象に平均値を求める関数</strong>です。「AVERAGE（平均）」と「IF（もし）」を組み合わせた名前で、「もし条件に合えば平均する」という意味になっています。</p>



<p class="wp-block-paragraph">「支店ごとの売上平均を出したい」「80点以上の成績だけで平均を計算したい」。Excelでこんな場面に遭遇したことはありませんか？</p>



<p class="wp-block-paragraph">全体の平均なら<a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE関数</a>で求められます。でも、条件で絞り込んだ平均を手作業で計算するのは大変ですよね。データが増えるたびに計算し直すのも非効率です。</p>



<p class="wp-block-paragraph">そんなときに使えるのがAVERAGEIF関数です。この記事では、基本の書き方からワイルドカード、実務シナリオ、よくあるエラーの対処法まで解説します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong></p><p>AVERAGEIF関数はExcel 2007以降すべてのバージョンで使えます。Microsoft 365、Excel 2024/2021/2019/2016、Excel for the Webに対応しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">基本構文と3つの引数</span></h3>



<pre class="wp-block-code"><code>=AVERAGEIF(範囲, 検索条件, [平均対象範囲])</code></pre>



<p class="wp-block-paragraph">カッコの中に3つの引数を指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>範囲</td><td>必須</td><td>条件を判定するセル範囲（例：A2:A20）</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">ポイントは「条件を判定する場所」と「平均を計算する場所」を分けられることです。A列の支店名で条件を判定して、B列の売上で平均を計算する、という使い方ができますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>平均対象範囲が範囲と異なるサイズの場合、左上セルを基点に範囲と同じサイズが自動適用されます。意図しない結果を防ぐために、行数は揃えておきましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc3">AVERAGE関数との違い</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE関数</a>は「全データの平均」、AVERAGEIF関数は「条件付きの平均」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>AVERAGE関数</th><th>AVERAGEIF関数</th></tr></thead><tbody><tr><td>条件指定</td><td>できない</td><td>できる</td></tr><tr><td>用途</td><td>全体の平均</td><td>条件に合うデータだけの平均</td></tr><tr><td>引数の数</td><td>1つ以上（数値範囲）</td><td>2〜3つ（範囲・条件・平均対象範囲）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「全員の平均点」ならAVERAGE関数、「合格者だけの平均点」ならAVERAGEIF関数と覚えておけばOKです。</p>



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



<p class="wp-block-paragraph">ここからは、サンプルデータを使って実際に試してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">文字条件で平均を出す（例：東京支店の売上平均）</span></h3>



<p class="wp-block-paragraph">次のような売上データがあるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（支店名）</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>東京支店</td><td>500</td></tr><tr><td>3行目</td><td>大阪支店</td><td>300</td></tr><tr><td>4行目</td><td>東京支店</td><td>700</td></tr><tr><td>5行目</td><td>名古屋支店</td><td>400</td></tr><tr><td>6行目</td><td>東京支店</td><td>600</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「東京支店」の売上平均を求めるには次のように入力します。</p>



<pre class="wp-block-code"><code>=AVERAGEIF(A2:A6, &quot;東京支店&quot;, B2:B6)</code></pre>



<ul class="wp-block-list"><li><strong>A2:A6</strong>（範囲）：ここから「東京支店」を探す</li><li><strong>&#8220;東京支店&#8221;</strong>（検索条件）：この文字列と一致する行が対象</li><li><strong>B2:B6</strong>（平均対象範囲）：一致した行のB列で平均を計算</li></ul>



<p class="wp-block-paragraph">東京支店はA2・A4・A6の3行です。(500 + 700 + 600) ÷ 3 = <strong>600</strong> が結果になります。</p>



<p class="wp-block-paragraph">文字列の条件は必ずダブルクォーテーションで囲んでください。囲まないとエラーになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">数値条件で平均を出す（例：80点以上の平均点）</span></h3>



<p class="wp-block-paragraph">テストの点数で「80点以上」だけの平均を求めたい場合です。B列に点数が入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B列（点数）</th></tr></thead><tbody><tr><td>2行目</td><td>95</td></tr><tr><td>3行目</td><td>60</td></tr><tr><td>4行目</td><td>85</td></tr><tr><td>5行目</td><td>70</td></tr><tr><td>6行目</td><td>90</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=AVERAGEIF(B2:B6, &quot;&gt;=80&quot;)</code></pre>



<p class="wp-block-paragraph">比較演算子を使う場合も、条件全体をダブルクォーテーションで囲みます。80以上の値は95・85・90の3つなので、(95 + 85 + 90) ÷ 3 = <strong>90</strong> が結果です。</p>



<p class="wp-block-paragraph">平均対象範囲を省略すると、範囲そのものが計算対象になります。この例ではB列の数値をそのまま平均するので省略でOKです。</p>



<p class="wp-block-paragraph">使える比較演算子をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>演算子</th><th>意味</th><th>書き方の例</th></tr></thead><tbody><tr><td><code>></code></td><td>より大きい</td><td><code>">100"</code></td></tr><tr><td><code><</code></td><td>より小さい</td><td><code>"<50"</code></td></tr><tr><td><code>>=</code></td><td>以上</td><td><code>">=80"</code></td></tr><tr><td><code><=</code></td><td>以下</td><td><code>"<=1000"</code></td></tr><tr><td><code><></code></td><td>等しくない</td><td><code>"<>0"</code></td></tr><tr><td><code>=</code></td><td>等しい</td><td><code>"=100"</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セル参照と組み合わせるときは <code>&</code> で連結します。E2セルに基準値が入っている場合はこうです。</p>



<pre class="wp-block-code"><code>=AVERAGEIF(B2:B6, &quot;&gt;=&quot;&amp;E2)</code></pre>



<h3 class="wp-block-heading"><span id="toc7">ワイルドカードで部分一致検索する</span></h3>



<p class="wp-block-paragraph">「東京」を含むすべての支店（東京支店、東京第二支店など）をまとめて集計したい場合があります。ワイルドカードを使えば部分一致で条件を指定できます。</p>



<pre class="wp-block-code"><code>=AVERAGEIF(A2:A20, &quot;*東京*&quot;, B2:B20)</code></pre>



<p class="wp-block-paragraph"><code>*</code>（アスタリスク）は「任意の文字列（0文字以上）」を表します。<code>?</code>（クエスチョンマーク）は「任意の1文字」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>記号</th><th>意味</th><th>使用例</th><th>マッチする値</th></tr></thead><tbody><tr><td><code>*</code></td><td>任意の文字列</td><td><code>"<em>東京</em>"</code></td><td>東京支店、東京第二支店</td></tr><tr><td><code>?</code></td><td>任意の1文字</td><td><code>"??支店"</code></td><td>東京支店、大阪支店</td></tr><tr><td><code>~*</code></td><td><code>*</code> そのものを検索</td><td><code>"~*印"</code></td><td>*印</td></tr><tr><td><code>~?</code></td><td><code>?</code> そのものを検索</td><td><code>"~?マーク"</code></td><td>?マーク</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>データに <code>*</code> や <code>?</code> が含まれている場合は、チルダ <code>~</code> を前に付けると記号そのものを検索できますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">AVERAGEIF vs AVERAGEIFS：どちらを使う？</span></h2>



<p class="wp-block-paragraph">AVERAGEIF関数とよく混同されるのが<a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS関数</a>です。名前が似ていますが、使い分けはシンプルです。</p>



<h3 class="wp-block-heading"><span id="toc9">条件が1つ → AVERAGEIF、複数 → AVERAGEIFS</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>AVERAGEIF</th><th>AVERAGEIFS</th></tr></thead><tbody><tr><td>条件の数</td><td>1つだけ</td><td>複数（最大127個）</td></tr><tr><td>構文</td><td><code>=AVERAGEIF(範囲, 条件, [平均対象範囲])</code></td><td><code>=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, ...)</code></td></tr><tr><td>引数の順番</td><td>範囲が最初</td><td><strong>平均対象範囲が最初</strong></td></tr><tr><td>範囲サイズ制約</td><td>平均対象範囲は自動調整</td><td>条件範囲と平均対象範囲は同サイズ必須</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最大の注意点は<strong>引数の順番が逆</strong>になることです。AVERAGEIFは「範囲→条件→平均対象範囲」の順番です。AVERAGEIFSは「平均対象範囲→条件範囲1→条件1→…」と平均対象範囲が先頭に来ます。</p>



<pre class="wp-block-code"><code>=AVERAGEIF(A2:A10, &quot;東京支店&quot;, B2:B10)
=AVERAGEIFS(B2:B10, A2:A10, &quot;東京支店&quot;)</code></pre>



<p class="wp-block-paragraph">条件が1つだけなら、どちらでも同じ結果を得られます。ただし引数の順番が違うので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc10">判断フロー（30秒で選べる）</span></h3>



<p class="wp-block-paragraph">迷ったときは次のフローで判断できます。</p>



<ol class="wp-block-list"><li><strong>条件は1つだけ？</strong> → AVERAGEIF関数を使う</li><li><strong>条件が2つ以上ある？</strong>（例：「東京支店」かつ「4月」） → AVERAGEIFS関数を使う</li><li><strong>条件範囲と平均対象範囲のサイズが異なる？</strong> → AVERAGEIF関数のみ自動調整に対応</li></ol>



<p class="wp-block-paragraph">実務では「支店名 × 月」のように複数条件を使うケースが多いです。まずAVERAGEIFで基本を身につけてから、必要に応じてAVERAGEIFS関数にステップアップしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc11">実務3シナリオで使いこなす</span></h2>



<p class="wp-block-paragraph">ここからは、実際の業務を想定した3つのシナリオを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc12">シナリオ1：支店別平均 × SUMIF で達成率を一覧化する</span></h3>



<p class="wp-block-paragraph">支店ごとの売上平均と合計を組み合わせて、達成率一覧を作るパターンです。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ（売上表）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（支店名）</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>東京支店</td><td>500</td></tr><tr><td>3行目</td><td>大阪支店</td><td>300</td></tr><tr><td>4行目</td><td>東京支店</td><td>700</td></tr><tr><td>5行目</td><td>大阪支店</td><td>450</td></tr><tr><td>6行目</td><td>東京支店</td><td>600</td></tr><tr><td>7行目</td><td>大阪支店</td><td>350</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">D列に支店名、E列に平均売上、F列に売上合計を出します。</p>



<pre class="wp-block-code"><code>=AVERAGEIF($A$2:$A$7, D2, $B$2:$B$7)</code></pre>



<pre class="wp-block-code"><code>=SUMIF($A$2:$A$7, D2, $B$2:$B$7)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>（条件付き合計を求める関数）と組み合わせると集計表が作れます。範囲を絶対参照（<code>$</code>付き）にしておけば、数式を下にコピーするだけで全支店分が完成しますよ。</p>



<p class="wp-block-paragraph"><strong>集計結果</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>D列（支店名）</th><th>E列（平均売上）</th><th>F列（売上合計）</th></tr></thead><tbody><tr><td>東京支店</td><td>600</td><td>1,800</td></tr><tr><td>大阪支店</td><td>367</td><td>1,100</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">東京支店の平均：(500 + 700 + 600) ÷ 3 = 600。大阪支店の平均：(300 + 450 + 350) ÷ 3 ≒ 367。このように平均と合計を並べると、支店間の比較がしやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc13">シナリオ2：評価シートで合格者だけの平均点を出す</span></h3>



<p class="wp-block-paragraph">テストの評価シートで「合格（70点以上）」の受験者だけの平均点を求めるパターンです。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ（テスト結果）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（氏名）</th><th>B列（点数）</th></tr></thead><tbody><tr><td>2行目</td><td>田中</td><td>85</td></tr><tr><td>3行目</td><td>鈴木</td><td>55</td></tr><tr><td>4行目</td><td>佐藤</td><td>92</td></tr><tr><td>5行目</td><td>山田</td><td>68</td></tr><tr><td>6行目</td><td>高橋</td><td>78</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=AVERAGEIF(B2:B6, &quot;&gt;=70&quot;)</code></pre>



<p class="wp-block-paragraph">70点以上は田中(85)・佐藤(92)・高橋(78)の3名です。(85 + 92 + 78) ÷ 3 = <strong>85</strong> が結果になります。</p>



<p class="wp-block-paragraph">エラー対策として、IFERROR関数で囲んでおくと安心です。条件に一致するデータが0件の場合、#DIV/0!エラーが出るためです。</p>



<pre class="wp-block-code"><code>=IFERROR(AVERAGEIF(B2:B6, &quot;&gt;=70&quot;), &quot;該当者なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">シナリオ3：0を除外して正確な平均を求める</span></h3>



<p class="wp-block-paragraph">「未入力の代わりに0が入っている」データで正確な平均を出すパターンです。AVERAGE関数だと0も分母に含まれるため、平均が不正確になります。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>500</td></tr><tr><td>3行目</td><td>0</td></tr><tr><td>4行目</td><td>300</td></tr><tr><td>5行目</td><td>0</td></tr><tr><td>6行目</td><td>400</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">AVERAGE関数の場合：(500 + 0 + 300 + 0 + 400) ÷ 5 = <strong>240</strong><br>AVERAGEIF関数の場合：</p>



<pre class="wp-block-code"><code>=AVERAGEIF(B2:B6, &quot;&lt;&gt;0&quot;)</code></pre>



<p class="wp-block-paragraph"><code>"<>0"</code> は「0以外」という条件です。0を除いた3つの値で計算するので、(500 + 300 + 400) ÷ 3 = <strong>400</strong> が結果になります。</p>



<p class="wp-block-paragraph">なお、空白セルはAVERAGEIF関数で自動的に無視されます。分母にもカウントされないので、空白とゼロの扱いは区別しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc15">IF系3関数の比較表（SUMIF・COUNTIF・AVERAGEIF）</span></h2>



<p class="wp-block-paragraph">条件付き集計の関数は3つあります。「何を求めたいか」で使い分けましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">何を集計したいかで選ぶ：合計 / 件数 / 平均</span></h3>



<ul class="wp-block-list"><li><strong>合計を出したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a></li><li><strong>件数を数えたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数</a>（条件に一致するセルの個数を数える関数）</li><li><strong>平均を出したい</strong> → AVERAGEIF関数</li></ul>



<p class="wp-block-paragraph">3つとも「条件を1つ指定して集計する」という点は共通です。違いは「集計する内容」だけですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">一覧表で一目確認</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>用途</th><th>構文</th><th>第3引数</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF</a></td><td>条件付き合計</td><td><code>=SUMIF(範囲, 条件, [合計範囲])</code></td><td>合計範囲（任意）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF</a></td><td>条件付き件数</td><td><code>=COUNTIF(範囲, 条件)</code></td><td>なし</td></tr><tr><td>AVERAGEIF</td><td>条件付き平均</td><td><code>=AVERAGEIF(範囲, 条件, [平均対象範囲])</code></td><td>平均対象範囲（任意）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">COUNTIFだけ第3引数がないのがポイントです。「条件に合うセルの個数」を数えるだけなので、合計範囲や平均対象範囲は不要です。</p>



<p class="wp-block-paragraph">複数条件が必要な場合は、それぞれの「S」付き版（<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-countifs/">COUNTIFS関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS関数</a>）に切り替えてください。</p>



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



<p class="wp-block-paragraph">AVERAGEIF関数でエラーが出たら、まず以下の3パターンを確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc19">#DIV/0! が出るとき（条件に一致するデータが0件）</span></h3>



<p class="wp-block-paragraph">AVERAGEIF関数で最もよく遭遇するエラーです。条件に一致するセルが1つもない場合に発生します。平均を計算するデータが0件なので、0で割る計算になってしまうんですね。</p>



<p class="wp-block-paragraph"><strong>よくある原因：</strong></p>



<ul class="wp-block-list"><li>条件の文字列にスペルミスや余分なスペースがある</li><li>範囲が空白セルやテキスト値のみで構成されている</li></ul>



<p class="wp-block-paragraph"><strong>対処法：</strong> IFERROR関数で囲んでおけば、エラーの代わりに任意の値を表示できます。</p>



<pre class="wp-block-code"><code>=IFERROR(AVERAGEIF(A2:A20, &quot;東京支店&quot;, B2:B20), 0)</code></pre>



<p class="wp-block-paragraph">第2引数を <code>0</code> にすればゼロ表示、<code>"該当なし"</code> にすればメッセージ表示になります。条件に一致するデータがない可能性がある場合は、あらかじめ仕込んでおくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc20">条件範囲と平均範囲のサイズが合わないとき</span></h3>



<p class="wp-block-paragraph">AVERAGEIF関数では、平均対象範囲は左上セルを基点に範囲と同じサイズに自動調整されます。そのため「範囲がA2:A20なのに、平均対象範囲はB2:B10」と指定しても、内部的にはB2:B20として処理されます。</p>



<p class="wp-block-paragraph">意図しない結果になるケースがあるので、範囲と平均対象範囲の行数は揃えておくのが基本です。</p>



<p class="wp-block-paragraph">なお、AVERAGEIFS関数では条件範囲と平均対象範囲が<strong>同じサイズであることが必須</strong>です。サイズが異なるとエラーになるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc21">テキスト条件の引用符を忘れたとき</span></h3>



<p class="wp-block-paragraph">文字列条件や比較演算子をダブルクォーテーションで囲み忘れると、正しく動作しません。</p>



<pre class="wp-block-code"><code>× =AVERAGEIF(A2:A20, 東京支店, B2:B20)
○ =AVERAGEIF(A2:A20, &quot;東京支店&quot;, B2:B20)

× =AVERAGEIF(B2:B20, &gt;=80)
○ =AVERAGEIF(B2:B20, &quot;&gt;=80&quot;)</code></pre>



<p class="wp-block-paragraph">数値そのもの（例：<code>80</code>）を条件にする場合は引用符なしでもOKです。ただし比較演算子を含む条件は必ずダブルクォーテーションで囲んでください。</p>



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



<p class="wp-block-paragraph">ExcelのAVERAGEIF関数のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>AVERAGEIF関数は「条件に合うデータだけの平均」を求める関数</li><li>書き方：<code>=AVERAGEIF(範囲, 検索条件, [平均対象範囲])</code></li><li>比較演算子（<code>">=80"</code> <code>"<>0"</code> など）やワイルドカード（<code>*</code> <code>?</code>）で柔軟に条件を指定できる</li><li>0を除外した正確な平均は <code>=AVERAGEIF(範囲, "<>0")</code> で求められる</li><li>条件が2つ以上なら AVERAGEIFS関数に切り替え</li><li>#DIV/0! エラー対策には IFERROR関数で囲んでおくと安心</li></ul>



<p class="wp-block-paragraph">まずは「特定の支店の平均売上」や「合格者の平均点」など、身近なデータから試してみてください。条件付きの平均を数式1つで出せると、集計作業がグッと効率的になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE関数</a> — 全データの平均を求める</li><li><a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS関数</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-sumifs/">SUMIFS関数</a> — 複数条件で合計を求める</li><li><a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数</a> — 条件に一致するセルを数える</li><li><a href="https://mashukabu.com/excel-function-howto-use-countifs/">COUNTIFS関数</a> — 複数条件でセルを数える</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-averageif/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AVERAGE関数の使い方｜0除外・フィルター平均も解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-average/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-average/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 24 Mar 2022 14:59:45 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[AVERAGEIF]]></category>
		<category><![CDATA[AVERAGE関数]]></category>
		<category><![CDATA[SUBTOTAL]]></category>
		<category><![CDATA[加重平均]]></category>
		<category><![CDATA[平均]]></category>
		<category><![CDATA[集計]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1425</guid>

					<description><![CDATA[ExcelのAVERAGE関数の使い方を基本から実務レベルまで解説。「フィルター後の平均がおかしい」にはSUBTOTAL、「0が混じる」にはAVERAGEIF、「加重平均」にはSUMPRODUCTで解決できます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelで平均を出したいだけなのに、なぜか結果がおかしい」&#8230;&#8230;そんな経験はありませんか。</p>



<p class="wp-block-paragraph">0が混じって平均が低く出たり、フィルターをかけたのに全件で計算されたり。AVERAGE関数は基本的な関数ですが、意外な落とし穴が多いんです。</p>



<p class="wp-block-paragraph">この記事では、ExcelのAVERAGE関数の使い方を基本から解説します。「0除外」「フィルター平均」「加重平均」まで、トラブル別にまるごと紹介しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">AVERAGE関数とは？書き方と基本の使い方</a><ol><li><a href="#toc2" tabindex="0">基本構文と引数の意味</a></li><li><a href="#toc3" tabindex="0">複数範囲・離れたセルを平均する</a></li><li><a href="#toc4" tabindex="0">空白・文字列・論理値はどう扱われる？</a></li></ol></li><li><a href="#toc5" tabindex="0">【落とし穴1】0が混じると平均が下がる問題の解決策</a><ol><li><a href="#toc6" tabindex="0">AVERAGEIFで0を除外して平均する</a></li><li><a href="#toc7" tabindex="0">複数条件で除外したい場合はAVERAGEIFSを使う</a></li></ol></li><li><a href="#toc8" tabindex="0">【落とし穴2】フィルター後の平均がおかしいときの対処法</a><ol><li><a href="#toc9" tabindex="0">なぜAVERAGEはフィルターを無視するのか</a></li><li><a href="#toc10" tabindex="0">SUBTOTAL(1,範囲)で可視セルだけ平均する</a></li><li><a href="#toc11" tabindex="0">AGGREGATEでエラー無視＋手動非表示行も対応</a></li></ol></li><li><a href="#toc12" tabindex="0">【応用】加重平均をSUMPRODUCTで実現する</a><ol><li><a href="#toc13" tabindex="0">加重平均とは？単純平均との違い</a></li><li><a href="#toc14" tabindex="0">SUMPRODUCT÷SUMで加重平均を計算する式</a></li></ol></li><li><a href="#toc15" tabindex="0">文字列として格納された数値への対処</a><ol><li><a href="#toc16" tabindex="0">「数値として保存されていない数値」が原因で平均がズレる</a></li><li><a href="#toc17" tabindex="0">VALUE関数または一括変換で正しい数値に直す</a></li></ol></li><li><a href="#toc18" tabindex="0">AVERAGEIF・AVERAGEIFS・AVERAGEA・DAVERAGEとの使い分け</a><ol><li><a href="#toc19" tabindex="0">目的別・関数選択チャート</a></li></ol></li><li><a href="#toc20" tabindex="0">エラー（#DIV/0!）の原因と回避方法</a><ol><li><a href="#toc21" tabindex="0">IFERRORで空白返しにする</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ：AVERAGE関数トラブル別 解決早見表</a><ol><li><a href="#toc23" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">AVERAGE関数とは？書き方と基本の使い方</span></h2>



<p class="wp-block-paragraph">AVERAGE関数（読み方: アベレージ）は、<strong>指定した数値の算術平均を返す関数</strong>です。英語の「Average（平均）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">Excelの集計でもっとも使用頻度が高い関数の一つです。売上の月平均やテストの平均点など、あらゆる場面で活躍します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong></p><p>AVERAGE関数はExcel 2007以降すべてのバージョンで使えます。Microsoft 365やGoogleスプレッドシートにも対応しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">基本構文と引数の意味</span></h3>



<pre class="wp-block-code"><code>=AVERAGE(数値1, [数値2], ...)</code></pre>



<p class="wp-block-paragraph">カッコの中に平均したい数値やセル範囲を指定します。引数はカンマ区切りで最大255個まで追加できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値1</td><td>必須</td><td>平均したい数値・セル参照・セル範囲</td></tr><tr><td>数値2, &#8230;</td><td>任意</td><td>追加の数値やセル範囲（最大255個）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数に指定できるパターンは3つあります。</p>



<ul class="wp-block-list"><li><strong>数値を直接入力</strong>: <code>=AVERAGE(80, 70, 90)</code> → 80</li><li><strong>セル参照</strong>: <code>=AVERAGE(A1, B1, C1)</code></li><li><strong>セル範囲</strong>: <code>=AVERAGE(B2:B6)</code></li></ul>



<p class="wp-block-paragraph">一番よく使うのはセル範囲の指定です。「この列の平均を出して」とお願いする感覚ですね。</p>



<h3 class="wp-block-heading"><span id="toc3">複数範囲・離れたセルを平均する</span></h3>



<p class="wp-block-paragraph">1月と3月の売上だけ平均したい、といった場面もありますよね。離れた範囲はカンマで区切って指定できます。</p>



<pre class="wp-block-code"><code>=AVERAGE(B2:B31, D2:D31)</code></pre>



<p class="wp-block-paragraph">この式はB2:B31とD2:D31のすべての数値をまとめて平均します。間の列は無視されるので、必要な月だけを選べます。</p>



<p class="wp-block-paragraph">個別のセルを混ぜることもできます。</p>



<pre class="wp-block-code"><code>=AVERAGE(B2:B10, E5, G3)</code></pre>



<p class="wp-block-paragraph">範囲と個別セルを自由に組み合わせられるのが便利なポイントです。</p>



<h3 class="wp-block-heading"><span id="toc4">空白・文字列・論理値はどう扱われる？</span></h3>



<p class="wp-block-paragraph">AVERAGE関数はデータの種類によって動きが変わります。ここを知っておくと、計算結果のズレを防げますよ。</p>



<p class="wp-block-paragraph"><strong>セル範囲で指定した場合</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>データの種類</th><th>扱い</th></tr></thead><tbody><tr><td>数値</td><td>計算に含まれる</td></tr><tr><td>空白セル</td><td>無視される（分母にも入らない）</td></tr><tr><td>文字列</td><td>無視される</td></tr><tr><td>論理値（TRUE/FALSE）</td><td>無視される</td></tr><tr><td>0</td><td><strong>計算に含まれる</strong>（分母にカウント）</td></tr><tr><td>エラー値</td><td>結果がエラーになる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>引数に直接入力した場合</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>データの種類</th><th>扱い</th></tr></thead><tbody><tr><td>TRUE</td><td>1として計算される</td></tr><tr><td>FALSE</td><td>0として計算される</td></tr><tr><td>文字列</td><td>#VALUE! エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セル範囲指定と直接入力で、論理値の扱いが変わる点に注意してください。範囲指定では無視されますが、直接入力ではTRUE=1、FALSE=0として計算されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>空白と0の違いがカギ</strong></p><p>空白セルは「データなし」として分母に入りません。0は「0という値がある」として分母に入ります。この違いが平均に大きく影響します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">【落とし穴1】0が混じると平均が下がる問題の解決策</span></h2>



<p class="wp-block-paragraph">AVERAGE関数でよくあるトラブルの筆頭がこれです。「まだデータがない行に0が入っていて、平均が実態より低くなる」パターンですね。</p>



<p class="wp-block-paragraph">たとえば、7人分のテスト点数が以下のように並んでいるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>80</td></tr><tr><td>B3</td><td>0</td></tr><tr><td>B4</td><td>70</td></tr><tr><td>B5</td><td>90</td></tr><tr><td>B6</td><td>0</td></tr><tr><td>B7</td><td>60</td></tr><tr><td>B8</td><td>50</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>=AVERAGE(B2:B8)</code> の結果は <strong>50</strong> です（合計350 / 7個）。0が2つ含まれるため、実際に点数がある5人の平均70より大幅に低くなります。</p>



<h3 class="wp-block-heading"><span id="toc6">AVERAGEIFで0を除外して平均する</span></h3>



<p class="wp-block-paragraph">0を除外するには、<a href="https://mashukabu.com/excel-function-howto-use-averageif/">AVERAGEIF関数</a>を使います。</p>



<pre class="wp-block-code"><code>=AVERAGEIF(B2:B8, &quot;&lt;&gt;0&quot;)</code></pre>



<p class="wp-block-paragraph">「B2:B8のうち0以外のセルだけで平均する」という意味です。結果は <strong>70</strong> になります（合計350 / 5個）。</p>



<p class="wp-block-paragraph">条件の <code>"<>0"</code> は「0と等しくない」を表す比較演算子です。これだけで0を除外できるので、覚えておくと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">複数条件で除外したい場合はAVERAGEIFSを使う</span></h3>



<p class="wp-block-paragraph">「0を除外して、かつ特定の部署だけ」のように条件が2つ以上あるときは、<a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS関数</a>の出番です。</p>



<pre class="wp-block-code"><code>=AVERAGEIFS(C2:C20, C2:C20, &quot;&lt;&gt;0&quot;, A2:A20, &quot;営業部&quot;)</code></pre>



<p class="wp-block-paragraph">この式は「C列が0でない、かつA列が営業部」の行だけで平均を計算します。条件をカンマで追加していくだけなので、書き方もシンプルです。</p>



<h2 class="wp-block-heading"><span id="toc8">【落とし穴2】フィルター後の平均がおかしいときの対処法</span></h2>



<p class="wp-block-paragraph">フィルターで絞り込んだのに、AVERAGE関数の結果が変わらない。これも実務でよくあるトラブルです。</p>



<h3 class="wp-block-heading"><span id="toc9">なぜAVERAGEはフィルターを無視するのか</span></h3>



<p class="wp-block-paragraph">AVERAGE関数は<strong>非表示行を含めてすべてのセルを計算対象にします</strong>。フィルターで行を隠しても、裏側では全データが計算されています。</p>



<p class="wp-block-paragraph">これはAVERAGE関数の仕様です。フィルター対応の平均には、別の関数を使う必要があります。</p>



<h3 class="wp-block-heading"><span id="toc10">SUBTOTAL(1,範囲)で可視セルだけ平均する</span></h3>



<p class="wp-block-paragraph">フィルターに対応した平均を出すなら、<a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数</a>を使いましょう。</p>



<pre class="wp-block-code"><code>=SUBTOTAL(1, B2:B100)</code></pre>



<p class="wp-block-paragraph">第1引数の <strong>1</strong> が「平均」を意味します。フィルターで非表示にした行は自動的に除外されます。</p>



<p class="wp-block-paragraph">SUBTOTAL関数の第1引数には2種類の番号があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号</th><th>動作</th><th>手動で非表示にした行</th></tr></thead><tbody><tr><td>1</td><td>平均</td><td>含む</td></tr><tr><td>101</td><td>平均</td><td>除外する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">フィルターで隠した行はどちらも除外されます。違いは「手動で非表示にした行」の扱いです。手動非表示も除外したいなら101を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc11">AGGREGATEでエラー無視＋手動非表示行も対応</span></h3>



<p class="wp-block-paragraph">SUBTOTAL関数には弱点が一つあります。範囲内にエラー値があると結果がエラーになる点です。</p>



<p class="wp-block-paragraph">エラー値も無視したいなら、AGGREGATE関数を使います。</p>



<pre class="wp-block-code"><code>=AGGREGATE(1, 7, B2:B100)</code></pre>



<p class="wp-block-paragraph">引数の意味はこうなります。</p>



<ul class="wp-block-list"><li><strong>1</strong>: 平均（AVERAGE相当）</li><li><strong>7</strong>: 非表示行とエラー値の両方を無視</li><li><strong>B2:B100</strong>: 対象範囲</li></ul>



<p class="wp-block-paragraph">optionsの主な設定値をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>options</th><th>動作</th></tr></thead><tbody><tr><td>5</td><td>非表示行を無視</td></tr><tr><td>6</td><td>エラー値を無視</td></tr><tr><td>7</td><td>非表示行＋エラー値を無視</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">フィルター平均で最も安全なのはAGGREGATE関数です。ただしExcel 2010以降でないと使えません。お使いのバージョンを確認してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc12">【応用】加重平均をSUMPRODUCTで実現する</span></h2>



<h3 class="wp-block-heading"><span id="toc13">加重平均とは？単純平均との違い</span></h3>



<p class="wp-block-paragraph">単純平均は、すべてのデータを同じ重みで扱います。一方、加重平均は<strong>データごとに重み（ウェイト）を付けて計算する平均</strong>です。</p>



<p class="wp-block-paragraph">身近な例だと、大学の成績（GPA）があります。単位数が多い科目ほど成績への影響が大きいですよね。これが加重平均の考え方です。</p>



<p class="wp-block-paragraph">計算式はこうなります。</p>



<pre class="wp-block-code"><code>加重平均 = (値1×重み1 + 値2×重み2 + ...) / (重み1 + 重み2 + ...)</code></pre>



<p class="wp-block-paragraph">AVERAGE関数では加重平均を直接計算できません。そこで<a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>とSUMPRODUCT関数を組み合わせます。</p>



<h3 class="wp-block-heading"><span id="toc14">SUMPRODUCT÷SUMで加重平均を計算する式</span></h3>



<p class="wp-block-paragraph">以下のような評価データがあるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B列（スコア）</th><th>C列（重み）</th></tr></thead><tbody><tr><td>2行目</td><td>80</td><td>3</td></tr><tr><td>3行目</td><td>70</td><td>2</td></tr><tr><td>4行目</td><td>90</td><td>5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">加重平均の式はこうです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4)</code></pre>



<p class="wp-block-paragraph">計算を確認してみましょう。</p>



<ul class="wp-block-list"><li>分子: 80×3 + 70×2 + 90×5 = 240 + 140 + 450 = <strong>830</strong></li><li>分母: 3 + 2 + 5 = <strong>10</strong></li><li>結果: 830 / 10 = <strong>83</strong></li></ul>



<p class="wp-block-paragraph">単純平均なら (80+70+90)/3 = 80 です。重みが5と大きい90点の影響で、加重平均は83になります。</p>



<p class="wp-block-paragraph">この違いが重要になる場面は多いです。売上の地域別加重平均や、配点が異なるテストの総合評価などで活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc15">文字列として格納された数値への対処</span></h2>



<h3 class="wp-block-heading"><span id="toc16">「数値として保存されていない数値」が原因で平均がズレる</span></h3>



<p class="wp-block-paragraph">Excelで意外と多いのが、見た目は数字なのに中身が文字列というケースです。CSVの取り込みや手入力のミスでよく発生します。</p>



<p class="wp-block-paragraph">AVERAGE関数は文字列を無視します。エラーは出ないのに、特定のセルが計算から外れるのが厄介なポイントです。</p>



<p class="wp-block-paragraph">文字列格納数値の見分け方は3つあります。</p>



<ul class="wp-block-list"><li>セル左上に<strong>緑色の小さな三角マーク</strong>が表示される</li><li>セルの数値が<strong>左寄せ</strong>になっている（数値は通常右寄せ）</li><li><code>=ISNUMBER(A1)</code> で <strong>FALSE</strong> が返される</li></ul>



<p class="wp-block-paragraph">これらに該当したら、そのセルは文字列扱いになっています。</p>



<h3 class="wp-block-heading"><span id="toc17">VALUE関数または一括変換で正しい数値に直す</span></h3>



<p class="wp-block-paragraph">文字列を数値に変換する方法は複数あります。</p>



<p class="wp-block-paragraph"><strong>方法1: エラーボタンから変換</strong></p>



<p class="wp-block-paragraph">緑三角が表示されたセルを選択します。黄色い警告アイコンをクリックし、「数値に変換」を選びましょう。複数セルを選択してから操作すれば一括変換もできます。</p>



<p class="wp-block-paragraph"><strong>方法2: <a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で変換</strong></p>



<pre class="wp-block-code"><code>=VALUE(A1)</code></pre>



<p class="wp-block-paragraph">文字列の &#8220;123&#8221; を数値の 123 に変換します。別セルに変換結果を出す方法です。</p>



<p class="wp-block-paragraph"><strong>方法3: 算術演算で変換</strong></p>



<pre class="wp-block-code"><code>=A1*1</code></pre>



<p class="wp-block-paragraph">文字列に1を掛けると、Excelが自動的に数値に変換します。VALUE関数と同じ効果で、式が短くて済みます。</p>



<p class="wp-block-paragraph">大量のデータを扱うときは、方法1のエラーボタン一括変換が最も手軽です。数式で残したいならVALUE関数を使ってくださいね。</p>



<h2 class="wp-block-heading"><span id="toc18">AVERAGEIF・AVERAGEIFS・AVERAGEA・DAVERAGEとの使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc19">目的別・関数選択チャート</span></h3>



<p class="wp-block-paragraph">AVERAGE系の関数は種類が多くて迷いますよね。以下のチャートで目的に合った関数を選んでください。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>使う関数</th><th>式の例</th></tr></thead><tbody><tr><td>範囲全体の平均</td><td>AVERAGE</td><td><code>=AVERAGE(B2:B100)</code></td></tr><tr><td>条件1つで平均</td><td><a href="https://mashukabu.com/excel-function-howto-use-averageif/">AVERAGEIF</a></td><td><code>=AVERAGEIF(A:A,"東京",B:B)</code></td></tr><tr><td>条件2つ以上で平均</td><td><a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS</a></td><td><code>=AVERAGEIFS(C:C,A:A,"東京",B:B,">=100")</code></td></tr><tr><td>TRUE/FALSEも含めて平均</td><td><a href="https://mashukabu.com/excel-function-howto-use-averagea/">AVERAGEA</a></td><td><code>=AVERAGEA(B2:B100)</code></td></tr><tr><td>データベース形式で条件平均</td><td>DAVERAGE</td><td><code>=DAVERAGE(A1:C100,"売上",E1:E2)</code></td></tr><tr><td>フィルター対応の平均</td><td><a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL</a></td><td><code>=SUBTOTAL(1,B2:B100)</code></td></tr><tr><td>外れ値に強い代表値</td><td><a href="https://mashukabu.com/excel-function-howto-use-median/">MEDIAN</a></td><td><code>=MEDIAN(B2:B100)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったときの判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>条件なし</strong> → AVERAGE</li><li><strong>条件あり</strong> → AVERAGEIF / AVERAGEIFS</li><li><strong>フィルター使用</strong> → SUBTOTAL / AGGREGATE</li><li><strong>論理値も計算に入れたい</strong> → AVERAGEA</li></ul>



<p class="wp-block-paragraph">DAVERAGEはデータベース関数の一種です。条件を別のセル範囲で指定する方式で、複雑な条件設定に向いています。ただし、多くの場面ではAVERAGEIFSで代用できます。</p>



<p class="wp-block-paragraph">関数の詳しい使い方は個別の解説記事を参考にしてください。<a href="https://mashukabu.com/excel-function/">Excel関数一覧</a>や<a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数を機能別に検索</a>からも探せますよ。</p>



<h2 class="wp-block-heading"><span id="toc20">エラー（#DIV/0!）の原因と回避方法</span></h2>



<p class="wp-block-paragraph">AVERAGE関数で最もよく見るエラーが <strong>#DIV/0!</strong> です。これは「0で割ろうとした」という意味のエラーです。</p>



<p class="wp-block-paragraph">原因はシンプルで、<strong>対象範囲に数値が1つもないとき</strong>に発生します。すべてのセルが空白、または文字列だけの場合がこれに該当します。</p>



<p class="wp-block-paragraph">まだデータが入っていないテンプレートにAVERAGE関数を仕込んでおくと、このエラーが表示されがちです。</p>



<h3 class="wp-block-heading"><span id="toc21">IFERRORで空白返しにする</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲むだけで解決できます。</p>



<pre class="wp-block-code"><code>=IFERROR(AVERAGE(B2:B20), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">エラーのときは空白（&#8221;&#8221;）を返し、データが入ったら自動で平均値に切り替わります。</p>



<p class="wp-block-paragraph">表示する内容はお好みで変えられます。</p>



<pre class="wp-block-code"><code>=IFERROR(AVERAGE(B2:B20), &quot;-&quot;)
=IFERROR(AVERAGE(B2:B20), &quot;データなし&quot;)
=IFERROR(AVERAGE(B2:B20), 0)</code></pre>



<p class="wp-block-paragraph">テンプレートを作るときは、あらかじめIFERRORで囲んでおくのがおすすめです。見た目がすっきりしますよ。</p>



<p class="wp-block-paragraph">小数桁が長くなる場合は、<a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数</a>と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(ROUND(AVERAGE(B2:B20), 1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">平均値を小数第1位で丸めつつ、エラー時は空白にする式です。報告書や集計表で重宝します。</p>



<h2 class="wp-block-heading"><span id="toc22">まとめ：AVERAGE関数トラブル別 解決早見表</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのAVERAGE関数の基本から落とし穴の対処法まで解説しました。最後に、トラブル別の解決策を一覧にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>トラブル</th><th>原因</th><th>解決策</th></tr></thead><tbody><tr><td>平均が想定より低い</td><td>0が計算に含まれている</td><td><code>=AVERAGEIF(範囲,"<>0")</code></td></tr><tr><td>フィルター後も平均が変わらない</td><td>AVERAGEは非表示行も計算する</td><td><code>=SUBTOTAL(1,範囲)</code></td></tr><tr><td>エラー値がある範囲で計算できない</td><td>AVERAGE・SUBTOTALはエラーを処理できない</td><td><code>=AGGREGATE(1,7,範囲)</code></td></tr><tr><td>#DIV/0! エラーが出る</td><td>対象範囲に数値がない</td><td><code>=IFERROR(AVERAGE(範囲),"")</code></td></tr><tr><td>特定セルが計算に含まれない</td><td>文字列として格納された数値</td><td>VALUE関数または*1で数値に変換</td></tr><tr><td>重み付きの平均を出したい</td><td>AVERAGE関数では対応できない</td><td><code>=SUMPRODUCT(値,重み)/SUM(重み)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>AVERAGE関数は空白・文字列をスキップするが、<strong>0はスキップしない</strong></li><li>フィルター対応の平均には<strong>SUBTOTAL関数</strong>か<strong>AGGREGATE関数</strong>を使う</li><li>加重平均は<strong>SUMPRODUCT / SUM</strong>の組み合わせで計算する</li><li>文字列格納数値はエラーが出ずに無視されるため、発見が遅れやすい</li><li>テンプレートには<strong>IFERROR</strong>を仕込んでおくと安心</li></ul>



<p class="wp-block-paragraph">AVERAGE関数自体はとてもシンプルです。落とし穴のパターンさえ押さえれば、平均計算で困ることはなくなります。ぜひ今日の業務から試してみてくださいね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-averageif/">AVERAGEIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-averageifs/">AVERAGEIFS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-subtotal/">SUBTOTAL関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-averagea/">AVERAGEA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-median/">MEDIAN関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-count/">COUNT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function/">Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数を機能別に検索</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-average/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
