<?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>DPRODUCT &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/dproduct/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 28 Apr 2026 14:24:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>DPRODUCT &#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>「該当する商品の単価だけを掛け合わせた指数を出したい」「条件に合う利率をまとめて複利計算したい」。こんな場面、フィルタで絞り込んでからPRODUCT関数を使っていませんか。</p>



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



<p>そんなときに便利なのが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>DPRODUCT関数（読み方: ディープロダクト）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の値をすべて掛け合わせた積を返す関数</strong>です。</p>



<p>名前は「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>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>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>たとえば「範囲内の値を全部掛ける」なら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>引数は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>それぞれ詳しく見ていきましょう。</p>



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



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



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



<p>積を求めたい列を指定します。指定方法は2つあります。</p>



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



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



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



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



<p>条件範囲の作り方は次のセクションで詳しく説明しますね。</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>次のような利率データを使って説明します。年ごとの利率（成長率）を表にしたものです。</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>DPRODUCT関数の条件は、<strong>別のセル範囲</strong>に書きます。ここがPRODUCT関数との大きな違いです。</p>



<p>条件範囲は次のルールで作ります。</p>



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



<p>たとえば「営業部」の成長率をすべて掛け合わせたい場合、シートの空いているエリア（たとえば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>数式はこうなります。</p>



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



<p>結果は <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>条件値には比較演算子も使えます。</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>たとえば「年が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>結果は <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>「営業部」かつ「2023年以降」のように、複数の条件をすべて満たすレコードから積を求めたい場合です。</p>



<p>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>結果は <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>「営業部」または「総務部」のように、どちらかの条件に合うレコードから積を求めたい場合です。</p>



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



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



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



<p>同じ条件範囲の担当セルだけを書き換えれば、担当者ごとの複利成長率をサッと比較できます。</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>田中の成長率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>商品ごとの「数量」や「割引係数」「税率」などを1行ごとに持つ表があるとき、条件に合う行の係数をまとめて掛け合わせたいケースで活躍します。</p>



<p>たとえば次のような表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>商品</td><td>種別</td><td>係数</td></tr><tr><td>2</td><td>商品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>「商品A」の係数をすべて掛け合わせた最終調整率を求める場合です。</p>



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



<p>条件範囲（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>DPRODUCT関数の大きな強みは、条件をセルに書いているため、セルの値を書き換えるだけで集計結果が即座に変わる点です。</p>



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



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



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



<p>条件付きで「掛け算を含む集計」をしたいとき、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><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>実務ではまったく違う場面で使う関数なので、「縦方向に掛け算を続けるならDPRODUCT」「横方向に掛けて縦方向に合計するならSUMPRODUCT」と覚えておくとスムーズです。</p>



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



<p>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>DPRODUCT関数は、データベース形式の表から条件に合うデータの積を求める関数です。</p>



<p>ポイントを整理します。</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>複利計算や係数の連続乗算で威力を発揮する関数です。まずは簡単な表で <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>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関数との使い分けやよくあるエラーの対処法までわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p>Excelで「特定のカテゴリだけの数値を全部掛け合わせたい」「条件を満たすデータの積を求めたい」と思ったことはありませんか？</p>



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



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



<p>この記事では、DPRODUCT関数の基本的な書き方から応用例まで解説します。よくあるエラーの対処法や、似た関数との使い分けもあわせて紹介しますね。</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">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></ol></li><li><a href="#toc12" tabindex="0">DPRODUCT関数の実践活用例</a><ol><li><a href="#toc13" tabindex="0">連続割引率を適用した最終価格の計算</a></li><li><a href="#toc14" tabindex="0">複数係数の合成（補正係数の計算）</a></li><li><a href="#toc15" tabindex="0">条件付きの確率計算</a></li></ol></li><li><a href="#toc16" tabindex="0">DPRODUCT関数でよくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc18" tabindex="0">結果が想定と違う</a></li><li><a href="#toc19" tabindex="0">結果が0になる</a></li><li><a href="#toc20" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc21" tabindex="0">DPRODUCT関数と似た関数の違い・使い分け</a><ol><li><a href="#toc22" tabindex="0">DPRODUCT関数とPRODUCT関数の違い</a></li><li><a href="#toc23" tabindex="0">DPRODUCT関数とほかのデータベース関数の比較</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p>Excelにはデータベース関数と呼ばれるグループがあります。DPRODUCT関数はそのひとつで、<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>



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



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



<p>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>引数は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><strong>データベース</strong> には、表全体を見出し行ごと指定します。見出し行がないと正しく動作しないので注意してください。</p>



<p><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>見出し名で指定するほうが数式の意味がわかりやすいので、基本的にはこちらをおすすめしますよ。</p>



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



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



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



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



<p>以下のような製品リストが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>この表で「電子部品の係数をすべて掛け合わせた結果」を求めてみましょう。</p>



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



<p>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>F1にはデータベースの見出しと同じ文字列を入力します。F2には抽出条件の値を入力します。</p>



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



<p>電子部品の係数の積を求める数式は次のとおりです。</p>



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



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



<p>電子部品の係数は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>条件を「機械部品」に変えると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>複数の条件をすべて満たすレコードの積を求めるには、条件を <strong>同じ行</strong> に並べます。</p>



<p>たとえば「電子部品」かつ「係数が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>電子部品かつ係数が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>いずれかの条件を満たすレコードの積を求めるには、条件を <strong>別の行</strong> に書きます。</p>



<p>たとえば「電子部品」または「機械部品」の売上の積を求めるには、条件範囲を次のように設定します。</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>全レコードが対象になるので、500 x 300 x 400 x 600 x 350 x 450 = <strong>5,670,000,000,000,000</strong> が結果です。</p>



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



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



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



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



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



<p>セール商品で「会員割引→クーポン割引→ポイント還元」のように複数の割引率を順番に掛けていく場面があります。割引率を一覧化しておけば、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>「適用フラグが○」のレコードだけを掛け合わせれば、最終的な残存率が出ます。商品の元値にこの結果を掛ければ最終価格が出せますよ。</p>



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



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



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



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



<p>いずれの場合も、条件をセル上で管理できるので、シミュレーションがしやすいのがDPRODUCT関数のメリットです。</p>



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



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



<p>フィールド名が間違っている場合に発生します。</p>



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



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



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



<p>条件に一致するレコードが正しく抽出されていない場合に起こります。</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="toc19">結果が0になる</span></h3>



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



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



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



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



<p>数式の入力ミスで発生します。</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="toc21">DPRODUCT関数と似た関数の違い・使い分け</span></h2>



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



<p>いちばん混同しやすいのが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><strong>DPRODUCT関数が向いているケース:</strong></p>



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



<p><strong>PRODUCT関数が向いているケース:</strong></p>



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



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



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



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



<p>この記事では、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>データベース関数は条件をセル上で管理できるのが最大のメリットです。<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>
