<?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/%e6%9d%a1%e4%bb%b6%e4%bb%98%e3%81%8d%e9%9b%86%e8%a8%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Apr 2026 22:02:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</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>スプレッドシートのSUMPRODUCT関数の使い方｜配列の積の和</title>
		<link>https://mashukabu.com/spreadsheet-sumproduct-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sumproduct-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 12:28:37 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[SUMPRODUCT]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[加重平均]]></category>
		<category><![CDATA[掛け算の合計]]></category>
		<category><![CDATA[条件付き集計]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4024</guid>

					<description><![CDATA[GoogleスプレッドシートのSUMPRODUCT関数の使い方を初心者向けに解説。単価×数量の合計、条件付き集計、加重平均の計算方法から、SUMIFSとの使い分け、よくあるエラーの対処法まで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「単価と数量をいちいち掛け算して、さらにSUM関数で合計するのが面倒&#8230;」そんな経験、ありませんか？</p>



<p>作業列が増えるとシートがゴチャゴチャしますし、行が増えたときの範囲修正も手間ですよね。</p>



<p>そんなときに使えるのがSUMPRODUCT関数です。掛け算と合計をまとめて1つの数式で処理できます。</p>



<p>この記事では基本の使い方から条件付き集計・加重平均の計算まで紹介します。</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">SUMPRODUCT関数とは？</a></li><li><a href="#toc2" tabindex="0">SUMPRODUCT関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">SUMPRODUCT関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">単価×数量の合計を求める</a></li><li><a href="#toc7" tabindex="0">配列が1つだけの場合</a></li></ol></li><li><a href="#toc8" tabindex="0">SUMPRODUCT関数で条件付き集計する方法</a><ol><li><a href="#toc9" tabindex="0">1つの条件で集計する</a></li><li><a href="#toc10" tabindex="0">複数条件（AND条件）で集計する</a></li><li><a href="#toc11" tabindex="0">OR条件で集計する</a></li></ol></li><li><a href="#toc12" tabindex="0">SUMPRODUCT関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">パターン1: 見積書の合計金額を一発計算</a></li><li><a href="#toc14" tabindex="0">パターン2: 加重平均の計算</a></li><li><a href="#toc15" tabindex="0">パターン3: 複数条件のOR集計</a></li><li><a href="#toc16" tabindex="0">パターン4: 特定条件の件数カウント</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#VALUE!エラーが出る場合</a></li><li><a href="#toc19" tabindex="0">結果が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→SUMIF→SUMIFS→SUMPRODUCTの使い分け</a></li><li><a href="#toc23" tabindex="0">SUMIFS関数とSUMPRODUCT関数の比較</a></li><li><a href="#toc24" tabindex="0">Excelとの違い</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a><ol><li><a href="#toc26" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>SUMPRODUCT関数（読み方: サムプロダクト関数）は、<strong>複数の配列の対応する要素を掛け算し、その合計を返す関数</strong>です。</p>



<p>名前は「SUM（合計）」と「PRODUCT（積・掛け算）」の組み合わせです。文字どおり「掛け算の合計」を求めます。</p>



<p>たとえば商品の「単価」と「数量」が別々の列にあるとします。通常なら作業列で「単価 x 数量」を1行ずつ計算しますよね。さらに<a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>で合計する必要があります。SUMPRODUCT関数なら1つの数式で済みます。</p>



<p>SUMPRODUCT関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>複数の範囲を要素ごとに掛け算して合計する</li><li>条件に合うデータだけを集計する（条件付き集計）</li><li>複数の条件をAND・ORで組み合わせて集計する</li><li>加重平均（重み付き平均）を計算する</li><li>作業列なしでスッキリ計算できる</li></ul>



<p>「掛けてから合計」を1つの数式で実行する関数です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SUMPRODUCT関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=SUMPRODUCT(配列1, [配列2], [配列3], ...)</code></pre>



<p>カッコの中に、計算したい配列やセル範囲を指定します。</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>配列1</td><td>必須</td><td>計算の対象となる最初の配列またはセル範囲</td></tr><tr><td>配列2, &#8230;</td><td>任意</td><td>掛け合わせたい追加の配列やセル範囲（最大30個）</td></tr></tbody></table></figure>



<p>引数が1つだけの場合は範囲の合計を返します。SUM関数と同じ動作です。</p>



<p>引数を2つ以上指定すると、対応する位置の要素同士を掛けてから合計します。</p>



<p>ここで大事なポイントがひとつ。<strong>すべての配列は同じサイズ（行数・列数）にする必要があります</strong>。サイズが違うと <code>#VALUE!</code> エラーになります。</p>



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



<h3 class="wp-block-heading"><span id="toc6">単価×数量の合計を求める</span></h3>



<p>実際にSUMPRODUCT関数を使ってみましょう。よくある「単価 x 数量」の合計を求める例です。</p>



<p>次のような商品リストがあるとします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p>全商品の売上合計を出すには、次の数式を入力します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/02_formula_sumproduct-basic.png" alt="02 formula sumproduct basic" /></figure>



<p>この数式が内部で行っている計算はこうなります。</p>



<pre class="wp-block-code"><code>(200×50) + (150×80) + (100×30) + (300×20)
= 10000 + 12000 + 3000 + 6000
= 31000</code></pre>



<p>結果は <strong>31,000</strong> です。</p>



<p>!<a href="https://mashukabu.com/_images/spreadsheet-sumproduct-function/03_result_sumproduct-basic.png/">_images/spreadsheet-sumproduct-function/03_result_sumproduct-basic.png</a></p>



<p>SUMPRODUCT関数を使わない場合を考えてみましょう。D列に <code>=B2*C2</code> と作業列を作り、さらに <code>=SUM(D2:D5)</code> で合計する2ステップが必要です。SUMPRODUCT関数なら作業列なしで済みます。</p>



<h3 class="wp-block-heading"><span id="toc7">配列が1つだけの場合</span></h3>



<p>引数を1つだけ指定するとSUM関数と同じ動作をします。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B5)</code></pre>



<p>この場合は <code>200+150+100+300 = 750</code> です。あまり使う場面はありませんが、仕組みとして覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">SUMPRODUCT関数で条件付き集計する方法</span></h2>



<p>SUMPRODUCT関数の真価が発揮されるのは条件付き集計です。<a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a>では対応しにくいOR条件にも使えます。</p>



<h3 class="wp-block-heading"><span id="toc9">1つの条件で集計する</span></h3>



<p>商品リストにカテゴリ列を追加したデータで考えてみます。</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>200</td><td>50</td></tr><tr><td>3行目</td><td>ペン</td><td>文房具</td><td>150</td><td>80</td></tr><tr><td>4行目</td><td>マウス</td><td>PC周辺機器</td><td>2000</td><td>10</td></tr><tr><td>5行目</td><td>ファイル</td><td>文房具</td><td>300</td><td>20</td></tr></tbody></table></figure>



<p>「文房具」だけの売上合計を出す数式はこちらです。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/04_formula_sumproduct-condition.png" alt="04 formula sumproduct condition" /></figure>



<p>ちょっと不思議な書き方に見えますよね。ポイントは <code>(B2:B5="文房具")</code> の部分です。</p>



<p>この条件式は各セルが「文房具」と一致するかを判定します。一致すれば <code>TRUE(1)</code>、不一致なら <code>FALSE(0)</code> です。</p>



<p>掛け算に含めることで、条件に合わない行は自動的に0になります。</p>



<pre class="wp-block-code"><code>(TRUE×200×50) + (TRUE×150×80) + (FALSE×2000×10) + (TRUE×300×20)
= (1×200×50) + (1×150×80) + (0×2000×10) + (1×300×20)
= 10000 + 12000 + 0 + 6000
= 28000</code></pre>



<p>結果は <strong>28,000</strong> です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/05_result_sumproduct-condition.png" alt="05 result sumproduct condition" /></figure>



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



<p>条件を2つ以上組み合わせることもできます。「文房具」で、かつ「単価が200以上」の売上合計を出す場合です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*(C2:C5&gt;=200)*C2:C5*D2:D5)</code></pre>



<p>条件部分をカッコで囲んで <code><em></code> でつなぐだけです。<code></em></code> は「AND（かつ）」の意味になります。</p>



<p>条件を増やしたいときも同じパターンで追加できますよ。</p>



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



<p>「文房具<strong>または</strong>PC周辺機器」のようなOR条件にも対応できます。ここがSUMPRODUCT関数の強みです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B5=&quot;文房具&quot;)+(B2:B5=&quot;PC周辺機器&quot;))*C2:C5*D2:D5)</code></pre>



<p>条件を <code>+</code> でつなぐとOR条件になります。</p>



<ul class="wp-block-list"><li><code>*</code>（掛け算） = AND条件（すべて満たす）</li><li><code>+</code>（足し算） = OR条件（いずれか満たす）</li></ul>



<p><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a>でOR条件を書くと、関数を何個も足し算する必要があります。SUMPRODUCT関数なら1つの数式にまとまります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>OR条件で <code>+</code> を使うと、両方の条件に一致する行は2重カウントされます。重複を防ぎたい場合は <code>((条件1)+(条件2)>0)</code> のように <code>>0</code> を付けましょう。</p></blockquote>



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



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



<h3 class="wp-block-heading"><span id="toc13">パターン1: 見積書の合計金額を一発計算</span></h3>



<p>見積書で「単価 x 数量」の合計を出すパターンです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(C2:C20, D2:D20)</code></pre>



<p>C列に単価、D列に数量が入っている見積書ならこれだけです。範囲を広めにとっておけば、行を追加しても修正不要です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 加重平均の計算</span></h3>



<p>テストの点数に重み（配点）を付けて平均を出すパターンです。</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>80</td><td>1</td></tr><tr><td>3行目</td><td>数学</td><td>70</td><td>2</td></tr><tr><td>4行目</td><td>英語</td><td>90</td><td>1.5</td></tr></tbody></table></figure>



<p>配点を加味した加重平均を求めるにはこう書きます。</p>



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



<p>計算の中身はこうなります。</p>



<pre class="wp-block-code"><code>(80×1 + 70×2 + 90×1.5) / (1 + 2 + 1.5)
= (80 + 140 + 135) / 4.5
= 355 / 4.5
= 78.9（小数点以下四捨五入）</code></pre>



<p>単純な平均 <code>(80+70+90)/3 = 80</code> とは異なる結果です。配点の大きい数学（70点）の影響で、加重平均のほうが低くなっています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>加重平均は成績評価だけでなく、仕入れ先ごとの加重平均単価の計算にも使えます。仕入量の多い先の単価をより強く反映できます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 複数条件のOR集計</span></h3>



<p>「営業部<strong>または</strong>総務部」の売上合計を求めるパターンです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B100=&quot;営業部&quot;)+(B2:B100=&quot;総務部&quot;)&gt;0)*E2:E100)</code></pre>



<p>条件が3つ以上でも同じ書き方で拡張できます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B100=&quot;営業部&quot;)+(B2:B100=&quot;総務部&quot;)+(B2:B100=&quot;企画部&quot;)&gt;0)*E2:E100)</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a>の足し算で書くと3つの関数が並んで長くなります。SUMPRODUCT関数なら1つの数式にまとまりますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 特定条件の件数カウント</span></h3>



<p>SUMPRODUCT関数は条件に合うデータの件数を数えることもできます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B100=&quot;営業部&quot;)*(D2:D100=&quot;プランA&quot;))</code></pre>



<p>条件式の結果（TRUE=1/FALSE=0）を掛け算するだけです。合計範囲を指定しないため、1の合計=件数になります。</p>



<p>COUNTIFS関数と同じ結果が得られますが、OR条件にも対応できるのが利点です。</p>



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



<p>SUMPRODUCT関数で困ったときの原因と対策をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー/症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>配列のサイズ（行数・列数）が不一致</td><td>すべての配列を同じサイズに揃える</td></tr><tr><td>結果が0</td><td>セルが「数値に見える文字列」</td><td>VALUE関数で数値に変換、またはデータクリーンアップを実行</td></tr><tr><td>結果が0</td><td>全角・半角の不一致</td><td>ASC関数（半角化）またはJIS関数（全角化）で統一</td></tr><tr><td>結果がおかしい</td><td>条件部分のカッコ忘れ</td><td>条件式は必ずカッコで囲む</td></tr><tr><td>結果がおかしい</td><td>OR条件で2重カウント</td><td><code>>0</code> を付けて重複を防ぐ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">#VALUE!エラーが出る場合</span></h3>



<p>最も多い原因は配列のサイズ不一致です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A1:A5, B1:B3)</code></pre>



<p>この数式はA列が5行、B列が3行で行数が合いません。すべての配列を同じ範囲に揃えてください。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A1:A5, B1:B5)</code></pre>



<p>データを追加した後は特にズレやすいので確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">結果が0になる場合</span></h3>



<p>数値が入っているのに結果が0になるときは「文字列型の数値」が原因です。CSVやWebからコピーしたデータでよく起きます。</p>



<p>セルの表示が左揃えなら文字列型のサインです。次の方法で修正できます。</p>



<ol class="wp-block-list"><li>対象セルを選択 → メニュー「データ」→「データクリーンアップ」で一括変換</li><li>数式内でVALUE関数を使って変換</li></ol>



<pre class="wp-block-code"><code>=SUMPRODUCT(VALUE(B2:B5)*C2:C5)</code></pre>



<h3 class="wp-block-heading"><span id="toc20">条件付き集計の結果がおかしい場合</span></h3>



<p>条件式のカッコ忘れが原因のことが多いです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B5=&quot;文房具&quot;*C2:C5*D2:D5)</code></pre>



<p>上の数式ではカッコがないため、計算順序がおかしくなります。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*C2:C5*D2:D5)</code></pre>



<p>条件式は必ず <code>()</code> で囲むのがルールです。</p>



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



<p>SUMPRODUCT関数と似た機能を持つ関数を比較します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>用途</th><th>条件の扱い</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-sum-function/">SUM</a></td><td>無条件で合計</td><td>条件なし</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF</a></td><td>1条件で合計</td><td>1つだけ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS</a></td><td>複数条件で合計</td><td>AND（すべて満たす）</td></tr><tr><td>SUMPRODUCT</td><td>配列の積を合計</td><td>AND・OR両対応</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">SUM→SUMIF→SUMIFS→SUMPRODUCTの使い分け</span></h3>



<p>集計関数は段階的に使い分けるのがおすすめです。</p>



<ol class="wp-block-list"><li><strong>条件なしの合計</strong> → <a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a></li><li><strong>条件が1つ</strong> → <a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF関数</a></li><li><strong>条件が2つ以上（AND）</strong> → <a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a></li><li><strong>OR条件や掛け算を含む集計</strong> → SUMPRODUCT関数</li></ol>



<p>条件の複雑さに合わせてステップアップするイメージです。シンプルな集計にSUMPRODUCT関数を使う必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc23">SUMIFS関数とSUMPRODUCT関数の比較</span></h3>



<p>どちらも複数条件で合計できます。使い分けのポイントを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SUMIFS</th><th>SUMPRODUCT</th></tr></thead><tbody><tr><td>AND条件</td><td>得意（標準機能）</td><td>得意（条件を<code>*</code>で連結）</td></tr><tr><td>OR条件</td><td>苦手（足し算が必要）</td><td>得意（条件を<code>+</code>で連結）</td></tr><tr><td>掛け算を含む集計</td><td>できない</td><td>得意（配列の積の和）</td></tr><tr><td>数式の読みやすさ</td><td>シンプル</td><td>慣れが必要</td></tr><tr><td>処理速度</td><td>速い</td><td>やや遅い</td></tr><tr><td>ワイルドカード</td><td>使える</td><td>使えない</td></tr></tbody></table></figure>



<p>AND条件だけなら<a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数</a>がシンプルで高速です。OR条件や掛け算を含む集計にはSUMPRODUCT関数を選びましょう。</p>



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



<p>SUMPRODUCT関数の動作はExcelとほぼ同じです。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>基本動作</td><td>同じ</td><td>同じ</td></tr><tr><td>引数の上限</td><td>最大30個</td><td>最大255個</td></tr><tr><td>配列サイズ不一致</td><td>#VALUE!</td><td>#VALUE!</td></tr><tr><td>条件付き集計の書き方</td><td>同じ</td><td>同じ</td></tr><tr><td>空白セルの扱い</td><td>0として処理</td><td>0として処理</td></tr></tbody></table></figure>



<p>引数の上限に違いはありますが、実務で30個を超えることはまずありません。ExcelのSUMPRODUCT関数と同じ書き方で使えますよ。</p>



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



<p>SUMPRODUCT関数のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>SUMPRODUCT関数は「掛け算してから合計」を1つの数式で実行できる</li><li>条件付き集計は <code>(条件式)*集計範囲</code> の形で書く</li><li>AND条件は <code>*</code>、OR条件は <code>+</code> でつなぐ</li><li>加重平均は <code>=SUMPRODUCT(値, 重み)/SUM(重み)</code></li><li>配列のサイズは必ず揃える（揃っていないと#VALUE!エラー）</li><li>シンプルな条件にはSUMIFS、OR条件や掛け算集計にはSUMPRODUCT</li></ul>



<p>まずは <code>=SUMPRODUCT(単価範囲, 数量範囲)</code> の基本形から試してみてください。作業列が不要になりますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-sum-function/">スプレッドシートのSUM関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sumif-function/">スプレッドシートのSUMIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sumifs-function/">スプレッドシートのSUMIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-product-function/">スプレッドシートのPRODUCT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sumproduct-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SUMIF・SUMIFS・SUMPRODUCTの使い分け｜条件付き集計を完全攻略</title>
		<link>https://mashukabu.com/excel-sumif-sumifs-sumproduct-comparison/</link>
					<comments>https://mashukabu.com/excel-sumif-sumifs-sumproduct-comparison/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 17 Mar 2026 12:22:04 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[OR条件]]></category>
		<category><![CDATA[SUMIF]]></category>
		<category><![CDATA[SUMIFS]]></category>
		<category><![CDATA[SUMPRODUCT]]></category>
		<category><![CDATA[使い分け]]></category>
		<category><![CDATA[条件付き集計]]></category>
		<category><![CDATA[比較]]></category>
		<category><![CDATA[複数条件]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4015</guid>

					<description><![CDATA[ExcelのSUMIF・SUMIFS・SUMPRODUCTの違いと使い分けを比較表で解説。条件の数・OR条件・日付範囲・ワイルドカードの4観点から最適な関数を選べるフローチャート付き。]]></description>
										<content:encoded><![CDATA[
<p>「SUMIF・SUMIFS・SUMPRODUCTのどれを使えばいいの？」。そんな悩み、ありませんか？</p>



<p>3つの関数は似ているようで、得意な場面がそれぞれ違います。間違った関数を選ぶと、数式がムダに複雑になります。</p>



<p>この記事では4つの観点で3関数を比較します。選び方フローチャートも用意したので、もう迷いませんよ。</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">SUMIF・SUMIFS・SUMPRODUCTの違い【結論】</a><ol><li><a href="#toc2" tabindex="0">3関数の機能比較一覧表</a></li><li><a href="#toc3" tabindex="0">選択フローチャート</a></li></ol></li><li><a href="#toc4" tabindex="0">SUMIF関数の特徴と基本の使い方</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">使用例</a></li><li><a href="#toc7" tabindex="0">得意な場面・苦手な場面</a></li></ol></li><li><a href="#toc8" tabindex="0">SUMIFS関数の特徴と基本の使い方</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">SUMPRODUCT関数の特徴と基本の使い方</a><ol><li><a href="#toc13" tabindex="0">基本構文</a></li><li><a href="#toc14" tabindex="0">使用例</a></li><li><a href="#toc15" tabindex="0">得意な場面・苦手な場面</a></li></ol></li><li><a href="#toc16" tabindex="0">条件付き集計の4つの観点で徹底比較</a><ol><li><a href="#toc17" tabindex="0">1. 条件の数による使い分け</a></li><li><a href="#toc18" tabindex="0">2. OR条件への対応</a></li><li><a href="#toc19" tabindex="0">3. 日付範囲の指定</a></li><li><a href="#toc20" tabindex="0">4. ワイルドカードの使い方</a></li><li><a href="#toc21" tabindex="0">4観点の比較まとめ表</a></li></ol></li><li><a href="#toc22" tabindex="0">SUMIFSからSUMPRODUCTに条件付き集計を乗り換えるタイミング</a><ol><li><a href="#toc23" tabindex="0">OR条件が必要になったとき</a></li><li><a href="#toc24" tabindex="0">複数列の掛け算と条件付き集計を同時にしたいとき</a></li></ol></li><li><a href="#toc25" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc26" tabindex="0">まとめ</a><ol><li><a href="#toc27" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SUMIF・SUMIFS・SUMPRODUCTの違い【結論】</span></h2>



<p>まず結論です。3つの関数は「条件の複雑さ」で使い分けます。</p>



<ul class="wp-block-list"><li><strong>SUMIF</strong>: 条件が1つだけのシンプルな集計</li><li><strong>SUMIFS</strong>: 条件が2つ以上のAND条件（「かつ」）の集計</li><li><strong>SUMPRODUCT</strong>: OR条件（「または」）や計算式を含む高度な集計</li></ul>



<p>条件が1つならSUMIF、2つ以上の「かつ」ならSUMIFSです。「または」が必要ならSUMPRODUCTを使います。</p>



<h3 class="wp-block-heading"><span id="toc2">3関数の機能比較一覧表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT</a></th></tr></thead><tbody><tr><td>条件の数</td><td>1つだけ</td><td>複数（最大127組）</td><td>複数（実質無制限）</td></tr><tr><td>AND条件（かつ）</td><td>&#8212;</td><td>対応</td><td>対応</td></tr><tr><td>OR条件（または）</td><td>&#8212;</td><td>非対応</td><td>対応</td></tr><tr><td>ワイルドカード（*、?）</td><td>対応</td><td>対応</td><td>非対応</td></tr><tr><td>日付範囲指定</td><td>対応</td><td>対応</td><td>対応</td></tr><tr><td>計算式を条件に使う</td><td>非対応</td><td>非対応</td><td>対応</td></tr><tr><td>対応バージョン</td><td>Excel 2003以降</td><td>Excel 2007以降</td><td>Excel 2003以降</td></tr><tr><td>読み方</td><td>サムイフ</td><td>サムイフエス</td><td>サムプロダクト</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">選択フローチャート</span></h3>



<p>どの関数を使うか迷ったら、次の順番で判断してみてください。</p>



<ol class="wp-block-list"><li><strong>条件は1つだけ？</strong> → <strong>SUMIF</strong> を使う</li><li><strong>条件が2つ以上で、すべて「かつ」？</strong> → <strong>SUMIFS</strong> を使う</li><li><strong>「または」が含まれる？</strong> → <strong>SUMPRODUCT</strong> を使う</li><li><strong>計算結果を条件にしたい？</strong> → <strong>SUMPRODUCT</strong> を使う</li></ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>迷ったらSUMIFSから試そう</strong></p><p>SUMIFS関数は条件1つでも使えます。「条件が増えるかもしれない」場面では、最初からSUMIFSを使っておくと後から条件を追加しやすいですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">SUMIF関数の特徴と基本の使い方</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>は、条件を1つ指定して合計する関数です。</p>



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



<pre class="wp-block-code"><code>=SUMIF(範囲, 検索条件, [合計範囲])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>範囲</td><td>必須</td><td>条件を検索するセル範囲</td></tr><tr><td>検索条件</td><td>必須</td><td>合計対象を絞り込む条件</td></tr><tr><td>合計範囲</td><td>任意</td><td>実際に合計するセル範囲（省略時は「範囲」を合計）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">使用例</span></h3>



<p>次の売上データで「りんご」の合計を求めます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（商品名）</th><th>B列（金額）</th></tr></thead><tbody><tr><td>りんご</td><td>100</td></tr><tr><td>みかん</td><td>200</td></tr><tr><td>りんご</td><td>150</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=SUMIF(A2:A4,&quot;りんご&quot;,B2:B4)</code></pre>



<p>結果は 100 + 150 = <strong>250</strong> です。</p>



<h3 class="wp-block-heading"><span id="toc7">得意な場面・苦手な場面</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>得意</th><th>苦手</th></tr></thead><tbody><tr><td>条件1つの合計</td><td>複数条件の組み合わせ</td></tr><tr><td>ワイルドカードで部分一致</td><td>OR条件（「または」）</td></tr><tr><td>比較演算子（>=、<>）</td><td>計算式を条件にする</td></tr></tbody></table></figure>



<p>条件が2つ以上になったら<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>に切り替えましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">SUMIFS関数の特徴と基本の使い方</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>は、複数の条件をすべて満たすデータだけを合計する関数です。</p>



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



<pre class="wp-block-code"><code>=SUMIFS(合計対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>合計対象範囲</td><td>必須</td><td>合計したい数値の範囲</td></tr><tr><td>条件範囲1</td><td>必須</td><td>1つ目の条件を判定する範囲</td></tr><tr><td>条件1</td><td>必須</td><td>1つ目の条件</td></tr><tr><td>条件範囲2, 条件2</td><td>任意</td><td>2つ目以降の条件ペア（最大127組）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>引数の順番に注意</strong></p><p>SUMIFは「範囲→条件→合計範囲」、SUMIFSは「合計範囲→条件範囲→条件」の順です。合計範囲の位置が逆なのでつまずきやすいポイントです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">使用例</span></h3>



<p>次の売上データで「営業部の、4月の売上合計」を求めます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（日付）</th><th>B列（部署）</th><th>C列（金額）</th></tr></thead><tbody><tr><td>2024/4/1</td><td>営業部</td><td>50000</td></tr><tr><td>2024/4/3</td><td>総務部</td><td>30000</td></tr><tr><td>2024/4/5</td><td>営業部</td><td>80000</td></tr><tr><td>2024/5/2</td><td>営業部</td><td>60000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=SUMIFS(C2:C5, B2:B5, &quot;営業部&quot;, A2:A5, &quot;&gt;=&quot;&amp;DATE(2024,4,1), A2:A5, &quot;&lt;&quot;&amp;DATE(2024,5,1))</code></pre>



<p>B列が「営業部」かつA列が4月の行だけを合計します。結果は 50000 + 80000 = <strong>130,000</strong> です。</p>



<h3 class="wp-block-heading"><span id="toc11">得意な場面・苦手な場面</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>得意</th><th>苦手</th></tr></thead><tbody><tr><td>複数条件のAND合計</td><td>OR条件（「または」）</td></tr><tr><td>ワイルドカードで部分一致</td><td>計算式を条件にする</td></tr><tr><td>日付範囲指定</td><td>配列の掛け算</td></tr></tbody></table></figure>



<p>「営業部<strong>または</strong>総務部」のように、OR条件が必要な場合はSUMPRODUCT関数の出番です。</p>



<h2 class="wp-block-heading"><span id="toc12">SUMPRODUCT関数の特徴と基本の使い方</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数</a>は、配列の掛け算と合計を1つの数式で処理する関数です。条件式を組み込めば条件付き集計もできます。</p>



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



<pre class="wp-block-code"><code>=SUMPRODUCT(配列1, [配列2], [配列3], ...)</code></pre>



<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>条件付き集計のときは、条件式を <code>(条件)*</code> の形で掛け算に含めます。条件に合わない行は0になり、自動的に除外されます。</p>



<h3 class="wp-block-heading"><span id="toc14">使用例</span></h3>



<p>先ほどと同じデータで「営業部の売上合計」を求めます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;営業部&quot;)*C2:C5)</code></pre>



<p><code>(B2:B5="営業部")</code> が各行でTRUE(1) / FALSE(0)を返します。FALSEの行は0倍されて自動的に除外されます。</p>



<h3 class="wp-block-heading"><span id="toc15">得意な場面・苦手な場面</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>得意</th><th>苦手</th></tr></thead><tbody><tr><td>OR条件（「または」）</td><td>ワイルドカード（*、?）</td></tr><tr><td>計算式を条件にする</td><td>部分一致検索</td></tr><tr><td>配列の掛け算+合計</td><td>SUMIFSより数式が長い</td></tr></tbody></table></figure>



<p>ワイルドカードを使いたい場合は、SUMIF/SUMIFSのほうが手軽に書けます。</p>



<h2 class="wp-block-heading"><span id="toc16">条件付き集計の4つの観点で徹底比較</span></h2>



<p>ここからは、実務でよく使う4つのシーンごとに、3関数の具体的な数式を比較します。</p>



<p>次のサンプルデータを使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（日付）</th><th>B列（部署）</th><th>C列（商品）</th><th>D列（金額）</th></tr></thead><tbody><tr><td>2024/4/1</td><td>営業部</td><td>プランA</td><td>50000</td></tr><tr><td>2024/4/3</td><td>総務部</td><td>プランB</td><td>30000</td></tr><tr><td>2024/4/5</td><td>営業部</td><td>プランA</td><td>80000</td></tr><tr><td>2024/4/10</td><td>総務部</td><td>プランC</td><td>45000</td></tr><tr><td>2024/5/2</td><td>営業部</td><td>プランB</td><td>60000</td></tr><tr><td>2024/5/8</td><td>総務部</td><td>プランA</td><td>35000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">1. 条件の数による使い分け</span></h3>



<p><strong>条件1つ</strong>: 「営業部」の合計</p>



<pre class="wp-block-code"><code>=SUMIF(B2:B7,&quot;営業部&quot;,D2:D7)
=SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;)
=SUMPRODUCT((B2:B7=&quot;営業部&quot;)*D2:D7)</code></pre>



<p>3つとも結果は同じ <strong>190,000</strong> です。条件が1つならSUMIFが一番シンプルですね。</p>



<p><strong>条件2つ</strong>: 「営業部」かつ「プランA」の合計</p>



<pre class="wp-block-code"><code>=SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;,C2:C7,&quot;プランA&quot;)
=SUMPRODUCT((B2:B7=&quot;営業部&quot;)*(C2:C7=&quot;プランA&quot;)*D2:D7)</code></pre>



<p>結果は <strong>130,000</strong> です。SUMIF関数は条件が1つだけなので使えません。SUMIFSなら条件ペアを並べるだけです。</p>



<h3 class="wp-block-heading"><span id="toc18">2. OR条件への対応</span></h3>



<p><strong>「営業部」または「総務部」の合計</strong>（この例では全部署が対象になりますが、3部署以上あるケースを想定してください）</p>



<p>SUMIFSには「または」を直接指定する方法がありません。対処法は2つあります。</p>



<p><strong>方法1: SUMIFS関数を足し算する</strong></p>



<pre class="wp-block-code"><code>=SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;)+SUMIFS(D2:D7,B2:B7,&quot;総務部&quot;)</code></pre>



<p>条件が2つ程度ならこの書き方でも問題ありません。ただし3つ以上になると数式が長くなります。</p>



<p><strong>方法2: SUMPRODUCT関数を使う</strong></p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B7=&quot;営業部&quot;)+(B2:B7=&quot;総務部&quot;))*D2:D7)</code></pre>



<p><code>+</code> でOR条件をつなげるだけです。条件が増えても数式の構造は変わりません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>SUMPRODUCTのOR条件の仕組み</strong></p><p><code>(条件1)+(条件2)</code> は、どちらかがTRUE(1)なら合計が1以上になります。これを集計範囲と掛けることで、いずれかの条件に一致する行が集計対象になります。ただしSUMPRODUCTのOR条件では、両方の条件に一致する行が二重カウントされる可能性があります。重複を防ぐには <code>((条件1)+(条件2)>0)</code> と書くのが安全です。</p></blockquote>



<p><strong>AND + OR の組み合わせ</strong>: 「（営業部または総務部）かつプランA」の合計</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B7=&quot;営業部&quot;)+(B2:B7=&quot;総務部&quot;))*(C2:C7=&quot;プランA&quot;)*D2:D7)</code></pre>



<p>このような複合条件はSUMIFSだけでは書けません。SUMPRODUCT関数の出番です。</p>



<h3 class="wp-block-heading"><span id="toc19">3. 日付範囲の指定</span></h3>



<p><strong>2024年4月1日から4月30日までの合計</strong></p>



<p>3関数とも日付範囲の指定に対応しています。</p>



<pre class="wp-block-code"><code>=SUMIFS(D2:D7,A2:A7,&quot;&gt;=&quot;&amp;DATE(2024,4,1),A2:A7,&quot;&lt;&quot;&amp;DATE(2024,5,1))
=SUMPRODUCT((A2:A7&gt;=DATE(2024,4,1))*(A2:A7&lt;DATE(2024,5,1))*D2:D7)</code></pre>



<p>SUMIF関数で日付範囲を指定する場合は、2つのSUMIFの引き算になります。</p>



<pre class="wp-block-code"><code>=SUMIF(A2:A7,&quot;&lt;&quot;&amp;DATE(2024,5,1),D2:D7)-SUMIF(A2:A7,&quot;&lt;&quot;&amp;DATE(2024,4,1),D2:D7)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>日付範囲指定はSUMIFSが一番シンプル</strong></p><p>日付範囲の指定では、SUMIFSが「以上」「未満」を条件ペアとして書けるので最も読みやすいです。日付の計算方法について詳しく知りたい方は、<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</a>も参考にしてみてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc20">4. ワイルドカードの使い方</span></h3>



<p><strong>「プラン」で始まる商品の合計</strong></p>



<pre class="wp-block-code"><code>=SUMIF(C2:C7,&quot;プラン*&quot;,D2:D7)
=SUMIFS(D2:D7,C2:C7,&quot;プラン*&quot;)</code></pre>



<p>結果は <strong>300,000</strong>（全行が該当）です。</p>



<p>SUMPRODUCT関数ではワイルドカードが使えません。代わりにFIND関数やSEARCH関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ISNUMBER(FIND(&quot;プラン&quot;,C2:C7))*D2:D7)</code></pre>



<p>ワイルドカードを使った部分一致の集計は、SUMIF/SUMIFSのほうが圧倒的にシンプルですね。</p>



<h3 class="wp-block-heading"><span id="toc21">4観点の比較まとめ表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>シーン</th><th>おすすめ関数</th><th>理由</th></tr></thead><tbody><tr><td>条件1つ</td><td>SUMIF</td><td>引数が少なくシンプル</td></tr><tr><td>複数条件（AND）</td><td>SUMIFS</td><td>条件ペアを並べるだけ</td></tr><tr><td>OR条件（または）</td><td>SUMPRODUCT</td><td><code>+</code> で条件をつなげるだけ</td></tr><tr><td>AND + OR の複合条件</td><td>SUMPRODUCT</td><td><code>*</code> と <code>+</code> で自由に組める</td></tr><tr><td>日付範囲</td><td>SUMIFS</td><td>以上・未満の条件ペアで読みやすい</td></tr><tr><td>ワイルドカード（部分一致）</td><td>SUMIF / SUMIFS</td><td>SUMPRODUCT非対応</td></tr><tr><td>計算結果を条件にする</td><td>SUMPRODUCT</td><td>配列で計算式が使える</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc22">SUMIFSからSUMPRODUCTに条件付き集計を乗り換えるタイミング</span></h2>



<p>SUMIFSで集計していたけど、要件が変わって対応できなくなった。そんなときがSUMPRODUCTの出番です。</p>



<h3 class="wp-block-heading"><span id="toc23">OR条件が必要になったとき</span></h3>



<p>典型的な移行シナリオです。</p>



<p><strong>Before（SUMIFSの足し算）</strong>:</p>



<pre class="wp-block-code"><code>=SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;,C2:C7,&quot;プランA&quot;)
+SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;,C2:C7,&quot;プランB&quot;)
+SUMIFS(D2:D7,B2:B7,&quot;営業部&quot;,C2:C7,&quot;プランC&quot;)</code></pre>



<p>プランが3つなので3行になっています。プランが増えるたびに行が増えて管理が大変です。</p>



<p><strong>After（SUMPRODUCTに乗り換え）</strong>:</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B7=&quot;営業部&quot;)*((C2:C7=&quot;プランA&quot;)+(C2:C7=&quot;プランB&quot;)+(C2:C7=&quot;プランC&quot;))*D2:D7)</code></pre>



<p>1つの数式にまとまりました。AND条件（営業部）は <code>*</code>、OR条件（プランA/B/C）は <code>+</code> でつなぎます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>乗り換えの目安</strong></p><p>OR条件が2つ以下ならSUMIFSの足し算でも管理できます。3つ以上になったらSUMPRODUCTに切り替えるのがおすすめです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc24">複数列の掛け算と条件付き集計を同時にしたいとき</span></h3>



<p>「単価 x 数量」の合計を条件付きで出したい場面です。</p>



<figure class="wp-block-table"><table><thead><tr><th>B列（部署）</th><th>C列（単価）</th><th>D列（数量）</th></tr></thead><tbody><tr><td>営業部</td><td>1000</td><td>50</td></tr><tr><td>総務部</td><td>2000</td><td>30</td></tr><tr><td>営業部</td><td>1500</td><td>20</td></tr></tbody></table></figure>



<p><strong>SUMIFS関数の場合</strong>: 作業列が必要</p>



<pre class="wp-block-code"><code>E2セル: =C2*D2（作業列で単価x数量を計算）
集計: =SUMIFS(E2:E4,B2:B4,&quot;営業部&quot;)</code></pre>



<p><strong>SUMPRODUCT関数の場合</strong>: 作業列なし</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B4=&quot;営業部&quot;)*C2:C4*D2:D4)</code></pre>



<p>作業列を使わずに1つの数式で完結できるのがSUMPRODUCTの強みです。</p>



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



<p>3関数で共通して起きやすいエラーをまとめました。</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><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>でスペース除去</td></tr><tr><td>結果が0になる</td><td>全角・半角の不一致</td><td>ASC関数/JIS関数で統一</td></tr><tr><td>結果が0になる</td><td>数値が文字列として保存されている</td><td><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で変換</td></tr><tr><td>#VALUE!エラー</td><td>範囲のサイズ（行数）が不一致</td><td>すべての範囲を同じ行数に揃える</td></tr><tr><td>#VALUE!エラー</td><td>検索条件が255文字を超えている</td><td>条件を短くするかセル参照に変更</td></tr><tr><td>期待値と合わない</td><td>SUMIFSの引数順を間違えている</td><td>合計範囲が<strong>最初</strong>の引数か確認</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>引数の順番ミスに注意</strong></p><p>SUMIFは「範囲→条件→合計範囲」、SUMIFSは「<strong>合計範囲</strong>→条件範囲→条件」です。SUMIF関数に慣れた方がSUMIFSを使い始めるとき、合計範囲の位置を間違えやすいので気をつけてください。</p></blockquote>



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



<p>SUMIF・SUMIFS・SUMPRODUCTの使い分けをおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>SUMIF</strong>: 条件1つのシンプルな集計に最適</li><li><strong>SUMIFS</strong>: 複数条件のAND集計（「かつ」）に最適</li><li><strong>SUMPRODUCT</strong>: OR条件（「または」）や計算式を条件にする高度な集計に最適</li></ul>



<p>迷ったときの判断基準は次の3ステップです。</p>



<ol class="wp-block-list"><li>条件が1つ → SUMIF</li><li>条件が2つ以上で「かつ」 → SUMIFS</li><li>「または」が含まれる → SUMPRODUCT</li></ol>



<p>まずは<a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>から始めましょう。条件が増えたら<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>へ切り替えます。OR条件が出てきたら<a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数</a>の出番です。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-count-functions-comparison/">COUNT系5関数の違いと使い分け早見表</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-sumproduct/">SUMPRODUCT関数の使い方</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-if/">IF関数の使い方</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><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-countblank/">COUNTBLANK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</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><li><a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-sumif-sumifs-sumproduct-comparison/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SUMPRODUCT関数の使い方｜複数条件の集計を実例で解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-sumproduct/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sumproduct/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 13 Mar 2022 14:59:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[OR条件]]></category>
		<category><![CDATA[SUMPRODUCT関数]]></category>
		<category><![CDATA[加重平均]]></category>
		<category><![CDATA[条件付き集計]]></category>
		<category><![CDATA[複数条件]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1353</guid>

					<description><![CDATA[ExcelのSUMPRODUCT関数の使い方を初心者向けに解説。基本の「掛けて合計」から、条件付き集計・OR条件・加重平均の実務テクニックまで実例付きで紹介。SUMIF・SUMIFSとの使い分けも解説します。]]></description>
										<content:encoded><![CDATA[
<p>「商品ごとの売上を出したいけど、単価と数量を1行ずつ掛けてから合計するのは面倒&#8230;」。Excelで集計作業をしていると、こんな場面に出くわしますよね。</p>



<p>作業列を増やすほどシートが散らかるし、ミスも起きやすくなります。</p>



<p>そんなときに頼りになるのが、ExcelのSUMPRODUCT関数です。「掛け算して合計」を1つの数式でこなせるうえ、条件付き集計やOR条件にも対応できる万能な関数ですよ。</p>



<p>この記事では、SUMPRODUCT関数の基本構文から条件付き集計、OR条件、加重平均まで、実例付きでわかりやすく解説します。</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">ExcelのSUMPRODUCT関数とは？</a></li><li><a href="#toc2" tabindex="0">SUMPRODUCT関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">SUMPRODUCT関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">SUMPRODUCT関数の応用例｜条件付き集計</a><ol><li><a href="#toc7" tabindex="0">1つの条件で集計する</a></li><li><a href="#toc8" tabindex="0">複数条件（AND）で集計する</a></li><li><a href="#toc9" tabindex="0">OR条件で集計する</a></li></ol></li><li><a href="#toc10" tabindex="0">SUMPRODUCT関数の実務テクニック</a><ol><li><a href="#toc11" tabindex="0">加重平均を求める</a></li><li><a href="#toc12" tabindex="0">COUNTIFの代わりに条件付きカウントをする</a></li></ol></li><li><a href="#toc13" tabindex="0">SUMPRODUCT関数でよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc15" tabindex="0">数値が入っているのに結果が0になる</a></li><li><a href="#toc16" tabindex="0">条件式で結果がおかしい</a></li></ol></li><li><a href="#toc17" tabindex="0">SUMIF・SUMIFS関数との違い・使い分け</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>SUMPRODUCT関数（読み方: サムプロダクト）は、<strong>複数の配列の対応する要素を掛け算し、その合計を返す関数</strong>です。</p>



<p>名前は「SUM（合計）」と「PRODUCT（積・掛け算）」の組み合わせ。文字どおり「掛け算の合計」を一発で求められます。</p>



<p>たとえば、商品リストの「単価」と「数量」があるとき、全商品の売上合計をワンステップで計算できます。通常なら作業列に「単価 x 数量」を入力してからSUM関数で合計しますが、SUMPRODUCT関数なら数式1つで済むわけです。</p>



<p>SUMPRODUCT関数でできることを整理すると、次のとおりです。</p>



<ul class="wp-block-list"><li>複数の範囲を要素ごとに掛け算して合計する</li><li>条件に合うデータだけを集計する（条件付き集計）</li><li>複数の条件やOR条件を組み合わせた集計を行う</li><li>加重平均を求める</li><li>作業列を使わずにスマートに計算できる</li></ul>



<p><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>で「合計」は得意だけど、「掛けてから合計」はできない。そんな場面で活躍する関数です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SUMPRODUCT関数はExcel 2007以降のすべてのバージョンとMicrosoft 365で使えます。Googleスプレッドシートでも同じ構文で利用可能です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=SUMPRODUCT(配列1, [配列2], [配列3], ...)</code></pre>



<p>カッコの中に、計算したい配列やセル範囲を指定します。</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>配列1</td><td>必須</td><td>計算の対象となる最初の配列またはセル範囲</td></tr><tr><td>配列2, 配列3, &#8230;</td><td>任意</td><td>掛け合わせたい追加の配列（最大255個まで）</td></tr></tbody></table></figure>



<p>引数が1つだけの場合は、その範囲の合計を返します。<a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>と同じ動作ですね。引数を2つ以上指定すると、対応する位置の要素同士を掛け算してから合計します。</p>



<p>ここで大事なポイントがひとつ。<strong>すべての配列は同じサイズ（行数・列数）にする必要があります</strong>。サイズが違うと <code>#VALUE!</code> エラーになるので注意してください。</p>



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



<p>実際にSUMPRODUCT関数を使ってみましょう。よくある「単価 x 数量」の合計を求める例で説明します。</p>



<p>次のような商品リストがあるとします。</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>1行目</td><td>商品名</td><td>単価</td><td>数量</td></tr><tr><td>2行目</td><td>ノート</td><td>200</td><td>50</td></tr><tr><td>3行目</td><td>ペン</td><td>150</td><td>80</td></tr><tr><td>4行目</td><td>消しゴム</td><td>100</td><td>30</td></tr><tr><td>5行目</td><td>ファイル</td><td>300</td><td>20</td></tr></tbody></table></figure>



<p>全商品の売上合計を出すには、次の数式を入力します。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B5, C2:C5)</code></pre>



<p>この数式は内部で次のように計算しています。</p>



<pre class="wp-block-code"><code>(200 x 50) + (150 x 80) + (100 x 30) + (300 x 20)
= 10,000 + 12,000 + 3,000 + 6,000
= 31,000</code></pre>



<p>結果は <strong>31,000</strong> です。</p>



<p>もしSUMPRODUCT関数を使わない場合、D列に <code>=B2*C2</code> と作業列を作り、さらに <code>=SUM(D2:D5)</code> で合計する2ステップが必要です。SUMPRODUCT関数なら作業列なしで1つの数式にまとまるのがうれしいですよね。</p>



<h2 class="wp-block-heading"><span id="toc6">SUMPRODUCT関数の応用例｜条件付き集計</span></h2>



<p>SUMPRODUCT関数の真価が発揮されるのは、条件付き集計の場面です。「特定の条件に合うデータだけを集計したい」ときに大活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">1つの条件で集計する</span></h3>



<p>先ほどの商品リストにカテゴリ列を追加したデータで考えてみましょう。</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>200</td><td>50</td></tr><tr><td>3行目</td><td>ペン</td><td>文房具</td><td>150</td><td>80</td></tr><tr><td>4行目</td><td>マウス</td><td>PC周辺機器</td><td>2,000</td><td>10</td></tr><tr><td>5行目</td><td>ファイル</td><td>文房具</td><td>300</td><td>20</td></tr></tbody></table></figure>



<p>「文房具」だけの売上合計を出したい場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*C2:C5*D2:D5)</code></pre>



<p>ポイントは <code>(B2:B5="文房具")</code> の部分です。この条件判定は、各セルが「文房具」かどうかを <code>TRUE(1)</code> / <code>FALSE(0)</code> で返します。結果を掛け算に含めることで、条件に合わない行が自動的に0になる仕組みです。</p>



<pre class="wp-block-code"><code>(TRUE x 200 x 50) + (TRUE x 150 x 80) + (FALSE x 2000 x 10) + (TRUE x 300 x 20)
= (1 x 200 x 50) + (1 x 150 x 80) + (0 x 2000 x 10) + (1 x 300 x 20)
= 10,000 + 12,000 + 0 + 6,000
= 28,000</code></pre>



<p>結果は <strong>28,000</strong> です。</p>



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



<p>条件を2つ以上組み合わせることもできます。「文房具」で、かつ「単価が200以上」の売上合計を出す場合は次のとおりです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*(C2:C5&gt;=200)*C2:C5*D2:D5)</code></pre>



<p>条件部分をカッコで囲んで <code>*</code> でつなぐだけ。条件をいくつ増やしても同じパターンで追加できます。</p>



<p>計算過程を確認してみましょう。</p>



<pre class="wp-block-code"><code>文房具かつ単価200以上のデータ:
  ノート: 文房具=TRUE, 200&gt;=200=TRUE → 1 x 1 x 200 x 50 = 10,000
  ペン:   文房具=TRUE, 150&gt;=200=FALSE → 1 x 0 x 150 x 80 = 0
  マウス: PC周辺機器=FALSE             → 0 x ... = 0
  ファイル: 文房具=TRUE, 300&gt;=200=TRUE → 1 x 1 x 300 x 20 = 6,000

合計 = 10,000 + 0 + 0 + 6,000 = 16,000</code></pre>



<p>結果は <strong>16,000</strong> です。</p>



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



<p>「文房具」<strong>または</strong>「PC周辺機器」のデータを集計したい場合、<code>+</code> を使ってOR条件を作れます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B5=&quot;文房具&quot;)+(B2:B5=&quot;PC周辺機器&quot;))*C2:C5*D2:D5)</code></pre>



<p><code>*</code> がAND条件、<code>+</code> がOR条件と覚えておくとわかりやすいですよ。</p>



<p>ただし、OR条件のときはひとつ注意点があります。両方の条件に当てはまるデータがある場合、合計値が2倍になってしまいます。これを防ぐには、条件の結果を <code>>0</code> で判定する方法がおすすめです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B5=&quot;文房具&quot;)+(B2:B5=&quot;PC周辺機器&quot;)&gt;0)*C2:C5*D2:D5)</code></pre>



<p><code>>0</code> を加えることで、条件の合計が1以上なら <code>TRUE(1)</code> に統一されます。重複カウントの心配がなくなりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OR条件は<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>では直接書けません。OR条件が必要なときこそ、SUMPRODUCT関数の出番です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc10">SUMPRODUCT関数の実務テクニック</span></h2>



<p>条件付き集計以外にも、実務で使えるテクニックがあります。代表的な2つを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc11">加重平均を求める</span></h3>



<p>「科目ごとに配点（重み）が違うテストの平均点を出したい」。こんなときは加重平均が必要です。</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>1行目</td><td>科目</td><td>点数</td><td>配点</td></tr><tr><td>2行目</td><td>数学</td><td>80</td><td>3</td></tr><tr><td>3行目</td><td>英語</td><td>90</td><td>2</td></tr><tr><td>4行目</td><td>国語</td><td>70</td><td>1</td></tr></tbody></table></figure>



<p>加重平均の計算式はこうなります。</p>



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



<p>計算の流れを確認しましょう。</p>



<pre class="wp-block-code"><code>分子: (80 x 3) + (90 x 2) + (70 x 1) = 240 + 180 + 70 = 490
分母: 3 + 2 + 1 = 6
加重平均: 490 / 6 ≒ 81.7</code></pre>



<p>AVERAGE関数の単純平均は <code>(80+90+70)/3 = 80</code> ですが、配点を考慮した加重平均は <strong>約81.7</strong> になります。配点の大きい数学の比重が高くなるわけですね。</p>



<h3 class="wp-block-heading"><span id="toc12">COUNTIFの代わりに条件付きカウントをする</span></h3>



<p>SUMPRODUCT関数で条件に合うデータの件数を数えることもできます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*1)</code></pre>



<p>条件式 <code>(B2:B5="文房具")</code> が返す <code>TRUE/FALSE</code> に <code>*1</code> を掛けると <code>1/0</code> の数値になります。その合計がそのまま件数です。この例では <strong>3</strong> が返ります。</p>



<p>単純なカウントなら<a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数</a>で十分です。ただし、「文房具で単価200以上」のように複数条件をANDやORで組み合わせたいときは、SUMPRODUCT関数のほうが柔軟に書けますよ。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*(C2:C5&gt;=200)*1)</code></pre>



<p>この数式は「文房具かつ単価200以上」のデータを数えます。結果は <strong>2</strong> （ノートとファイル）です。</p>



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



<p>SUMPRODUCT関数を使っていると遭遇しやすいエラーを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc14">#VALUE! エラー</span></h3>



<p><strong>原因</strong>: 指定した配列のサイズ（行数・列数）が一致していない。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A1:A5, B1:B3)  ← 5行と3行で不一致</code></pre>



<p><strong>対処法</strong>: すべての配列を同じサイズに揃えましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A1:A5, B1:B5)  ← 両方5行に揃える</code></pre>



<p>データを追加したあとは特に要注意です。範囲の行数がずれていないか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc15">数値が入っているのに結果が0になる</span></h3>



<p><strong>原因</strong>: セルの値が「数値に見える文字列」になっている可能性があります。CSVファイルからデータを取り込んだ場合によく起きるトラブルです。</p>



<p>セルの左上に緑の三角マークが表示されていたら、文字列として格納されているサインです。</p>



<p><strong>対処法</strong>: 対象セルを選択して「数値に変換」を実行するか、VALUE関数（文字列を数値に変換する関数）で明示的に変換してから使いましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(VALUE(A1:A5)*B1:B5)</code></pre>



<h3 class="wp-block-heading"><span id="toc16">条件式で結果がおかしい</span></h3>



<p><strong>原因</strong>: 条件部分のカッコが抜けている。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B5=&quot;文房具&quot;*C2:C5*D2:D5)  ← カッコ忘れ</code></pre>



<p><strong>対処法</strong>: 条件部分は必ずカッコで囲みましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B5=&quot;文房具&quot;)*C2:C5*D2:D5)  ← 正しい</code></pre>



<p>カッコを忘れると、<code>"文房具"*C2:C5</code> が先に評価されて <code>#VALUE!</code> エラーになることもあります。条件式には必ずカッコを付ける、と覚えておくと安心ですよ。</p>



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



<p>SUMPRODUCT関数と似た機能を持つ関数との違いを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SUMIF関数</th><th>SUMIFS関数</th><th>SUMPRODUCT関数</th></tr></thead><tbody><tr><td>条件の数</td><td>1つ</td><td>複数（AND）</td><td>複数（AND + OR）</td></tr><tr><td>掛け算+合計</td><td>できない</td><td>できない</td><td>できる</td></tr><tr><td>OR条件</td><td>できない</td><td>直接はできない</td><td><code>+</code> で簡単に書ける</td></tr><tr><td>計算式を条件に使う</td><td>できない</td><td>できない</td><td>できる</td></tr><tr><td>書きやすさ</td><td>シンプル</td><td>わかりやすい</td><td>やや複雑</td></tr><tr><td>処理速度</td><td>速い</td><td>速い</td><td>やや遅い（大量データ時）</td></tr></tbody></table></figure>



<p>使い分けの目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>条件が1つだけ</strong> → <a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>がシンプルでおすすめ</li><li><strong>複数条件（AND）</strong> → <a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>が引数の形で条件を指定できて直感的</li><li><strong>OR条件が必要</strong> → SUMPRODUCT関数の出番</li><li><strong>「掛けてから合計」が必要</strong> → SUMPRODUCT関数一択</li><li><strong>計算式を条件にしたい</strong> → SUMPRODUCT関数が最適</li></ul>



<p>より詳しい比較は「<a href="https://mashukabu.com/excel-sumif-sumifs-sumproduct-comparison/">SUMIF・SUMIFS・SUMPRODUCTの使い分け｜条件付き集計を完全攻略</a>」で解説しています。</p>



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



<p>この記事では、ExcelのSUMPRODUCT関数の使い方を基本から応用まで解説しました。</p>



<p>ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>SUMPRODUCT関数は「掛け算してから合計」を1つの数式で実行できる</li><li>条件付き集計は <code>(条件式)*集計範囲</code> の形で書く</li><li>複数条件（AND）は <code>(条件1)<em>(条件2)</code> のように <code></em></code> でつなぐ</li><li>OR条件は <code>(条件1)+(条件2)</code> のように <code>+</code> でつなぐ</li><li>加重平均は <code>SUMPRODUCT(値, 重み) / SUM(重み)</code> で求められる</li><li>配列のサイズは必ず揃える（<code>#VALUE!</code> エラーの原因になる）</li><li>単純な条件合計にはSUMIF・SUMIFS、柔軟な条件合計にはSUMPRODUCTと使い分けよう</li></ul>



<p>最初はちょっと取っつきにくく感じるかもしれません。でも一度覚えてしまえば、作業列を減らせてシートがすっきりしますよ。ぜひ実務で試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sumproduct/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
