<?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>SUMPRODUCT関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/sumproduct%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 11 Aug 2026 09:05:39 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>SUMPRODUCT関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Excelの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関数の使い方を、単価×数量の「掛けて合計」から複数条件のAND・OR集計まで実例で解説します。*が「かつ」、+が「または」になる理由や、#VALUE!・結果が0になるときの切り分け手順、SUMIFSとの使い分け基準もまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「単価 × 数量の合計を出したいだけなのに、作業列を作るのが面倒…」。Excelで集計をしていると、一度はぶつかる壁ですよね。作業列が増えるほどシートは散らかります。</p>



<p class="wp-block-paragraph">かといって、ネットで拾ったSUMPRODUCT関数の数式を貼り付けたとします。今度は <code>#VALUE!</code> が出たり、結果が0になったり。原因がわからないまま時間だけ過ぎるのは、なかなか面倒ですよね。</p>



<p class="wp-block-paragraph">SUMPRODUCT関数は、「掛けてから合計」を数式1つで片づけてくれる関数です。複数条件のAND集計も、SUMIFSでは書けないOR条件も、作業列なしでこなせます。</p>



<p class="wp-block-paragraph">この記事では基本の使い方に加えて、つまずきやすい症状の切り分け手順まで解説しますね。対象は <code>#VALUE!</code>・「0になる」・「合計が2倍になる」の3つ。SUMIFSとの使い分け基準も、3つの判定リストに整理しました。</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のSUMPRODUCT関数とは？「掛けてから合計」が1つの式で終わる</a><ol><li><a href="#toc2" tabindex="0">構文と引数(配列は最大255個・サイズを揃える)</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">条件つき集計は「*」が『かつ』、「+」が『または』</a><ol><li><a href="#toc6" tabindex="0">1条件の合計：条件式をカッコで囲んで掛ける</a></li><li><a href="#toc7" tabindex="0">複数条件（AND）と月×商品のクロス集計</a></li><li><a href="#toc8" tabindex="0">OR条件で合計が2倍になる問題と >0 での正規化</a></li><li><a href="#toc9" tabindex="0">件数を数えるときだけ必要なダブルマイナス --</a></li></ol></li><li><a href="#toc10" tabindex="0">SUMIFSで足りない3場面（SUMPRODUCTを選ぶ基準）</a><ol><li><a href="#toc11" tabindex="0">①OR条件（AまたはB）が必要なとき</a></li><li><a href="#toc12" tabindex="0">②掛けてから合計が必要なとき（売上・加重平均）</a></li><li><a href="#toc13" tabindex="0">③計算式・部分一致・関数結果を条件にしたいとき</a></li></ol></li><li><a href="#toc14" tabindex="0">SUMPRODUCTがうまくいかないときの原因と直し方</a><ol><li><a href="#toc15" tabindex="0">症状別・早見表（#VALUE! / 0になる / 2倍になる / 重い）</a></li><li><a href="#toc16" tabindex="0">#VALUE! になる：行数・列数の不一致を3ステップで切り分ける</a></li><li><a href="#toc17" tabindex="0">0になる・小さすぎる：文字列数値と空白セルを疑う</a></li><li><a href="#toc18" tabindex="0">カンマ区切りと * 形式で結果が変わる理由</a></li><li><a href="#toc19" tabindex="0">条件式のカッコ抜け・演算子ミス</a></li><li><a href="#toc20" tabindex="0">計算が重いとき：列全体参照をやめる</a></li></ol></li><li><a href="#toc21" tabindex="0">よくある質問｜SUMPRODUCT関数</a><ol><li><a href="#toc22" tabindex="0">Q. Ctrl+Shift+Enter での確定は必要？</a></li><li><a href="#toc23" tabindex="0">Q. ダブルマイナス -- は必ず要る？</a></li><li><a href="#toc24" tabindex="0">Q. SUMPRODUCT と PRODUCT は何が違う？</a></li><li><a href="#toc25" tabindex="0">Q. Googleスプレッドシートでも同じように使える？</a></li><li><a href="#toc26" tabindex="0">Q. 大量データで重いときはどうする？</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのSUMPRODUCT関数とは？「掛けてから合計」が1つの式で終わる</span></h2>



<p class="wp-block-paragraph">SUMPRODUCT関数とは、複数の配列（セル範囲）の対応する要素を掛け算し、その合計を返す関数です。読み方は「サムプロダクト」。名前は SUM（合計）と PRODUCT（積）を足したものです。</p>



<p class="wp-block-paragraph">普通なら作業列に <code>=B2*C2</code> を入れて、そのあとSUM関数で足し上げますよね。SUMPRODUCT関数なら、この2ステップが数式1つに収まります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: 公式の適用対象は Excel for Microsoft 365 / 2024 / 2021 / 2019 / 2016（Mac版を含む）です。Ctrl + Shift + Enter による配列数式の確定は不要で、通常のEnterで確定できます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">構文と引数(配列は最大255個・サイズを揃える)</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 class="wp-block-paragraph">引数が1つだけなら、その範囲をそのまま合計します。2つ以上を指定すると、対応する位置の要素を掛けてから合計する動作に変わります。</p>



<p class="wp-block-paragraph">そして、最重要の制約がひとつ。<strong>すべての配列は行数・列数を揃える</strong>必要があります。ずれていると <code>#VALUE!</code> エラーになるので、範囲指定は慎重にいきましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">単価×数量の合計を作業列なしで出す</span></h3>



<p class="wp-block-paragraph">次のような商品リストで試してみます。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（商品名）</th><th>B列（単価）</th><th>C列（数量）</th></tr></thead><tbody><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 class="wp-block-paragraph">全商品の売上合計を出す数式は、これだけ。</p>



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

(200 × 50) + (150 × 80) + (100 × 30) + (300 × 20)
= 10,000 + 12,000 + 3,000 + 6,000
= 31,000</code></pre>



<p class="wp-block-paragraph">結果は <strong>31,000</strong> になります。作業列に <code>=B2*C2</code> を並べて <code>=SUM(D2:D5)</code> で合計する。その2ステップが丸ごと消えるわけです。</p>



<h3 class="wp-block-heading"><span id="toc4">なぜ作業列が要らないのか（配列の途中結果を見る）</span></h3>



<p class="wp-block-paragraph">理由は、SUMPRODUCT関数が内部で「配列」を作っているから。配列とは、ここでは<strong>セル範囲の値をまとめて並べた見えないリスト</strong>のことです。</p>



<pre class="wp-block-code"><code>B2:B5 → {200, 150, 100, 300}
C2:C5 → {50, 80, 30, 20}

掛け合わせた途中結果 → {10000, 12000, 3000, 6000}
合計 → 31,000</code></pre>



<p class="wp-block-paragraph">この <code>{10000, 12000, 3000, 6000}</code> こそ、本来なら作業列に並ぶはずだった値。それをセルに書き出さず、内部で持ったまま合計まで進みます。だから列が増えないんですね。</p>



<h2 class="wp-block-heading"><span id="toc5">条件つき集計は「*」が『かつ』、「+」が『または』</span></h2>



<p class="wp-block-paragraph">SUMPRODUCT関数の本当のおいしさは、条件つき集計にあります。押さえるべき原則は、たった1行。</p>



<p class="wp-block-paragraph"><strong>条件式が返す TRUE / FALSE は、算術演算に入ると 1 / 0 として計算される</strong>。</p>



<p class="wp-block-paragraph">この性質から、演算子の意味が自動的に決まります。</p>



<ul class="wp-block-list"><li><strong>掛け算 <code>*</code> = かつ（AND）</strong>: <code>1 × 1</code> のときだけ 1。片方でも0なら結果は0</li><li><strong>足し算 <code>+</code> = または（OR）</strong>: <code>0 + 0</code> のときだけ 0。どちらかが1なら1以上</li></ul>



<p class="wp-block-paragraph">理屈がわかっていれば、条件が3つ4つに増えても同じ型で書けますよ。以降は次の表を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（商品名）</th><th>B列（カテゴリ）</th><th>C列（単価）</th><th>D列（数量）</th></tr></thead><tbody><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><tr><td>6</td><td>コーヒー</td><td>飲料</td><td>120</td><td>40</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">1条件の合計：条件式をカッコで囲んで掛ける</span></h3>



<p class="wp-block-paragraph">「文房具」だけの売上合計を出してみましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B6=&quot;文房具&quot;)*C2:C6*D2:D6)

(1×200×50) + (1×150×80) + (0×2000×10) + (1×300×20) + (0×120×40)
= 28,000</code></pre>



<p class="wp-block-paragraph">ポイントは <code>(B2:B6="文房具")</code> の部分。各行が文房具かどうかを判定し、TRUE / FALSE を並べた配列を作ります。それを単価・数量に掛けると、条件に合わない行だけが0になる仕組みです。</p>



<p class="wp-block-paragraph">結果は <strong>28,000</strong>。マウスとコーヒーは0が掛かって消えました。</p>



<p class="wp-block-paragraph">掛け算をせず「金額だけ」を条件つきで合計したい場面もありますよね。その場合は<a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数の使い方</a>のほうが、数式が短く読みやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc7">複数条件（AND）と月×商品のクロス集計</span></h3>



<p class="wp-block-paragraph">条件を増やすときは、カッコで囲んで <code>*</code> でつなぐだけ。「文房具」かつ「単価が200円以上」の売上合計はこうなります。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B6=&quot;文房具&quot;)*(C2:C6&gt;=200)*C2:C6*D2:D6)

ノート  : 1 × 1 × 200 × 50 = 10,000
ペン    : 1 × 0 × 150 × 80 =      0   ← 単価150は条件外
マウス  : 0（カテゴリ不一致）=      0
ファイル: 1 × 1 × 300 × 20 =  6,000
コーヒー: 0（カテゴリ不一致）=      0
                     合計 = 16,000</code></pre>



<p class="wp-block-paragraph">結果は <strong>16,000</strong> です。この型は月別×商品別のクロス集計にもそのまま使えます。</p>



<p class="wp-block-paragraph">たとえばA列に月、B列に商品名、C列に金額を並べた明細表なら、次の形になります。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((A2:A5=&quot;4月&quot;)*(B2:B5=&quot;ノート&quot;)*C2:C5)</code></pre>



<p class="wp-block-paragraph">行見出し・列見出しを参照する形にすれば、数式1つをコピーするだけ。クロス集計表がそのまま完成しますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">OR条件で合計が2倍になる問題と >0 での正規化</span></h3>



<p class="wp-block-paragraph">次はOR条件。「文房具」または「PC周辺機器」の売上合計を出します。</p>



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



<p class="wp-block-paragraph">結果は <strong>48,000</strong> です。内訳はノート10,000＋ペン12,000＋マウス20,000＋ファイル6,000。飲料のコーヒーだけが除外されました。</p>



<p class="wp-block-paragraph">ここまでは順調です。問題は、<strong>同じ行が両方の条件を満たしうるOR条件</strong>を書いたとき。別々の列を条件にすると、この状況が起きやすくなります。</p>



<p class="wp-block-paragraph">試しに「文房具」または「数量が30以上」で集計してみましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B6=&quot;文房具&quot;)+(D2:D6&gt;=30))*C2:C6*D2:D6)

条件A（文房具）     : {1, 1, 0, 1, 0}
条件B（数量30以上） : {1, 1, 0, 0, 1}
A + B               : {2, 2, 0, 1, 1}   ← ノートとペンが 2

2×10,000 + 2×12,000 + 0 + 1×6,000 + 1×4,800 = 54,800</code></pre>



<p class="wp-block-paragraph">両方の条件を満たすノートとペンが、2回ぶん数えられました。正しい答えは 32,800 のはずなのに、22,000 も多い数字です。</p>



<p class="wp-block-paragraph">直し方はシンプル。足し算の結果を <code>>0</code> で判定し、1 / 0 に揃えます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(((B2:B6=&quot;文房具&quot;)+(D2:D6&gt;=30)&gt;0)*C2:C6*D2:D6)

(A + B) &gt; 0 : {1, 1, 0, 1, 1}
10,000 + 12,000 + 0 + 6,000 + 4,800 = 32,800</code></pre>



<p class="wp-block-paragraph">これで <strong>32,800</strong> に落ち着きました。OR条件を書くときは <code>>0</code> をセットで付ける、と覚えておくと事故が減りますよ。</p>



<p class="wp-block-paragraph">なお、SUMIFS関数にはOR条件を直接指定する引数がありません。構文の違いは<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数の使い方</a>で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc9">件数を数えるときだけ必要なダブルマイナス --</span></h3>



<p class="wp-block-paragraph">ネットで見かける <code>--(条件)</code> という書き方。マイナスが2つ並んだこの記法は「ダブルマイナス」（二重単項マイナス）と呼ばれます。</p>



<p class="wp-block-paragraph">役割は、TRUE / FALSE を 1 / 0 に変換すること。単項マイナス（符号を反転させる演算子）を2回かけて実現しています。</p>



<p class="wp-block-paragraph">1回目で TRUE は -1 になり、2回目で符号が戻って 1。FALSE は 0 のままです。</p>



<p class="wp-block-paragraph">なぜ変換が必要なのでしょうか。<strong>SUMPRODUCT関数は論理値（TRUE / FALSE）を数値として見ないから</strong>です。算術演算を挟まずに渡すと、非数値として無視されます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B6=&quot;文房具&quot;))     → 0   ← 論理値のまま渡すと無視される
=SUMPRODUCT(--(B2:B6=&quot;文房具&quot;))   → 3   ← 1/0 に変換されて数えられる
=SUMPRODUCT((B2:B6=&quot;文房具&quot;)*1)   → 3   ← *1 でも同じ結果</code></pre>



<p class="wp-block-paragraph">文房具はノート・ペン・ファイルの3件。ちゃんと数えられていますね。複数条件のカウントなら、条件どうしを掛けるだけで変換が済みます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((B2:B6=&quot;文房具&quot;)*(C2:C6&gt;=200))   → 2</code></pre>



<p class="wp-block-paragraph">まとめると、ダブルマイナスが必要なのは<strong>集計範囲を掛けない「件数カウント」のときだけ</strong>。<code>(条件)*金額</code> のように何かを掛けている数式では不要です。</p>



<h2 class="wp-block-heading"><span id="toc10">SUMIFSで足りない3場面（SUMPRODUCTを選ぶ基準）</span></h2>



<p class="wp-block-paragraph">「結局どっちを使えばいいの？」という疑問には、次の3つで判定すると早いです。</p>



<ol class="wp-block-list"><li>OR条件（AまたはB）が必要</li><li>掛けてから合計する必要がある（売上・加重平均）</li><li>計算した結果を条件にしたい</li></ol>



<p class="wp-block-paragraph"><strong>どれにも当てはまらないならSUMIFSを選んでください</strong>。数式が短く、読み返したときに意図が伝わりやすいですから。</p>



<h3 class="wp-block-heading"><span id="toc11">①OR条件（AまたはB）が必要なとき</span></h3>



<p class="wp-block-paragraph">SUMIFSの引数は「条件範囲」と「条件」のペアを並べる形。これらはすべてAND（かつ）で結合されます。OR条件を指定する引数は用意されていません。</p>



<p class="wp-block-paragraph">SUMIFSを複数書いて足す回避策もあります。ただ、条件が増えるほど数式は長くなり、重複ぶんの引き算も必要になって管理がつらくなりがち。</p>



<p class="wp-block-paragraph">前章の <code>((条件A)+(条件B)>0)</code> なら、条件が増えても書き方は同じです。ここはSUMPRODUCT関数の圧勝ですね。</p>



<h3 class="wp-block-heading"><span id="toc12">②掛けてから合計が必要なとき（売上・加重平均）</span></h3>



<p class="wp-block-paragraph">SUMIFSは「条件に合う行の、1つの合計範囲を足す」関数です。2つの列を掛け合わせてから合計する、という計算は構造上できません。</p>



<p class="wp-block-paragraph">単価×数量の売上集計がまさにこれ。もうひとつの代表例が、加重平均です。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（科目）</th><th>B列（点数）</th><th>C列（配点）</th></tr></thead><tbody><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>



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

分子: (80 × 3) + (90 × 2) + (70 × 1) = 490
分母: 3 + 2 + 1 = 6
490 ÷ 6 ≒ 81.7</code></pre>



<p class="wp-block-paragraph">単純平均なら <code>(80 + 90 + 70) ÷ 3 = 80</code> ですが、加重平均は <strong>約81.7</strong>。配点3の数学で高得点を取っている分、平均が押し上げられました。アンケートの5段階評価などにも応用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">③計算式・部分一致・関数結果を条件にしたいとき</span></h3>



<p class="wp-block-paragraph">SUMIFSの条件は「その範囲の値と、指定した1つの値との比較」に限られます。関数で加工した結果や、列どうしの比較は条件として書けません。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（日付）</th><th>B列（予算）</th><th>C列（実績）</th></tr></thead><tbody><tr><td>2</td><td>2026/4/5</td><td>100000</td><td>120000</td></tr><tr><td>3</td><td>2026/4/20</td><td>80000</td><td>60000</td></tr><tr><td>4</td><td>2026/5/8</td><td>90000</td><td>95000</td></tr><tr><td>5</td><td>2026/5/22</td><td>70000</td><td>70000</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=SUMPRODUCT((C2:C5&gt;B2:B5)*C2:C5)     → 215,000  実績が予算を上回った行
=SUMPRODUCT((MONTH(A2:A5)=4)*C2:C5)  → 180,000  日付が4月の行</code></pre>



<p class="wp-block-paragraph">1つめは2行目（120,000）と4行目（95,000）が対象。5行目は 70,000 と 70,000 で同額のため、<code>></code> の条件を満たさず除外されます。</p>



<p class="wp-block-paragraph">2つめはMONTH関数（日付から月を数値で取り出す関数）を使った例。結果が4になる2行目と3行目が集計されます。</p>



<p class="wp-block-paragraph">文字列の部分一致も同じ発想です。ひとつ前の商品リスト（A列＝商品名・C列＝単価・D列＝数量）に戻って、商品名に「ペン」を含む行だけを合計してみましょう。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ISNUMBER(SEARCH(&quot;ペン&quot;, A2:A6))*C2:C6*D2:D6)</code></pre>



<p class="wp-block-paragraph">SEARCH関数は文字が見つかった位置を返し、見つからなければエラーを返します。それをISNUMBER関数（数値かどうかを判定する関数）で TRUE / FALSE に変換する形ですね。</p>



<p class="wp-block-paragraph">単純な部分一致だけならSUMIFSでもワイルドカード（<code>"<em>ペン</em>"</code>）が使えます。SEARCH方式が効くのは、他の条件と組み合わせて複雑に絞り込みたい場面です。</p>



<p class="wp-block-paragraph">3つの関数を細かく比べたい方は、<a href="https://mashukabu.com/excel-sumif-sumifs-sumproduct-comparison/">SUMIF・SUMIFS・SUMPRODUCTの使い分け</a>をどうぞ。比較表つきで整理しています。</p>



<h2 class="wp-block-heading"><span id="toc14">SUMPRODUCTがうまくいかないときの原因と直し方</span></h2>



<p class="wp-block-paragraph">ここからが本題。SUMPRODUCT関数は自由度が高いぶん、つまずきどころも決まっています。症状さえ特定できれば、原因はだいたい絞り込めますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">症状別・早見表（#VALUE! / 0になる / 2倍になる / 重い）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>よくある原因</th><th>直し方</th></tr></thead><tbody><tr><td><code>#VALUE!</code> になる</td><td>配列の行数・列数が不一致</td><td>範囲を同じサイズに揃える</td></tr><tr><td><code>#VALUE!</code>（サイズは同じ）</td><td><code>*</code> 形式で文字列が混在</td><td>カンマ区切りにする／数値に直す</td></tr><tr><td>結果が0・小さすぎる</td><td>数値が文字列として入っている</td><td>セルを数値に変換する</td></tr><tr><td>条件つきなのに0</td><td>論理値をそのまま渡している</td><td><code>--(条件)</code> か <code>(条件)*1</code> にする</td></tr><tr><td>合計が2倍になる</td><td>OR条件で該当行が重複</td><td><code>((条件A)+(条件B)>0)</code> で正規化</td></tr><tr><td>結果の桁が明らかに変</td><td>条件式のカッコ抜け・演算子ミス</td><td>条件は必ず <code>(条件)</code> で囲む</td></tr><tr><td>計算が重い</td><td><code>A:A</code> のような列全体参照</td><td><code>A2:A1000</code> と実データ範囲に絞る</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上から3つはとくにつまずきやすいので、切り分け手順まで掘り下げます。</p>



<h3 class="wp-block-heading"><span id="toc16">#VALUE! になる：行数・列数の不一致を3ステップで切り分ける</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> の最大の原因は、配列のサイズ違いです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A2:A6, B2:B20)  ← 5行と19行で不一致</code></pre>



<p class="wp-block-paragraph">とはいえ、範囲が10個も並ぶ長い数式では、目視で犯人を探すのは大変。次の3ステップで機械的に絞り込みましょう。</p>



<p class="wp-block-paragraph"><strong>ステップ1: ROWS関数で各範囲の行数を数える</strong></p>



<p class="wp-block-paragraph">空いているセルに、数式内の範囲を1つずつ入れて確かめます。ROWS関数は範囲の行数を返す関数です。</p>



<pre class="wp-block-code"><code>=ROWS(A2:A6)    →  5
=ROWS(B2:B20)   → 19   ← ここだけ違う</code></pre>



<p class="wp-block-paragraph">数字が揃っていない範囲が犯人。開始行と終了行を他の範囲に合わせて修正してください。</p>



<p class="wp-block-paragraph"><strong>ステップ2: ISNUMBER関数で文字列数値の混入を検査する</strong></p>



<p class="wp-block-paragraph">行数が揃っているのに <code>#VALUE!</code> が消えないなら、範囲の中身を疑います。次の数式は、範囲内にある「数値のセル」の個数を返します。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(--ISNUMBER(C2:C6))</code></pre>



<p class="wp-block-paragraph">5行の範囲なのに戻り値が4以下なら、数値以外が混ざっているサイン。文字列や記号が入っていないか確認しましょう。</p>



<p class="wp-block-paragraph"><strong>ステップ3: 条件式を1つずつ外して犯人を特定する</strong></p>



<p class="wp-block-paragraph">それでも直らないなら、数式を分解します。条件を1つだけ残した最小の数式から始めましょう。</p>



<p class="wp-block-paragraph">動くことを確認したら、条件を1つずつ足していく。エラーが出た瞬間に足した条件が犯人です。</p>



<p class="wp-block-paragraph"><code>#VALUE!</code> はSUMPRODUCT関数以外でも頻出するエラー。ほかの原因は<a href="https://mashukabu.com/excel-value-error/">Excelの#VALUE!エラーの原因と対処法</a>にまとめてあります。</p>



<h3 class="wp-block-heading"><span id="toc17">0になる・小さすぎる：文字列数値と空白セルを疑う</span></h3>



<p class="wp-block-paragraph">エラーは出ないのに合計が0、または明らかに小さい。この症状で一番多いのは、<strong>数値に見える文字列</strong>の混入です。</p>



<p class="wp-block-paragraph">CSVや基幹システムからの貼り付けデータでよく起きます。セルの左上に緑の三角マークが出ていたら、ほぼ確定と思ってよいでしょう。</p>



<p class="wp-block-paragraph">直し方は2通り。根本的には、対象セルを選択して「数値に変換」を実行し、元データ側を直すのが安全です。</p>



<p class="wp-block-paragraph">数式側で応急処置するなら、VALUE関数（文字列を数値に変換する関数）を挟む手もあります。たとえば単価がB列・数量がC列にあり、B列だけが文字列になっているケースです。</p>



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



<p class="wp-block-paragraph">ただしVALUE関数は、変換できない値が混ざるとエラーを返します。空白セルや記号が残る範囲では使えないので、やはり元データを直すほうが確実ですね。</p>



<p class="wp-block-paragraph">もうひとつ見落としやすいのが、前章で触れた<strong>論理値の扱い</strong>。条件式だけを渡す <code>=SUMPRODUCT((B2:B6="文房具"))</code> は0を返します。件数を数えたいなら <code>--</code> を忘れずに。</p>



<p class="wp-block-paragraph">数式が0のままになる症状は、再計算設定など別の原因で起きることもあります。心当たりがないときは<a href="https://mashukabu.com/excel-formula-not-calculating/">Excelで数式が計算されないときの対処法</a>も確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc18">カンマ区切りと * 形式で結果が変わる理由</span></h3>



<p class="wp-block-paragraph">次の2つの数式、同じ意味に見えますよね。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B6, C2:C6)   ← カンマ区切り形式
=SUMPRODUCT(B2:B6*C2:C6)    ← アスタリスク形式</code></pre>



<p class="wp-block-paragraph">データがすべて数値なら、どちらも同じ答えを返します。ところが範囲に文字列が混ざると、片方だけエラーになることも。</p>



<p class="wp-block-paragraph">公式ヘルプによると、SUMPRODUCT関数は配列内の非数値要素を0として扱います。カンマ区切り形式なら、この処理が働いて計算が続くわけですね。</p>



<p class="wp-block-paragraph">一方の <code>*</code> 形式で先に起きるのは、SUMPRODUCT関数に渡る前の掛け算。文字列 × 数値は算術演算として成立しないため、ここで <code>#VALUE!</code> が発生します。公式のエラー解説ページでも、参照範囲に文字列が含まれると <code>#VALUE!</code> になると案内されています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>注意</strong>: この差は、セルが真の空白なのか、数式が返した空文字列（<code>""</code>）なのかによっても変わります。手元のシートで両方の書き方を試し、実際の挙動を確かめてから使い分けるのが確実です。</p></blockquote>



<p class="wp-block-paragraph">実務での判断はシンプルに。<strong>範囲を素直に掛け合わせるだけなら、カンマ区切りのほうが安全</strong>です。</p>



<p class="wp-block-paragraph">ただし、条件式をカンマ区切りで渡すと論理値が無視されて0になります。条件を使うなら <code>*</code> でつなぐか、<code>--(条件)</code> の形にしてください。</p>



<h3 class="wp-block-heading"><span id="toc19">条件式のカッコ抜け・演算子ミス</span></h3>



<p class="wp-block-paragraph">条件式のカッコを忘れると、演算の順序が想定と変わります。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(B2:B6=&quot;文房具&quot;*C2:C6*D2:D6)     ← カッコ忘れ（#VALUE!）
=SUMPRODUCT((B2:B6=&quot;文房具&quot;)*C2:C6*D2:D6)   ← 正しい形</code></pre>



<p class="wp-block-paragraph">上の書き方では <code>"文房具"*C2:C6</code> が先に評価されます。文字列と数値の掛け算になるため <code>#VALUE!</code> が返るわけですね。</p>



<p class="wp-block-paragraph">演算子の取り違えも定番です。AND条件のつもりで <code>+</code> を書くと、実際にはOR条件として動いて合計が膨らみます。</p>



<p class="wp-block-paragraph"><strong>条件は必ずカッコで囲み、<code>*</code> か <code>+</code> かを声に出して確認する</strong>。この2つを習慣にするだけで、原因不明のズレはかなり減りますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">計算が重いとき：列全体参照をやめる</span></h3>



<p class="wp-block-paragraph">数式を入れた瞬間にExcelが固まる。この症状のほとんどは、列全体参照が原因です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A:A, B:B)           ← 100万行を丸ごと計算している
=SUMPRODUCT(A2:A1000, B2:B1000) ← 実データ範囲に絞る</code></pre>



<p class="wp-block-paragraph">公式ヘルプにも、はっきり書かれています。最高のパフォーマンスを得るには、SUMPRODUCT関数を完全な列参照で使わないこと。列全体を指定すると、空のセルまで含めた計算が走ってしまうためです。</p>



<p class="wp-block-paragraph">データが増減するならテーブル機能を使い、構造化参照で範囲を自動追従させる方法も有効ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">よくある質問｜SUMPRODUCT関数</span></h2>



<h3 class="wp-block-heading"><span id="toc22">Q. Ctrl+Shift+Enter での確定は必要？</span></h3>



<p class="wp-block-paragraph">不要です。SUMPRODUCT関数は内部で配列を扱いますが、通常のEnterキーだけで確定できます。</p>



<p class="wp-block-paragraph">従来型の配列数式では、Ctrl + Shift + Enter での確定が必要になる場面もあります。その手間がないぶん、配列に苦手意識がある方でも扱いやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">Q. ダブルマイナス -- は必ず要る？</span></h3>



<p class="wp-block-paragraph">いいえ、必要な場面は限られます。判断基準は「集計範囲を掛けているかどうか」。</p>



<p class="wp-block-paragraph"><code>(条件)*金額範囲</code> のように何かを掛けている数式なら不要です。掛け算の過程で TRUE / FALSE が自動的に 1 / 0 へ変わります。</p>



<p class="wp-block-paragraph">必要なのは、条件式だけを渡して件数を数えるときだけ。<code>(条件)*1</code> と書いても結果は同じですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. SUMPRODUCT と PRODUCT は何が違う？</span></h3>



<p class="wp-block-paragraph">役割がはっきり違います。PRODUCT関数は、指定した範囲の数値を全部掛け算する関数。SUMPRODUCT関数は、複数の範囲を行ごとに掛けてから合計する関数です。</p>



<p class="wp-block-paragraph">B列が <code>{2, 3, 4}</code>、C列が <code>{5, 6, 7}</code> のときで比べてみましょう。</p>



<pre class="wp-block-code"><code>=PRODUCT(B2:B4)             = 2 × 3 × 4         = 24
=SUMPRODUCT(B2:B4, C2:C4)   = (2×5)+(3×6)+(4×7) = 56</code></pre>



<p class="wp-block-paragraph">詳しくは<a href="https://mashukabu.com/excel-function-howto-use-product/">PRODUCT関数の使い方</a>で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. Googleスプレッドシートでも同じように使える？</span></h3>



<p class="wp-block-paragraph">使えます。SUMPRODUCT関数は、Googleスプレッドシートにも同じ名前・同じ構文で搭載されています。<code>*</code> によるAND条件、<code>+</code> によるOR条件の書き方も共通です。</p>



<p class="wp-block-paragraph">Sheets側の詳しい使い方は<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">スプレッドシートのSUMPRODUCT関数の使い方</a>にまとめてあります。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. 大量データで重いときはどうする？</span></h3>



<p class="wp-block-paragraph">まずは範囲の見直しから。<code>A:A</code> のような列全体参照をやめ、<code>A2:A1000</code> と実データの行数に絞りましょう。それだけで体感が変わります。</p>



<p class="wp-block-paragraph">それでも重いなら、数式の役割を分けます。単純なAND条件だけの集計はSUMIFSに任せ、OR条件や積和が必要な部分だけSUMPRODUCT関数に残す形ですね。</p>



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



<p class="wp-block-paragraph">ExcelのSUMPRODUCT関数を、基本から実務レベルまで見てきました。「掛けてから合計」の基本形に始まり、エラーの切り分け手順まで一気に整理しています。</p>



<p class="wp-block-paragraph">要点をおさらいしましょう。</p>



<ul class="wp-block-list"><li>基本形は <code>=SUMPRODUCT(範囲1, 範囲2)</code>。作業列なしで「掛けてから合計」ができる</li><li>条件つき集計は <code>(条件)<em>集計範囲</code> の型。<code></em></code> が「かつ」、<code>+</code> が「または」</li><li>OR条件は <code>((条件A)+(条件B)>0)</code> で正規化し、2重カウントを防ぐ</li><li>件数カウントのときだけ <code>--(条件)</code> で論理値を 1 / 0 に変換する</li><li>OR条件・積和・計算結果を条件にする、の3つが不要ならSUMIFSを選ぶ</li><li><code>#VALUE!</code> は ROWS関数で行数を、ISNUMBER関数で中身を検査して切り分ける</li></ul>



<p class="wp-block-paragraph">最初は記号が多くて身構えるかもしれません。でも <code>(条件)*範囲</code> という型を覚えれば大丈夫。作業列だらけのシートが、驚くほどすっきりしますよ。</p>



<p class="wp-block-paragraph">まずは手元の売上表で <code>=SUMPRODUCT(単価範囲, 数量範囲)</code> から試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sumproduct/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excel PRODUCT関数の使い方｜掛け算を一括処理する基本と応用</title>
		<link>https://mashukabu.com/excel-function-howto-use-product/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-product/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 12 Mar 2022 11:35:16 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel掛け算]]></category>
		<category><![CDATA[PRODUCT関数]]></category>
		<category><![CDATA[SUMPRODUCT関数]]></category>
		<category><![CDATA[四則演算]]></category>
		<category><![CDATA[掛け算関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1346</guid>

					<description><![CDATA[ExcelのPRODUCT関数で複数セルの掛け算を一括処理する方法を解説。*演算子・SUMPRODUCT関数との違い、空白セルの扱い、複利計算や見積もりでの実務活用例、エラー対処法まで初心者にもわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで掛け算をするとき、「*」でセルを1つずつつないでいませんか。セルが3〜4個ならまだしも、10個、20個と増えると式が長くなって、どこまで続いているのか見えにくくなりますよね。途中のセルを1つ飛ばしていても気づきにくく、数字が合わないときの原因特定も大変です。</p>



<p class="wp-block-paragraph">PRODUCT関数を使えば、セル範囲をまとめて指定するだけで掛け算が完了します。この記事では、基本の書き方から実務での活用パターン、*演算子やSUMPRODUCT関数との違い、エラー対処法までまとめて紹介します。</p>



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



<ul class="wp-block-list"><li>Excelで大量のセルを掛け算したい人</li><li>「*」をたくさん並べる式をスッキリさせたい人</li><li>PRODUCT関数と*演算子・SUMPRODUCT関数の違いを知りたい人</li><li>複利計算や連続割引の累積倍率を一発で出したい人</li></ul>




  <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">PRODUCT関数とは？掛け算を一括処理する関数</a></li><li><a href="#toc2" tabindex="0">PRODUCT関数の書き方（構文と引数）</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">PRODUCT関数の基本的な使い方【3パターン】</a><ol><li><a href="#toc6" tabindex="0">パターン1：セル範囲をまとめて掛け算する</a></li><li><a href="#toc7" tabindex="0">パターン2：複数の範囲や数値を組み合わせる</a></li><li><a href="#toc8" tabindex="0">パターン3：離れたセルを個別に指定する</a></li></ol></li><li><a href="#toc9" tabindex="0">PRODUCT関数の実務活用シーン【4例】</a><ol><li><a href="#toc10" tabindex="0">活用例1：単価 x 数量 x 掛け率の計算（見積書・請求書）</a></li><li><a href="#toc11" tabindex="0">活用例2：累積倍率（複利・成長率）の計算</a></li><li><a href="#toc12" tabindex="0">活用例3：連続割引の実質割引率を計算する</a></li><li><a href="#toc13" tabindex="0">活用例4：空白セルが混在する表での掛け算</a></li></ol></li><li><a href="#toc14" tabindex="0">PRODUCT関数と*演算子の違い</a><ol><li><a href="#toc15" tabindex="0">使い分けの目安</a></li></ol></li><li><a href="#toc16" tabindex="0">PRODUCT関数とSUMPRODUCT関数の使い分け</a><ol><li><a href="#toc17" tabindex="0">具体例で違いを確認</a></li><li><a href="#toc18" tabindex="0">どちらを使うべき？</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">エラー対処のコツ</a></li></ol></li><li><a href="#toc21" tabindex="0">Googleスプレッドシートでも使える？</a></li><li><a href="#toc22" tabindex="0">似た関数との使い分け一覧</a></li><li><a href="#toc23" tabindex="0">まとめ</a><ol><li><a href="#toc24" tabindex="0">biz-tactics の Excel関数リファレンス</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">PRODUCT関数とは？掛け算を一括処理する関数</span></h2>



<p class="wp-block-paragraph">PRODUCT関数は、指定した数値やセル範囲の掛け算（積）をまとめて計算する関数です。読み方は「プロダクト」で、英語の &#8220;product&#8221;（積）が語源です。</p>



<p class="wp-block-paragraph">たとえばセルA1からA5に入った数値をすべて掛け算したい場合、*演算子だと次のように書きます。</p>



<pre class="wp-block-code"><code>=A1*A2*A3*A4*A5</code></pre>



<p class="wp-block-paragraph">PRODUCT関数なら、同じ計算がこれだけで済みます。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A5)</code></pre>



<p class="wp-block-paragraph">セルの数が増えるほど差が開くので、掛け算するセルが多い場面ではPRODUCT関数が断然便利です。範囲を広げたいときも、参照範囲の末尾をドラッグで伸ばすだけで済みます。</p>



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>数値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">引数にはセル範囲（A1:A10）も、個別のセル（A1, B1, C1）も、直接数値（10, 1.08）も指定できます。引数が1つだけの場合はコンマは不要です。</p>



<p class="wp-block-paragraph">対応バージョンはExcel 2007以降すべて（Microsoft 365含む）で、Excel for Mac・Web版・モバイルでも使えます。Googleスプレッドシートでも同じ名前・同じ書き方で動作するので、Excelと両方使う人でも迷いません。</p>



<h2 class="wp-block-heading"><span id="toc5">PRODUCT関数の基本的な使い方【3パターン】</span></h2>



<p class="wp-block-paragraph">ここでは具体的な数値を使って、基本的な3つのパターンを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン1：セル範囲をまとめて掛け算する</span></h3>



<p class="wp-block-paragraph">A1からA4に「2, 3, 5, 4」と入力されているとします。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A4)</code></pre>



<p class="wp-block-paragraph">結果は「120」です。2 x 3 x 5 x 4 = 120 をまとめて計算してくれます。範囲内のセルがすべて対象になるので、「どこまで掛けるか」を範囲で視覚的に指定できるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン2：複数の範囲や数値を組み合わせる</span></h3>



<p class="wp-block-paragraph">範囲と個別の数値を混ぜて指定することもできます。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A3, 10)</code></pre>



<p class="wp-block-paragraph">A1:A3の積にさらに10を掛けた結果が返ります。たとえばA1:A3が「2, 3, 5」なら、2 x 3 x 5 x 10 = 300 です。固定の倍率を末尾に掛ける用途（消費税1.1、共通割引0.9など）で便利です。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン3：離れたセルを個別に指定する</span></h3>



<p class="wp-block-paragraph">範囲が連続していない場合は、セルをコンマで区切ります。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1, C1, E1)</code></pre>



<p class="wp-block-paragraph">A1、C1、E1の3つのセルの値を掛け算します。集計表で「単価列」「数量列」「割引列」が離れているときに、飛び飛びのセルだけを選べます。</p>



<h2 class="wp-block-heading"><span id="toc9">PRODUCT関数の実務活用シーン【4例】</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、実務でよく使う4つのパターンを見てみましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">活用例1：単価 x 数量 x 掛け率の計算（見積書・請求書）</span></h3>



<p class="wp-block-paragraph">見積書や請求書で「単価 x 数量 x 割引率」を一発で計算できます。B2に単価1,000、C2に数量5、D2に掛け率0.9が入っているとします。</p>



<pre class="wp-block-code"><code>=PRODUCT(B2:D2)</code></pre>



<p class="wp-block-paragraph">結果は「4,500」です。1,000 x 5 x 0.9 = 4,500 ですね。<em>で書くと <code>=B2</em>C2*D2</code> ですが、「税率」や「手数料率」などの列が増えたときも、PRODUCT関数なら範囲を広げるだけで対応できます。運用で列が追加されやすい見積テンプレートほど、PRODUCT関数で書いておくと後が楽です。</p>



<h3 class="wp-block-heading"><span id="toc11">活用例2：累積倍率（複利・成長率）の計算</span></h3>



<p class="wp-block-paragraph">投資の複利計算や、売上の年間成長率を連続で掛けたいときに便利です。E2:E6に「1.05, 1.03, 1.08, 0.98, 1.04」という5年分の成長倍率が入っているとします。</p>



<pre class="wp-block-code"><code>=PRODUCT(E2:E6)</code></pre>



<p class="wp-block-paragraph">結果は約「1.190」です。5年間で元の値が約1.19倍（19.0%成長）になったことがわかります。これを使えば、年によって成長率が異なるケースでも累積倍率を正確に出せます。元本100万円なら、5年後は <code>=1000000*PRODUCT(E2:E6)</code> で約119万円と一発です。</p>



<p class="wp-block-paragraph"><em>演算子で書くと <code>=E2</em>E3<em>E4</em>E5*E6</code> と長くなりますが、PRODUCT関数なら範囲指定だけで済むので、10年分・20年分と期間が伸びても式はそのままで対応できます。</p>



<h3 class="wp-block-heading"><span id="toc12">活用例3：連続割引の実質割引率を計算する</span></h3>



<p class="wp-block-paragraph">セール期間中の割引を重ねがけすると、実質何%オフになるのか計算したいことがあります。「初回10%OFF、さらに5%OFF、さらにクーポン2%OFF」のような3段階割引の場合、倍率は0.9、0.95、0.98です。</p>



<pre class="wp-block-code"><code>=PRODUCT(0.9, 0.95, 0.98)</code></pre>



<p class="wp-block-paragraph">結果は「0.8379」です。つまり実質16.21%OFFということがわかります。足し算で「10+5+2=17%OFF」ではないので、正しく計算したいときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc13">活用例4：空白セルが混在する表での掛け算</span></h3>



<p class="wp-block-paragraph">入力途中の表で空白セルがある場合、*演算子だと空白が0として扱われ、結果が0になってしまいます。PRODUCT関数なら空白セルを自動的にスキップするので、入力済みの値だけで計算してくれます。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A5)</code></pre>



<p class="wp-block-paragraph">A1:A5が「3, , 5, , 2」（2つ空白）の場合、PRODUCT関数は3 x 5 x 2 = 30を返します。*演算子では0になってしまうので、この違いは大きいですよね。進行中の案件リストや、一部未入力がある在庫管理表では特に効果を発揮します。</p>



<h2 class="wp-block-heading"><span id="toc14">PRODUCT関数と*演算子の違い</span></h2>



<p class="wp-block-paragraph">「掛け算なら<em>でいいのでは？」と思うかもしれません。実はPRODUCT関数と</em>演算子には、空白セルや文字列の扱いに大きな違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件</th><th>PRODUCT関数</th><th>*演算子</th></tr></thead><tbody><tr><td>空白セル（範囲参照）</td><td>無視して計算を続行</td><td>0として扱い、結果が0になる</td></tr><tr><td>文字列（範囲参照）</td><td>無視して計算を続行</td><td>#VALUE! エラーになる</td></tr><tr><td>論理値（範囲参照）</td><td>無視して計算を続行</td><td>TRUE=1、FALSE=0として計算</td></tr><tr><td>引数に直接文字列を指定</td><td>#VALUE! エラー</td><td>#VALUE! エラー</td></tr><tr><td>セル数が多いとき</td><td>範囲指定でスッキリ</td><td>式が長くなる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「範囲の中に空白や文字列が混ざったとき」の挙動です。PRODUCT関数は数値以外を無視してくれるので、入力途中の表や、備考欄が混在する範囲でも安心して使えます。</p>



<h3 class="wp-block-heading"><span id="toc15">使い分けの目安</span></h3>



<ul class="wp-block-list"><li><strong>セルが2〜3個</strong>: <em>演算子のほうがシンプル（<code>=A1</em>B1</code>）</li><li><strong>セルが4個以上</strong>: PRODUCT関数で範囲指定がおすすめ</li><li><strong>空白や文字列が混在する可能性</strong>: PRODUCT関数を使う</li><li><strong>複利・累積倍率</strong>: PRODUCT関数一択（範囲を広げるだけで拡張可能）</li></ul>



<h2 class="wp-block-heading"><span id="toc16">PRODUCT関数とSUMPRODUCT関数の使い分け</span></h2>



<p class="wp-block-paragraph">名前が似ていて混同されがちな関数に<a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数</a>があります。ひとことで言えば、役割がまったく違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動きのイメージ</th><th>結果</th></tr></thead><tbody><tr><td>PRODUCT</td><td>すべての値を1本の掛け算にする</td><td>単一の積</td></tr><tr><td>SUMPRODUCT</td><td>複数の列を行ごとに掛けて、最後に全部足す</td><td>積の合計</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">具体例で違いを確認</span></h3>



<p class="wp-block-paragraph">単価列 B2:B4 に「100, 200, 150」、数量列 C2:C4 に「5, 3, 2」が入っているとします。</p>



<p class="wp-block-paragraph"><strong>PRODUCT関数の場合:</strong></p>



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



<p class="wp-block-paragraph">結果は 100 x 200 x 150 x 5 x 3 x 2 = 90,000,000 です。すべての値を一本で掛け合わせてしまうので、売上計算には使えません。</p>



<p class="wp-block-paragraph"><strong>SUMPRODUCT関数の場合:</strong></p>



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



<p class="wp-block-paragraph">結果は (100 x 5) + (200 x 3) + (150 x 2) = 1,400 です。行ごとに「単価×数量」を計算してから合計してくれます（売上合計の定番パターン）。</p>



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



<ul class="wp-block-list"><li><strong>売上合計・加重平均・条件付き集計</strong>: SUMPRODUCT関数</li><li><strong>連続した倍率の累積・単一行の積</strong>: PRODUCT関数</li></ul>



<p class="wp-block-paragraph">見積書で「単価×数量×割引率」を1行だけ計算するならPRODUCT、複数行の売上合計を出すならSUMPRODUCTと覚えておけば迷いません。</p>



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



<p class="wp-block-paragraph">PRODUCT関数でエラーや想定外の結果が出たときは、以下の表を参考にしてみてください。</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>#VALUE!</td><td>参照先に数値変換できない文字がある</td><td><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでエラー時の代替値を設定する</td></tr><tr><td>#NAME?</td><td>関数名のタイプミス（PRODUT など）</td><td>関数名を「PRODUCT」に修正する</td></tr><tr><td>結果が0</td><td>範囲内に0のセルがある</td><td>0のセルを空白にするか、条件付きで除外する</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="toc20">エラー対処のコツ</span></h3>



<p class="wp-block-paragraph">引数に直接 <code>"abc"</code> のような文字列を書くとエラーになります。一方、セル範囲の中に文字列が混ざっている場合は無視されるだけです。この違いを覚えておくと、トラブル時に素早く原因を特定できます。</p>



<p class="wp-block-paragraph">また「結果が0になる」のは、範囲内に「空白」ではなく「0」が入っているケースがほとんどです。セルを1つずつクリックして中身を確認してみましょう。見た目が空白でも、実は数値の0が入っているパターンもよくあります。</p>



<h2 class="wp-block-heading"><span id="toc21">Googleスプレッドシートでも使える？</span></h2>



<p class="wp-block-paragraph">PRODUCT関数はGoogleスプレッドシートでも同じ名前・同じ書き方で使えます。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A5)</code></pre>



<p class="wp-block-paragraph">Excelで作ったファイルをGoogleスプレッドシートに取り込んでも、PRODUCT関数はそのまま動作します。モバイルのGoogleスプレッドシートアプリでも同じ書き方で使えるので、外出先でサッと複利計算や見積計算をしたいときにも便利です。</p>



<p class="wp-block-paragraph">挙動も基本的に同じで、空白セルは無視、範囲内の文字列も無視されます。ExcelとGoogleスプレッドシートを両方使う人にとって、PRODUCT関数は覚えておいて損のない関数です。</p>



<h2 class="wp-block-heading"><span id="toc22">似た関数との使い分け一覧</span></h2>



<p class="wp-block-paragraph">PRODUCT関数と名前が似ている関数や、掛け算・割り算に関連する関数をまとめて整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>使う場面</th></tr></thead><tbody><tr><td>PRODUCT</td><td>指定した値すべての積を返す</td><td>単純な掛け算をまとめたいとき</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT</a></td><td>各行の積を合計する</td><td>単価 x 数量の合計（売上集計）など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM</a></td><td>指定した値の合計を返す</td><td>足し算をまとめたいとき</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-quotient/">QUOTIENT</a></td><td>割り算の商（整数部分）を返す</td><td>箱詰め数・時間換算など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mod/">MOD</a></td><td>割り算の余りを返す</td><td>偶奇判定・端数管理など</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PRODUCTとSUMPRODUCTは名前が似ていますが、前述のとおり役割が違います。PRODUCTは「すべてを掛ける」、SUMPRODUCTは「行ごとに掛けてから足す」です。売上合計のように「単価 x 数量」を行ごとに計算してから合算したい場合はSUMPRODUCTを使いましょう。</p>



<p class="wp-block-paragraph">掛け算・割り算の基本操作をまとめて知りたい方は、「<a href="https://mashukabu.com/excel-howto-four-arithmetic-operations/">Excelで四則演算する方法</a>」も参考にしてみてください。</p>



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



<p class="wp-block-paragraph">PRODUCT関数は「セル範囲をまとめて掛け算できる」便利な関数です。</p>



<ul class="wp-block-list"><li>セルが多い掛け算は、*演算子よりPRODUCT関数がスッキリ</li><li>空白セルや文字列を自動で無視してくれるのが大きな強み</li><li>複利・連続割引・累積倍率など、実務でも活躍する場面は意外と多い</li><li>SUMPRODUCTとの役割の違い（積の計算 vs 積の合計）を押さえれば使い分けに迷わない</li></ul>



<p class="wp-block-paragraph">掛け算するセルが2〜3個なら*で十分ですが、4個以上になったらPRODUCT関数を試してみてください。特に成長率や割引率のように「倍率を連続で掛ける」場面では、式がスッキリしてミスも減らせますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">biz-tactics の Excel関数リファレンス</span></h3>



<p class="wp-block-paragraph">Excel関数の一覧や基礎知識については、以下の記事からご覧いただけます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数 ABC順一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-product/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
