<?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>PRODUCT &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/product/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 May 2026 14:05:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>PRODUCT &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのDPRODUCT関数の使い方｜条件に合う積</title>
		<link>https://mashukabu.com/spreadsheet-dproduct-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dproduct-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:05 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DPRODUCT]]></category>
		<category><![CDATA[PRODUCT]]></category>
		<category><![CDATA[SUMPRODUCT]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[条件付き積]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6209</guid>

					<description><![CDATA[GoogleスプレッドシートのDPRODUCT関数の使い方を初心者向けに解説。条件範囲の設定方法、複数条件・OR条件での積の計算、PRODUCT関数やSUMPRODUCT関数との使い分け、0や空白セルの扱い、よくあるエラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「該当する商品の単価だけを掛け合わせた指数を出したい」「条件に合う利率をまとめて複利計算したい」。こんな場面、フィルタで絞り込んでからPRODUCT関数を使っていませんか。</p>



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



<p class="wp-block-paragraph">そんなときに便利なのがDPRODUCT関数です。条件を別のセル範囲に書いておくだけで、該当するデータの積（掛け算の結果）を自動で返してくれます。この記事では、スプレッドシートのDPRODUCT関数の基本から複数条件・OR条件の応用、PRODUCT関数やSUMPRODUCT関数との使い分けまでまとめて紹介します。</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">スプレッドシートのDPRODUCT関数とは？</a><ol><li><a href="#toc2" tabindex="0">PRODUCT関数との違い（全体の積 vs 条件付きの積）</a></li></ol></li><li><a href="#toc3" tabindex="0">DPRODUCT関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><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">DPRODUCT関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">サンプルデータ</a></li><li><a href="#toc11" tabindex="0">条件範囲の設定方法</a></li><li><a href="#toc12" tabindex="0">比較演算子を使った条件</a></li></ol></li><li><a href="#toc13" tabindex="0">DPRODUCT関数の実践的な使い方・応用例</a><ol><li><a href="#toc14" tabindex="0">複数条件（AND条件）で積を求める</a></li><li><a href="#toc15" tabindex="0">OR条件で積を求める</a></li><li><a href="#toc16" tabindex="0">担当者ごとに複利成長率を求める</a></li><li><a href="#toc17" tabindex="0">指数の組み合わせ計算に使う</a></li><li><a href="#toc18" tabindex="0">条件範囲を切り替えて集計を素早く変える</a></li></ol></li><li><a href="#toc19" tabindex="0">DPRODUCT関数とSUMPRODUCT関数の使い分け</a></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">DPRODUCT関数（読み方: ディープロダクト）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の値をすべて掛け合わせた積を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「Database PRODUCT（データベースの積）」の略です。<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>（条件付き合計）や<a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a>（条件付き平均）と同じ「データベース関数」の仲間になります。足し算ではなく掛け算を行うのがDPRODUCT関数の特徴です。</p>



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



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



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



<h3 class="wp-block-heading"><span id="toc2">PRODUCT関数との違い（全体の積 vs 条件付きの積）</span></h3>



<p class="wp-block-paragraph">DPRODUCT関数と<a href="https://mashukabu.com/excel-function-howto-use-product/">PRODUCT関数</a>の最大の違いは「条件を付けられるかどうか」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>PRODUCT関数</th><th>DPRODUCT関数</th></tr></thead><tbody><tr><td>条件指定</td><td>できない（範囲全体が対象）</td><td>できる（条件範囲で絞り込み）</td></tr><tr><td>構文</td><td><code>=PRODUCT(範囲)</code></td><td><code>=DPRODUCT(データベース, フィールド, 条件)</code></td></tr><tr><td>用途</td><td>シンプルに値を全部掛ける</td><td>特定の条件に合うデータだけの積</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「範囲内の値を全部掛ける」ならPRODUCT関数で十分です。「営業部の担当レコードだけ掛け合わせたい」のように条件を付けたいなら、DPRODUCT関数の出番になります。</p>



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>データベース</td><td>必須</td><td>見出し行を含むデータ範囲（例: A1:D100）</td></tr><tr><td>フィールド</td><td>必須</td><td>積を求める列の見出し名（文字列）または列番号（数値）</td></tr><tr><td>条件</td><td>必須</td><td>条件を記述したセル範囲（見出し行+条件行）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">それぞれ詳しく見ていきましょう。</p>



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">次のような利率データを使って説明します。年ごとの利率（成長率）を表にしたものです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>年</td><td>区分</td><td>担当</td><td>成長率</td></tr><tr><td>2</td><td>2021</td><td>営業部</td><td>田中</td><td>1.05</td></tr><tr><td>3</td><td>2022</td><td>営業部</td><td>田中</td><td>1.08</td></tr><tr><td>4</td><td>2023</td><td>総務部</td><td>鈴木</td><td>1.03</td></tr><tr><td>5</td><td>2023</td><td>営業部</td><td>佐藤</td><td>1.10</td></tr><tr><td>6</td><td>2024</td><td>営業部</td><td>田中</td><td>1.04</td></tr><tr><td>7</td><td>2024</td><td>総務部</td><td>伊藤</td><td>1.02</td></tr></tbody></table></figure>



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



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



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



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



<p class="wp-block-paragraph">たとえば「営業部」の成長率をすべて掛け合わせたい場合、シートの空いているエリア（たとえばF1:F2）に次のように書きます。</p>



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



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



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;成長率&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>1.05 × 1.08 × 1.10 × 1.04 = 約1.296</strong> です。営業部の4件の成長率を掛け合わせた複利の成長が一発で求められます。</p>



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



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



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



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



<p class="wp-block-paragraph">たとえば「年が2023以上」のレコードの成長率をすべて掛け合わせたい場合は、条件範囲をこう書きます。</p>



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



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;成長率&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>1.03 × 1.10 × 1.04 × 1.02 = 約1.202</strong> です。2023年以降の4件の成長率の積が返ります。</p>



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



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



<p class="wp-block-paragraph">「営業部」かつ「2023年以降」のように、複数の条件をすべて満たすレコードから積を求めたい場合です。</p>



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



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



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;成長率&quot;, F1:G2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>1.10 × 1.04 = 1.144</strong> です。営業部で2023年以降のレコードは佐藤（1.10）と田中（1.04）の2件で、その積が返ります。</p>



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



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



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



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



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;成長率&quot;, F1:F3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>1.05 × 1.08 × 1.03 × 1.10 × 1.04 × 1.02 = 約1.376</strong> です。営業部と総務部のすべてのレコード6件分の成長率が掛け合わされます。</p>



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



<h3 class="wp-block-heading"><span id="toc16">担当者ごとに複利成長率を求める</span></h3>



<p class="wp-block-paragraph">同じ条件範囲の担当セルだけを書き換えれば、担当者ごとの複利成長率をサッと比較できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>担当</td></tr><tr><td>2</td><td>田中</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;成長率&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">田中の成長率3件（1.05、1.08、1.04）を掛け合わせて <strong>約1.179</strong> が返ります。F2セルを「佐藤」に書き換えれば、そのまま佐藤の成長率1.10が返り、鈴木なら1.03が返ります。担当ごとのパフォーマンスを素早く確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">指数の組み合わせ計算に使う</span></h3>



<p class="wp-block-paragraph">商品ごとの「数量」や「割引係数」「税率」などを1行ごとに持つ表があるとき、条件に合う行の係数をまとめて掛け合わせたいケースで活躍します。</p>



<p class="wp-block-paragraph">たとえば次のような表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>商品</td><td>種別</td><td>係数</td></tr><tr><td>2</td><td>商品A</td><td>割引</td><td>0.9</td></tr><tr><td>3</td><td>商品A</td><td>税</td><td>1.1</td></tr><tr><td>4</td><td>商品A</td><td>為替</td><td>1.05</td></tr><tr><td>5</td><td>商品B</td><td>割引</td><td>0.8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「商品A」の係数をすべて掛け合わせた最終調整率を求める場合です。</p>



<pre class="wp-block-code"><code>=DPRODUCT(A1:C5, &quot;係数&quot;, E1:E2)</code></pre>



<p class="wp-block-paragraph">条件範囲（E1:E2）には「商品」「商品A」と入れておきます。結果は <strong>0.9 × 1.1 × 1.05 = 約1.0395</strong> で、商品Aの最終的な調整率が一発で求まります。</p>



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



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



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



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



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



<p class="wp-block-paragraph">条件付きで「掛け算を含む集計」をしたいとき、SUMPRODUCT関数も候補に挙がります。名前は似ていますが、計算する内容は大きく違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DPRODUCT関数</th><th>SUMPRODUCT関数</th></tr></thead><tbody><tr><td>計算内容</td><td>1列の値をすべて掛け合わせた積</td><td>複数列の「行ごとの積」の合計</td></tr><tr><td>用途</td><td>複利計算・係数の連続乗算</td><td>単価×数量の合計・加重平均</td></tr><tr><td>条件指定</td><td>条件範囲（別セル）</td><td>配列式で条件を掛ける</td></tr><tr><td>構文</td><td><code>=DPRODUCT(DB, フィールド, 条件)</code></td><td><code>=SUMPRODUCT(範囲1, 範囲2, ...)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けのポイント</strong>:</p>



<ul class="wp-block-list"><li><strong>1列の値をまとめて掛けたい（複利・指数）</strong> → DPRODUCT関数</li><li><strong>行ごとに掛けてから合計したい（単価×数量の総額）</strong> → SUMPRODUCT関数</li><li><strong>条件をセルで切り替えたい</strong> → DPRODUCT関数</li><li><strong>数式の中で条件を完結させたい</strong> → SUMPRODUCT関数</li></ul>



<p class="wp-block-paragraph">実務ではまったく違う場面で使う関数なので、「縦方向に掛け算を続けるならDPRODUCT」「横方向に掛けて縦方向に合計するならSUMPRODUCT」と覚えておくとスムーズです。</p>



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



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



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>結果が0になるトラブルで最も多いのは「対象列に0が含まれている」ケースです。積は1つでも0があると全体が0になる性質があります。データに0がないか確認してみてください。</p></blockquote>



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



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



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



<ul class="wp-block-list"><li>構文は <code>=DPRODUCT(データベース, フィールド, 条件)</code> で、引数は3つ</li><li>条件は数式内ではなくセル範囲（条件範囲）に書くのが特徴</li><li>条件範囲は「見出し行+条件行」のセットで作る</li><li>同じ行に条件を横並びにすればAND条件、別の行にすればOR条件</li><li>条件セルの値を変えるだけで集計対象を切り替えられる</li><li>PRODUCT関数は全体の積、DPRODUCT関数は条件付きの積</li><li>SUMPRODUCT関数は「行ごとの積の合計」で用途が違う</li><li>対象列に0があると結果も0になる（積の性質）</li><li>条件に一致するレコードが0件だと結果は1になる</li><li>結果がおかしいときはまず「0の混入」と「見出しの不一致」をチェック</li></ul>



<p class="wp-block-paragraph">複利計算や係数の連続乗算で威力を発揮する関数です。まずは簡単な表で <code>=DPRODUCT(A1:D7, "成長率", F1:F2)</code> から試してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-product/">ExcelのPRODUCT関数の使い方｜範囲内の値をまとめて掛け算</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-dproduct/">ExcelのDPRODUCT関数の使い方｜条件に合う積</a></li><li><a href="https://mashukabu.com/spreadsheet-dsum-function/">スプレッドシートのDSUM関数の使い方｜条件に合う合計</a></li><li><a href="https://mashukabu.com/spreadsheet-daverage-function/">スプレッドシートのDAVERAGE関数の使い方｜条件に合う平均</a></li><li><a href="https://mashukabu.com/spreadsheet-dcount-function/">スプレッドシートのDCOUNT関数の使い方｜条件に合う数値の個数</a></li><li><a href="https://mashukabu.com/spreadsheet-dmax-function/">スプレッドシートのDMAX関数の使い方｜条件に合う最大値</a></li><li><a href="https://mashukabu.com/spreadsheet-dmin-function/">スプレッドシートのDMIN関数の使い方｜条件に合う最小値</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dproduct-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのPRODUCT関数で掛け算をまとめる｜割引率一括・複利計算・単位変換の実務4パターン</title>
		<link>https://mashukabu.com/spreadsheet-product-function/</link>
					<comments>https://mashukabu.com/spreadsheet-product-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 12:28:50 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[PRODUCT]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[掛け算]]></category>
		<category><![CDATA[積]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4028</guid>

					<description><![CDATA[GoogleスプレッドシートのPRODUCT関数の使い方を初心者向けに解説。掛け算を一括計算する基本構文から、割引率の一括適用・複利計算などの実務活用パターン、よくあるエラーの対処法、SUM・SUMPRODUCTとの違いまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「セル10個の掛け算を <code>*</code> でつないだら、式が長すぎて画面から見切れた…」そんな経験、ありませんか？</p>



<p class="wp-block-paragraph">セルが3個くらいなら <code>=A1<em>A2</em>A3</code> でも十分です。でも10個、20個と増えると、式がどんどん長くなります。途中でセルを1つ飛ばしてもミスに気づきにくいですよね。さらに空白セルが混ざると、<code>*</code> 演算子では結果が0になってしまうトラブルも起きがちです。</p>



<p class="wp-block-paragraph">そんなときに使えるのが、スプレッドシートのPRODUCT関数です。セル範囲を指定するだけで、掛け算をまとめて計算できますよ。</p>



<p class="wp-block-paragraph">この記事では、PRODUCT関数の基本的な使い方から実務でよく使うパターンまで解説します。割引率の一括適用・複利計算・単位変換などを具体例で紹介しますよ。SUM・SUMPRODUCT・POWERとの違いも比較しますので、似た関数との使い分けに迷っている方もぜひ参考にしてください。</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">スプレッドシートの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><li><a href="#toc5" tabindex="0">引数として渡せるデータの扱い</a></li></ol></li><li><a href="#toc6" tabindex="0">PRODUCT関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">セル範囲をまとめて掛け算する</a></li><li><a href="#toc8" tabindex="0">複数の範囲や数値を組み合わせる</a></li><li><a href="#toc9" tabindex="0">離れたセルを個別に指定する</a></li><li><a href="#toc10" tabindex="0">空白セルがある場合の動作</a></li></ol></li><li><a href="#toc11" tabindex="0">PRODUCT関数の実務活用パターン</a><ol><li><a href="#toc12" tabindex="0">パターン1: 複数の割引率（掛け率）をまとめて掛ける</a></li><li><a href="#toc13" tabindex="0">パターン2: 複利計算（成長倍率の連続適用）</a></li><li><a href="#toc14" tabindex="0">パターン3: 単位変換の一括計算</a></li><li><a href="#toc15" tabindex="0">パターン4: 独立事象の確率を掛け合わせる</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">0が含まれると結果が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">SUM関数との対比</a></li><li><a href="#toc21" tabindex="0">SUMPRODUCT関数との違い</a></li><li><a href="#toc22" tabindex="0">Excelとの違い</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのPRODUCT関数（読み方: プロダクト関数）は、<strong>指定した数値やセル範囲をすべて掛け算する関数</strong>です。引数として渡したすべての数値の積を返します。</p>



<p class="wp-block-paragraph">「PRODUCT」は英語で「積」を意味します。文字どおり「掛け算の結果」を求める関数ですね。数学関数のカテゴリに分類されています。</p>



<p class="wp-block-paragraph">たとえばA1からA5に数値が入っているとします。<code><em></code> 演算子を使うと <code>=A1</em>A2<em>A3</em>A4*A5</code> と書く必要がありますよね。PRODUCT関数なら <code>=PRODUCT(A1:A5)</code> だけで同じ結果が得られます。</p>



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



<ul class="wp-block-list"><li>指定したセル範囲の数値をすべて掛け算する</li><li>複数の離れたセル範囲をまとめて1つの式で計算する</li><li>空白セルや文字列を自動的にスキップする</li><li>数値を直接引数に渡して計算する</li><li>配列定数 <code>{2,3,5}</code> のような形式も受け付ける</li></ul>



<p class="wp-block-paragraph">「数値を全部掛けてね」とスプレッドシートにお願いする関数です。<a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>が「全部足す」なら、PRODUCT関数は「全部掛ける」というイメージですね。</p>



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



<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>



<p class="wp-block-paragraph">カッコの中に、掛け算したい数値やセル範囲を指定します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値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>



<h3 class="wp-block-heading"><span id="toc5">引数として渡せるデータの扱い</span></h3>



<p class="wp-block-paragraph">PRODUCT関数は、引数に渡したデータの型によって挙動が変わります。最初に整理しておくと混乱が減りますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>データ型</th><th>扱い</th></tr></thead><tbody><tr><td>数値</td><td>乗算対象</td></tr><tr><td>数値が入ったセル参照</td><td>乗算対象</td></tr><tr><td>空白セル</td><td>スキップ（無視）</td></tr><tr><td>文字列が入ったセル</td><td>スキップ（無視）</td></tr><tr><td>0が入ったセル</td><td>0として乗算（結果が0になる）</td></tr><tr><td>直接渡した非数値文字列</td><td><code>#VALUE!</code> エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「空白セル」と「0が入ったセル」の扱いが違うのが最大のポイントです。後ほど詳しく解説しますね。</p>



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



<p class="wp-block-paragraph">ここでは実際にPRODUCT関数を使って、基本的な計算パターンを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">セル範囲をまとめて掛け算する</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">結果は <strong>120</strong> です。2 × 3 × 5 × 4 = 120 をまとめて計算してくれます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/01_result_product-basic.png" alt="01 result product basic" /></figure>



<p class="wp-block-paragraph"><code><em></code> 演算子で書くと <code>=A1</em>A2<em>A3</em>A4</code> です。4個ならまだ許容範囲ですが、10個以上になるとPRODUCT関数のほうが断然ラクですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">複数の範囲や数値を組み合わせる</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 × 3 × 5 × 10 = 300 です。</p>



<p class="wp-block-paragraph">「セル範囲の積に消費税率1.10を掛ける」といった用途で便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">離れたセルを個別に指定する</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つの値を掛け算します。間にあるB1やD1は計算に含まれません。間にラベル列が挟まっている表でも、必要な数値セルだけをピンポイントで指定できますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">空白セルがある場合の動作</span></h3>



<p class="wp-block-paragraph">PRODUCT関数と <code>*</code> 演算子の大きな違いが、空白セルの扱いです。</p>



<p class="wp-block-paragraph">A1:A5に「3, (空白), 5, (空白), 2」と入っているとします。</p>



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



<p class="wp-block-paragraph">PRODUCT関数は空白セルを無視します。結果は 3 × 5 × 2 = <strong>30</strong> です。</p>



<p class="wp-block-paragraph">一方、<code><em></code> 演算子で <code>=A1</em>A2<em>A3</em>A4*A5</code> と書くと空白が0扱いになります。結果は <strong>0</strong> ですね。入力途中の表ではこの違いが大きいですよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/02_result_blank-cells.png" alt="02 result blank cells" /></figure>



<p class="wp-block-paragraph">「データ入力がまだ途中で、一部のセルが空欄」という場面でも、PRODUCT関数なら入力済みの値だけで計算してくれます。集計用の表ではPRODUCT関数のほうが安全ですね。</p>



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



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



<h3 class="wp-block-heading"><span id="toc12">パターン1: 複数の割引率（掛け率）をまとめて掛ける</span></h3>



<p class="wp-block-paragraph">見積書や請求書で「定価に複数の掛け率を適用する」場面です。</p>



<p class="wp-block-paragraph">B2に定価10,000、C2に仕切率0.7、D2に特別値引0.95、E2に消費税率1.10が入っているとします。</p>



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



<p class="wp-block-paragraph">結果は <strong>7,315</strong> です。10,000 × 0.7 × 0.95 × 1.10 = 7,315 ですね。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/03_result_discount-rate.png" alt="03 result discount rate" /></figure>



<p class="wp-block-paragraph"><code><em></code> 演算子で書くと <code>=B2</em>C2<em>D2</em>E2</code> です。掛け率の列が増えてもPRODUCT関数なら範囲を広げるだけで対応できます。新しい割引キャンペーン列を追加してもメンテが楽ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>掛け率の表では、未確定の列を空白にしておくとPRODUCT関数が自動でスキップしてくれます。0を入れると結果が0になってしまうので、「未確定=空白」のルールを徹底するのがコツです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">パターン2: 複利計算（成長倍率の連続適用）</span></h3>



<p class="wp-block-paragraph">投資の複利計算や売上の年間成長率を連続で掛けたいときに便利です。</p>



<p class="wp-block-paragraph">A2:A6に5年分の成長倍率「1.05, 1.03, 1.08, 0.98, 1.04」が入っているとします。</p>



<pre class="wp-block-code"><code>=PRODUCT(A2:A6)</code></pre>



<p class="wp-block-paragraph">結果は約 <strong>1.190</strong> です。5年間で元の値が約1.19倍になったことがわかります。</p>



<p class="wp-block-paragraph">元本100万円の場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=1000000 * PRODUCT(A2:A6)</code></pre>



<p class="wp-block-paragraph">結果は約 <strong>1,190,446</strong> 円です。元本に成長倍率を一括で掛けられるので、年ごとの計算列が不要になります。</p>



<p class="wp-block-paragraph">利率が一定の場合は POWER関数のほうがシンプルです。年利5%固定で5年間なら次のように書けます。</p>



<pre class="wp-block-code"><code>=1000000 * POWER(1.05, 5)</code></pre>



<p class="wp-block-paragraph">使い分けは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>POWER関数</strong>: 同じ数値を繰り返し掛ける（利率一定の複利、面積計算など）</li><li><strong>PRODUCT関数</strong>: 異なる数値を順に掛ける（年ごとに変動する成長率、変則的な割引率など）</li></ul>



<p class="wp-block-paragraph">「毎年違う」がPRODUCT、「毎年同じ」がPOWERと覚えておくと迷いません。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: 単位変換の一括計算</span></h3>



<p class="wp-block-paragraph">複数の変換係数を一度に掛けたいときにも使えます。</p>



<p class="wp-block-paragraph">たとえば「5ヤードをセンチメートルに変換」する場合です。1ヤード = 3フィート、1フィート = 12インチ、1インチ = 2.54cmなので、次のように書けます。</p>



<pre class="wp-block-code"><code>=PRODUCT(5, 3, 12, 2.54)</code></pre>



<p class="wp-block-paragraph">結果は <strong>457.2</strong> cmです。変換係数をセルに入れておけば、別の単位変換にも使い回せますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン4: 独立事象の確率を掛け合わせる</span></h3>



<p class="wp-block-paragraph">統計や品質管理では「独立した複数の事象がすべて発生する確率」を扱います。</p>



<p class="wp-block-paragraph">たとえば3つの部品がそれぞれ0.99、0.995、0.98の信頼度（故障しない確率）を持つとします。システム全体の信頼度は次のように求められますよ。</p>



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



<p class="wp-block-paragraph">A1:A3に「0.99, 0.995, 0.98」を入れると、結果は約 <strong>0.9656</strong>（約96.56%）です。</p>



<p class="wp-block-paragraph">部品が増えても、信頼度の列を追加して範囲を広げるだけで全体信頼度が計算できます。サーバの稼働率計算にも応用できますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">よくあるエラーと対処法</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>#NAME?</td><td>関数名のスペルミス（PRODACT など）</td><td>関数名のスペルを確認する</td></tr><tr><td>#N/A</td><td>参照セルに #N/A エラーがある</td><td>IFERROR/IFNA でエラーを処理する</td></tr><tr><td>結果が0</td><td>範囲内に0のセルがある</td><td>0を空白にするか、IF関数で0以外だけを参照する</td></tr><tr><td>結果が0</td><td>空白に見えて実は0</td><td>セルをクリックして数式バーを確認する</td></tr><tr><td>想定より小さい値</td><td>範囲指定が足りない</td><td>数式バーで範囲を確認し必要なセルをすべて含める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">0が含まれると結果が0になる</span></h3>



<p class="wp-block-paragraph">PRODUCT関数で最も多い「想定外」がこれです。</p>



<p class="wp-block-paragraph">掛け算なので、範囲のどこかに0が1つでもあると結果全体が0になります。これは数学的に正しい挙動ですが、実務では「0と空白を取り違えた」というケースが多いんですよ。</p>



<p class="wp-block-paragraph">空白セルは無視されますが、「0が入力されたセル」は計算に含まれて結果を0にしてしまいます。対処法はいくつかあります。</p>



<p class="wp-block-paragraph"><strong>対処法1: 0を空白にする</strong></p>



<p class="wp-block-paragraph">入力前のセルには0ではなく空白のままにしておきます。PRODUCT関数は空白を無視するので、入力済みの値だけで計算できますよ。</p>



<p class="wp-block-paragraph"><strong>対処法2: IF関数で0を除外する</strong></p>



<p class="wp-block-paragraph">0を含むセルをスキップしたい場合は、次のように書けます。</p>



<pre class="wp-block-code"><code>=PRODUCT(IF(A1:A5&lt;&gt;0, A1:A5, 1))</code></pre>



<p class="wp-block-paragraph">0のセルを1に置き換えることで、掛け算の結果に影響を与えずスキップできます。1を掛けても値が変わらない、という掛け算の性質を利用したテクニックですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Googleスプレッドシートではこの配列数式が自動的に展開されます。Excelの場合、Excel 2019以前はCtrl+Shift+Enterで配列数式として確定する必要があります。Excel 365以降は動的配列機能により自動展開されますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc18">文字列が混在する場合</span></h3>



<p class="wp-block-paragraph">範囲内に文字列が混ざっていてもエラーにはなりません。PRODUCT関数は文字列を自動的に無視します。</p>



<p class="wp-block-paragraph">ただし、引数に直接文字列を指定すると <code>#VALUE!</code> エラーになります。</p>



<pre class="wp-block-code"><code>=PRODUCT(&quot;abc&quot;, 5)</code></pre>



<p class="wp-block-paragraph">この数式はエラーです。文字列はセル参照で範囲に含める形なら問題ありません。</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><strong>PRODUCT</strong></td><td><strong>すべての値の積を返す</strong></td><td><strong>セル範囲をまとめて掛け算したいとき</strong></td></tr><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-sumproduct-function/">SUMPRODUCT</a></td><td>行ごとの積を合計する</td><td>単価×数量の合計など</td></tr><tr><td>POWER</td><td>べき乗を返す</td><td>同じ数値を繰り返し掛けるとき</td></tr><tr><td>MULTIPLY</td><td>2つの数値を掛ける</td><td>2値専用の掛け算</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">SUM関数との対比</span></h3>



<p class="wp-block-paragraph">SUM関数とPRODUCT関数は「四則演算をまとめて実行する」という意味で対になる関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SUM</th><th>PRODUCT</th></tr></thead><tbody><tr><td>演算</td><td>足し算（+）</td><td>掛け算（×）</td></tr><tr><td>空白セルの扱い</td><td>0として加算（結果に影響なし）</td><td>無視（結果に影響なし）</td></tr><tr><td>0の扱い</td><td>0を加算（結果に影響なし）</td><td>0を乗算（結果が0になる）</td></tr><tr><td>文字列の扱い</td><td>無視</td><td>無視</td></tr><tr><td>主な用途</td><td>売上合計・経費集計</td><td>割引率・複利・単位変換</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">大きな違いは「0の影響」です。SUM関数は0を足しても結果に影響しません。一方、PRODUCT関数は0を1つでも掛けると結果全体が0になります。</p>



<p class="wp-block-paragraph">「足すなら0は無害、掛けるなら0は致命的」と覚えておくとよいですよ。</p>



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



<p class="wp-block-paragraph">名前が似ていますが、役割が違います。</p>



<ul class="wp-block-list"><li><strong>PRODUCT関数</strong>: すべての値を掛け算する（純粋な積）</li><li><strong>SUMPRODUCT関数</strong>: 行ごとに掛け算してから合計する（積の和）</li></ul>



<p class="wp-block-paragraph">具体例で比較してみましょう。A列に「2, 3」、B列に「5, 4」があるとします。</p>



<pre class="wp-block-code"><code>=PRODUCT(A1:A2, B1:B2)    → 2 × 3 × 5 × 4 = 120
=SUMPRODUCT(A1:A2, B1:B2) → (2×5) + (3×4) = 22</code></pre>



<p class="wp-block-paragraph">PRODUCT関数は4つの値をすべて掛けます。SUMPRODUCT関数は行ごとに掛けてから合計します。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-product-function/04_result_product-vs-sumproduct.png/">_images/spreadsheet-product-function/04_result_product-vs-sumproduct.png</a></p>



<p class="wp-block-paragraph">「単価 × 数量の合計金額」を求めるなら<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>を使いましょう。「複数の倍率をまとめて掛ける」ならPRODUCT関数が適しています。</p>



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



<p class="wp-block-paragraph">PRODUCT関数の動作は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>最大255個</td><td>最大255個</td></tr><tr><td>空白セルの扱い</td><td>無視</td><td>無視</td></tr><tr><td>文字列の扱い</td><td>無視</td><td>無視</td></tr><tr><td>配列数式</td><td>自動展開</td><td>Excel 365は自動、2019以前はCtrl+Shift+Enter</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数の上限は両方とも255個ですが、255個を超える掛け算は実務ではまず使いません。Excelと同じ書き方で使えるので、スプレッドシートとExcelを併用している方も安心ですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのPRODUCT関数のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=PRODUCT(数値1, [数値2], ...)</code> で、指定した値をすべて掛け算する</li><li><code>*</code> 演算子よりセルが多いときにスッキリ書ける</li><li>空白セルや文字列は自動でスキップしてくれる</li><li><strong>0が1つでもあると結果が0になる</strong>ので注意</li><li>0を残したまま除外したい場合は <code>=PRODUCT(IF(範囲<>0, 範囲, 1))</code> で対応する</li><li><a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>は「全部足す」、PRODUCT関数は「全部掛ける」</li><li><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>は「行ごとに掛けてから足す」で役割が違う</li><li>同じ値を繰り返し掛けるならPOWER関数のほうが意図が明確</li></ul>



<p class="wp-block-paragraph">まずは <code>=PRODUCT(A1:A5)</code> のシンプルな形から試してみてください。掛け算するセルが多い場面で、式がスッキリして便利ですよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-product-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDPRODUCT関数の使い方｜条件に一致する数値データの積を求める</title>
		<link>https://mashukabu.com/excel-function-howto-use-dproduct/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-dproduct/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 May 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DCOUNT]]></category>
		<category><![CDATA[DPRODUCT]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[PRODUCT]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[条件付き積]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3381</guid>

					<description><![CDATA[ExcelのDPRODUCT関数の使い方を、基本構文から複数条件指定、PRODUCT関数との使い分け、連続割引や補正係数など実務での活用例、よくあるエラーの対処法、FAQまでわかりやすく解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「特定のカテゴリだけの数値を全部掛け合わせたい」「条件を満たすデータの積を求めたい」と思ったことはありませんか？</p>



<p class="wp-block-paragraph">データが多いと、手作業でフィルターをかけてから電卓で掛け算するのは大変ですよね。条件を変えるたびにやり直すのも面倒です。</p>



<p class="wp-block-paragraph">そんなときに便利なのがExcelの <strong>DPRODUCT関数</strong> です。条件に一致するレコードの数値を自動で掛け合わせて、積を返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、DPRODUCT関数の基本的な書き方から応用例まで解説します。よくあるエラーの対処法や、似た関数との使い分けもあわせて紹介しますね。</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のDPRODUCT関数とは？</a></li><li><a href="#toc2" tabindex="0">ExcelのDPRODUCT関数の書き方（構文と引数）</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">DPRODUCT関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">サンプルデータ</a></li><li><a href="#toc7" tabindex="0">条件の設定</a></li><li><a href="#toc8" tabindex="0">数式の入力</a></li></ol></li><li><a href="#toc9" tabindex="0">DPRODUCT関数の応用：複数条件で積を求める</a><ol><li><a href="#toc10" tabindex="0">AND条件（すべての条件を同時に満たす）</a></li><li><a href="#toc11" tabindex="0">OR条件（いずれかの条件を満たす）</a></li><li><a href="#toc12" tabindex="0">AND条件とOR条件の組み合わせ</a></li><li><a href="#toc13" tabindex="0">比較演算子を使った条件指定</a></li></ol></li><li><a href="#toc14" tabindex="0">DPRODUCT関数の実践活用例</a><ol><li><a href="#toc15" tabindex="0">連続割引率を適用した最終価格の計算</a></li><li><a href="#toc16" tabindex="0">複数係数の合成（補正係数の計算）</a></li><li><a href="#toc17" tabindex="0">条件付きの確率計算</a></li><li><a href="#toc18" tabindex="0">為替・物価指数の連結計算</a></li><li><a href="#toc19" tabindex="0">生産歩留まり率のシナリオ比較</a></li></ol></li><li><a href="#toc20" tabindex="0">DPRODUCT関数でよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc22" tabindex="0">結果が想定と違う</a></li><li><a href="#toc23" tabindex="0">結果が0になる</a></li><li><a href="#toc24" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc25" tabindex="0">DPRODUCT関数と似た関数の違い・使い分け</a><ol><li><a href="#toc26" tabindex="0">DPRODUCT関数とPRODUCT関数の違い</a></li><li><a href="#toc27" tabindex="0">DPRODUCT関数とほかのデータベース関数の比較</a></li></ol></li><li><a href="#toc28" tabindex="0">DPRODUCT関数についてよくある質問（FAQ）</a><ol><li><a href="#toc29" tabindex="0">Q1. DPRODUCT関数で対象レコードが0件の場合、結果はどうなりますか？</a></li><li><a href="#toc30" tabindex="0">Q2. DPRODUCT関数で空白セルやテキストが混ざっているとどうなりますか？</a></li><li><a href="#toc31" tabindex="0">Q3. DPRODUCT関数とSUMPRODUCT関数は何が違いますか？</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">DPRODUCT関数は「ディープロダクト」と読みます。Database PRODUCTの略で、データベース形式の表から条件に一致するレコードの「数値の積（掛け算の結果）」を求める関数です。</p>



<p class="wp-block-paragraph">Excelにはデータベース関数と呼ばれるグループがあります。DPRODUCT関数はそのひとつで、<a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数</a>（条件付きカウント）や<a href="https://mashukabu.com/excel-function-howto-use-dsum/">DSUM関数</a>（条件付き合計）、<a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数</a>（条件付き平均）と同じ仲間です。</p>



<p class="wp-block-paragraph">データベース関数の特徴は、条件をセル上に書き出して指定するところです。数式の中に条件を埋め込まないので、条件を変えたいときはセルの値を書き換えるだけで済みますよ。</p>



<p class="wp-block-paragraph">DPRODUCT関数の大きなポイントは <strong>条件に一致する数値を掛け合わせる</strong> ところです。「割引率を連続で適用した結果を求めたい」「複数の係数を掛け合わせて最終値を出したい」といった場面で役立ちます。</p>



<p class="wp-block-paragraph">DPRODUCT関数はExcel 2003以降のすべてのバージョンで使えます。Googleスプレッドシートでも同じ書き方で使えるので、覚えておくと活用の幅が広がりますよ。</p>



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



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



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



<p class="wp-block-paragraph">引数は3つあり、すべて必須です。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>データベース</td><td>必須</td><td>見出し行を含むセル範囲（例: A1:D10）</td></tr><tr><td>フィールド</td><td>必須</td><td>積を求める対象の列の見出し名（&#8221;係数&#8221;）または列番号（1始まり）</td></tr><tr><td>検索条件</td><td>必須</td><td>見出し行＋条件値を含むセル範囲</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>データベース</strong> には、表全体を見出し行ごと指定します。見出し行がないと正しく動作しないので注意してください。</p>



<p class="wp-block-paragraph"><strong>フィールド</strong> には、掛け合わせたい数値が入っている列を指定します。指定方法は2通りあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>指定方法</th><th>書き方の例</th><th>説明</th></tr></thead><tbody><tr><td>列の見出し名をダブルクォーテーションで囲む</td><td>&#8220;係数&#8221;</td><td>見出しが「係数」の列を対象にする</td></tr><tr><td>列番号を数値で指定する</td><td>3</td><td>左端から3番目の列を対象にする</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">見出し名で指定するほうが数式の意味がわかりやすいので、基本的にはこちらをおすすめしますよ。</p>



<p class="wp-block-paragraph"><strong>検索条件</strong> には、見出し行と条件値がセットになったセル範囲を指定します。条件範囲はデータベースの範囲と重ならない場所に作ってください。重なっていると正しい結果が返りません。</p>



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



<p class="wp-block-paragraph">ここでは、製品データから特定カテゴリの係数を掛け合わせる例で解説します。</p>



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



<p class="wp-block-paragraph">以下のような製品リストがA1:D7に入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>製品名</th><th>カテゴリ</th><th>係数</th><th>売上</th></tr></thead><tbody><tr><td>製品A</td><td>電子部品</td><td>1.2</td><td>500</td></tr><tr><td>製品B</td><td>機械部品</td><td>0.8</td><td>300</td></tr><tr><td>製品C</td><td>電子部品</td><td>1.5</td><td>400</td></tr><tr><td>製品D</td><td>電子部品</td><td>0.9</td><td>600</td></tr><tr><td>製品E</td><td>機械部品</td><td>1.1</td><td>350</td></tr><tr><td>製品F</td><td>電子部品</td><td>1.3</td><td>450</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表で「電子部品の係数をすべて掛け合わせた結果」を求めてみましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">条件の設定</span></h3>



<p class="wp-block-paragraph">F1:F2に条件を入力します。</p>



<figure class="wp-block-table"><table><thead><tr><th>F1</th><th>F2</th></tr></thead><tbody><tr><td>カテゴリ</td><td>電子部品</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">F1にはデータベースの見出しと同じ文字列を入力します。F2には抽出条件の値を入力します。</p>



<h3 class="wp-block-heading"><span id="toc8">数式の入力</span></h3>



<p class="wp-block-paragraph">電子部品の係数の積を求める数式は次のとおりです。</p>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;係数&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">この数式は「A1:D7のデータベースから、カテゴリが電子部品のレコードを探して、係数列の数値をすべて掛け合わせた結果を返す」という意味です。</p>



<p class="wp-block-paragraph">電子部品の係数は1.2、1.5、0.9、1.3の4つです。1.2 x 1.5 x 0.9 x 1.3 = <strong>2.106</strong> が結果になります。</p>



<p class="wp-block-paragraph">条件を「機械部品」に変えるとF2のセルを書き換えるだけでOKです。機械部品の係数は0.8と1.1なので、0.8 x 1.1 = <strong>0.88</strong> になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc9">DPRODUCT関数の応用：複数条件で積を求める</span></h2>



<h3 class="wp-block-heading"><span id="toc10">AND条件（すべての条件を同時に満たす）</span></h3>



<p class="wp-block-paragraph">複数の条件をすべて満たすレコードの積を求めるには、条件を <strong>同じ行</strong> に並べます。</p>



<p class="wp-block-paragraph">たとえば「電子部品」かつ「係数が1以上」のレコードの売上の積を求めるには、条件範囲を次のように設定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>F1</th><th>G1</th></tr></thead><tbody><tr><td>カテゴリ</td><td>係数</td></tr><tr><td>電子部品</td><td>>=1</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;売上&quot;, F1:G2)</code></pre>



<p class="wp-block-paragraph">電子部品かつ係数が1以上のレコードは、製品A（売上500）、製品C（売上400）、製品F（売上450）の3つです。500 x 400 x 450 = <strong>90,000,000</strong> が結果になります。</p>



<h3 class="wp-block-heading"><span id="toc11">OR条件（いずれかの条件を満たす）</span></h3>



<p class="wp-block-paragraph">いずれかの条件を満たすレコードの積を求めるには、条件を <strong>別の行</strong> に書きます。</p>



<p class="wp-block-paragraph">たとえば「電子部品」または「機械部品」の売上の積を求めるには、条件範囲を次のように設定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>F1</th></tr></thead><tbody><tr><td>カテゴリ</td></tr><tr><td>電子部品</td></tr><tr><td>機械部品</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;売上&quot;, F1:F3)</code></pre>



<p class="wp-block-paragraph">全レコードが対象になるので、500 x 300 x 400 x 600 x 350 x 450 = <strong>5,670,000,000,000,000</strong> が結果です。</p>



<p class="wp-block-paragraph">積の計算は値が増えるとすぐに大きな数値になります。結果が極端に大きくなったときは、対象レコードの数が想定どおりか確認してみてください。</p>



<p class="wp-block-paragraph">AND条件とOR条件の使い分けがデータベース関数のポイントです。「同じ行に書けばAND、別の行に書けばOR」と覚えておけば迷いませんよ。</p>



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



<p class="wp-block-paragraph">AND条件とOR条件は組み合わせることもできます。たとえば「電子部品で係数1以上」または「機械部品で係数1以上」のレコードの積を求めたい場合、条件範囲を次のように設定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>F1</th><th>G1</th></tr></thead><tbody><tr><td>カテゴリ</td><td>係数</td></tr><tr><td>電子部品</td><td>>=1</td></tr><tr><td>機械部品</td><td>>=1</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;売上&quot;, F1:G3)</code></pre>



<p class="wp-block-paragraph">行が同じ列の組み合わせはAND、別の行はOR、という基本ルールが組み合わさっています。条件範囲を整えるだけでかなり複雑な絞り込みができるのが、データベース関数の強みですよ。</p>



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



<p class="wp-block-paragraph">検索条件には等号だけでなく、比較演算子も使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>演算子</th><th>意味</th><th>書き方の例</th></tr></thead><tbody><tr><td><code>=</code></td><td>等しい</td><td><code>=1.2</code>（明示的に等しい）</td></tr><tr><td><code>></code></td><td>より大きい</td><td><code>>1</code></td></tr><tr><td><code>>=</code></td><td>以上</td><td><code>>=1</code></td></tr><tr><td><code><</code></td><td>より小さい</td><td><code><1</code></td></tr><tr><td><code><=</code></td><td>以下</td><td><code><=1</code></td></tr><tr><td><code><></code></td><td>等しくない</td><td><code><>0</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「係数が1以上のレコードだけ」「売上が500以下のレコードだけ」のように、数値の範囲で絞り込みたいときに便利です。とくに <code><>0</code>（ゼロを除外）はDPRODUCT関数では重宝します。後述するように対象データに0があると積が0になってしまうので、<code><>0</code> で除外しておくと安全ですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">DPRODUCT関数の実践活用例</span></h2>



<p class="wp-block-paragraph">DPRODUCT関数の真価が発揮されるのは、実務で「条件付きの掛け算」が必要な場面です。代表的な使いどころを3つ紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc15">連続割引率を適用した最終価格の計算</span></h3>



<p class="wp-block-paragraph">セール商品で「会員割引→クーポン割引→ポイント還元」のように複数の割引率を順番に掛けていく場面があります。割引率を一覧化しておけば、DPRODUCT関数で一発で最終率を求められます。</p>



<figure class="wp-block-table"><table><thead><tr><th>割引種別</th><th>適用フラグ</th><th>残存率</th></tr></thead><tbody><tr><td>会員割引</td><td>○</td><td>0.9</td></tr><tr><td>クーポン</td><td>○</td><td>0.85</td></tr><tr><td>ポイント還元</td><td>○</td><td>0.95</td></tr><tr><td>キャンペーン</td><td>×</td><td>0.8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「適用フラグが○」のレコードだけを掛け合わせれば、最終的な残存率が出ます。商品の元値にこの結果を掛ければ最終価格が出せますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">複数係数の合成（補正係数の計算）</span></h3>



<p class="wp-block-paragraph">工程ごとに歩留まり率や補正係数が決まっているときに、対象工程だけの合成係数を求めたい場合に使えます。条件を変えるだけで「Aライン全工程」「Bライン特定工程のみ」などの切り替えが瞬時にできます。</p>



<h3 class="wp-block-heading"><span id="toc17">条件付きの確率計算</span></h3>



<p class="wp-block-paragraph">統計や品質管理の場面で「特定条件下での独立事象の同時発生確率」を求める計算にも使えます。各事象の確率をデータベース化し、条件で絞り込んだうえで掛け合わせるイメージです。</p>



<h3 class="wp-block-heading"><span id="toc18">為替・物価指数の連結計算</span></h3>



<p class="wp-block-paragraph">複数年・複数通貨にまたがる指数を連結したいときにも便利です。たとえば「2022年から2025年までの円ベース物価上昇率を連続して掛けて累計上昇率を出す」といった計算では、対象年・対象通貨を条件で絞り込んでDPRODUCT関数で一発計算ができます。</p>



<figure class="wp-block-table"><table><thead><tr><th>年</th><th>通貨</th><th>上昇率（前年比）</th></tr></thead><tbody><tr><td>2022</td><td>JPY</td><td>1.025</td></tr><tr><td>2023</td><td>JPY</td><td>1.032</td></tr><tr><td>2024</td><td>JPY</td><td>1.028</td></tr><tr><td>2025</td><td>JPY</td><td>1.021</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「通貨がJPY」の上昇率をすべて掛ければ、累計の物価上昇率が出ます。期間を変えるたびに数式を書き直す必要がないので、レポート作成がぐっと楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">生産歩留まり率のシナリオ比較</span></h3>



<p class="wp-block-paragraph">製造業で「各工程の歩留まり率を掛け合わせて全体の歩留まりを出す」ケースでも活躍します。工程ごとの歩留まりをデータベース化し、ラインや製品の種類を条件にすれば、シナリオ別の最終歩留まりが一覧で比較できます。</p>



<p class="wp-block-paragraph">いずれの場合も、条件をセル上で管理できるので、シミュレーションがしやすいのがDPRODUCT関数のメリットです。条件付きの合計が必要な場面では<a href="https://mashukabu.com/excel-function-howto-use-dsum/">DSUM関数</a>、平均が必要な場面では<a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数</a>と、目的に応じて使い分けるとさらに便利になります。</p>



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



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



<p class="wp-block-paragraph">フィールド名が間違っている場合に発生します。</p>



<ul class="wp-block-list"><li><strong>原因</strong>: フィールドに指定した見出し名がデータベースの見出し行に存在しない</li><li><strong>対処法</strong>: ダブルクォーテーションの中の文字列が、データベースの見出し行と完全に一致しているか確認してください。スペースの有無や全角半角の違いにも注意しましょう</li></ul>



<p class="wp-block-paragraph">フィールドを列番号で指定しているときは、番号が列数の範囲内に収まっているかも確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">結果が想定と違う</span></h3>



<p class="wp-block-paragraph">条件に一致するレコードが正しく抽出されていない場合に起こります。</p>



<ul class="wp-block-list"><li><strong>原因1</strong>: 検索条件の値が正しくない（スペルミス、全角半角の違いなど）</li><li><strong>原因2</strong>: 条件範囲にデータベースと重なる行が含まれている</li><li><strong>対処法</strong>: 条件の値が正しいか確認してください。条件範囲はデータベースから離れた位置に作るのがおすすめです</li></ul>



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



<p class="wp-block-paragraph">フィールドに指定した列に0が含まれていると、積の結果が0になります。</p>



<ul class="wp-block-list"><li><strong>原因</strong>: 条件に一致するレコードの中に数値0のセルがある</li><li><strong>対処法</strong>: 対象データに0が含まれていないか確認してください。0が含まれていると、どれだけ大きな数値があっても積は0になります</li></ul>



<p class="wp-block-paragraph">DPRODUCT関数特有の落とし穴なので、結果が0になったらまず対象レコードに0がないかチェックする癖をつけておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc24">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">数式の入力ミスで発生します。</p>



<ul class="wp-block-list"><li><strong>原因</strong>: 関数名のスペルミス、またはフィールド名のダブルクォーテーション忘れ</li><li><strong>対処法</strong>: 「DPRODUCT」のスペルを確認してください。フィールド名を文字列で指定する場合は <code>"係数"</code> のようにダブルクォーテーションで囲む必要があります</li></ul>



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



<h3 class="wp-block-heading"><span id="toc26">DPRODUCT関数とPRODUCT関数の違い</span></h3>



<p class="wp-block-paragraph">いちばん混同しやすいのがDPRODUCT関数と<a href="https://mashukabu.com/excel-function-howto-use-product/">PRODUCT関数</a>です。違いは条件指定の有無にあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DPRODUCT関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-product/">PRODUCT関数</a></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>



<p class="wp-block-paragraph"><strong>DPRODUCT関数が向いているケース:</strong></p>



<ul class="wp-block-list"><li>「営業部だけの係数を掛け合わせたい」のように条件で絞りたいとき</li><li>条件をセルで管理して頻繁に切り替えたいとき</li></ul>



<p class="wp-block-paragraph"><strong>PRODUCT関数が向いているケース:</strong></p>



<ul class="wp-block-list"><li>条件不要で範囲内の数値をすべて掛けたいとき</li><li>シンプルな掛け算をしたいとき</li></ul>



<h4 class="wp-block-heading">具体的な書き比べ</h4>



<p class="wp-block-paragraph">同じ「電子部品の係数の積」を求める場合、それぞれの書き方を比べてみましょう。</p>



<p class="wp-block-paragraph"><strong>DPRODUCT関数の場合（条件範囲F1:F2に「カテゴリ／電子部品」を用意）:</strong></p>



<pre class="wp-block-code"><code>=DPRODUCT(A1:D7, &quot;係数&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph"><strong>PRODUCT関数の場合（IF関数で電子部品の係数だけを抽出する必要あり）:</strong></p>



<pre class="wp-block-code"><code>=PRODUCT(IF(B2:B7=&quot;電子部品&quot;, C2:C7, 1))</code></pre>



<p class="wp-block-paragraph">PRODUCT関数で同じことをやろうとすると、IF関数で「条件外は1にする」ような工夫が必要です（1は掛けても結果に影響しないため）。式が複雑になるうえ、数式に条件が埋め込まれているので、条件を変えるたびに数式自体を書き換えなければなりません。</p>



<p class="wp-block-paragraph">その点、DPRODUCT関数は条件をセル上で管理できるので、条件を変えるのも一目で内容を理解するのもラクです。条件付きの積を扱うなら、迷わずDPRODUCT関数を選んでOKですよ。</p>



<h3 class="wp-block-heading"><span id="toc27">DPRODUCT関数とほかのデータベース関数の比較</span></h3>



<p class="wp-block-paragraph">DPRODUCT関数は、データベース関数ファミリーのひとつです。条件の指定方法はすべて同じで、違いは「条件に一致したレコードをどう処理するか」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>処理内容</th></tr></thead><tbody><tr><td>DPRODUCT関数</td><td>数値の積を求める</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dsum/">DSUM関数</a></td><td>数値の合計を求める</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数</a></td><td>数値データの件数を数える</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dcounta/">DCOUNTA関数</a></td><td>空白以外のセルの件数を数える</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数</a></td><td>数値の平均値を求める</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dget/">DGET関数</a></td><td>条件に一致する1件のデータを取り出す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どの関数も引数は「データベース, フィールド, 検索条件」の3つです。構文が同じなので、ひとつ覚えればほかのデータベース関数にもすぐ応用できますよ。</p>



<p class="wp-block-paragraph">実務では「条件付き合計」を求める<a href="https://mashukabu.com/excel-function-howto-use-dsum/">DSUM関数</a>や、「条件付き件数」の<a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数</a>と組み合わせて、同じ条件でも合計・件数・平均・積をまとめて出すと、ダッシュボード的なシートが作りやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc28">DPRODUCT関数についてよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc29">Q1. DPRODUCT関数で対象レコードが0件の場合、結果はどうなりますか？</span></h3>



<p class="wp-block-paragraph">検索条件に一致するレコードが1件もない場合、DPRODUCT関数は <strong>0</strong> を返します。「1（積の単位元）」ではなく0が返るので、結果が0だったときは「条件が厳しすぎて対象が0件」なのか「対象データの中に0が含まれている」のかを切り分ける必要があります。</p>



<p class="wp-block-paragraph">切り分け方は簡単で、同じ条件で<a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数</a>を使ってレコード件数を数えてみてください。件数が0ならレコード自体がなく、件数が1以上なら対象データのどこかに0が含まれている、と判断できます。</p>



<h3 class="wp-block-heading"><span id="toc30">Q2. DPRODUCT関数で空白セルやテキストが混ざっているとどうなりますか？</span></h3>



<p class="wp-block-paragraph">DPRODUCT関数は、フィールドに指定した列の <strong>数値だけ</strong> を対象に積を計算します。空白セルやテキストデータは無視されるので、エラーにはならず計算は通ります。</p>



<p class="wp-block-paragraph">ただし「無視される」ということは、想定していたレコードが計算対象から外れている可能性もあります。たとえば「N/A」や「-」のような文字列が紛れていると、その行は積に含まれません。意図しない結果になったときは、対象列のデータ型が数値で揃っているか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc31">Q3. DPRODUCT関数とSUMPRODUCT関数は何が違いますか？</span></h3>



<p class="wp-block-paragraph">名前が似ていますが、まったく別の関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>処理内容</th></tr></thead><tbody><tr><td>DPRODUCT関数</td><td>条件に一致するレコードの <strong>1列分</strong> の数値を掛け合わせる</td></tr><tr><td>SUMPRODUCT関数</td><td>複数の配列を「行ごとに掛け算」してから「全行を合計」する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DPRODUCT関数は条件付きの「積」、SUMPRODUCT関数は配列同士の「積和」を計算する関数です。たとえば「単価×数量」を全行分計算して合計したい場合はSUMPRODUCT関数の出番です。</p>



<p class="wp-block-paragraph">「掛け算の結果を1つ取得したい」のがDPRODUCT関数、「掛け算してから合計したい」のがSUMPRODUCT関数、と覚えておくと混同しませんよ。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのDPRODUCT関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li>DPRODUCT関数は、データベース形式の表から条件に一致するレコードの「数値の積」を求める関数</li><li>引数は「データベース」「フィールド」「検索条件」の3つで、すべて必須</li><li>AND条件は同じ行、OR条件は別の行に条件を書く</li><li>連続割引・補正係数・条件付き確率など、実務の「条件付き掛け算」で活躍</li><li>対象データに0が含まれると結果が0になるので注意</li><li>範囲全体の積を求めるだけなら<a href="https://mashukabu.com/excel-function-howto-use-product/">PRODUCT関数</a>がシンプル</li></ul>



<p class="wp-block-paragraph">データベース関数は条件をセル上で管理できるのが最大のメリットです。<a href="https://mashukabu.com/excel-function-howto-use-dsum/">DSUM関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-dcount/">DCOUNT関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-daverage/">DAVERAGE関数</a>と組み合わせれば、同じ条件の合計・件数・平均・積をまとめて出せて、条件付き集計がぐっと効率的になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-dproduct/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
