【エクセル】DSUM関数を使って、複数条件で合計を求める方法。OR条件やAND条件での使い方

エクセルのDSUM関数で合計を求める方法と実例を紹介

Excel(エクセル)で単一条件や複数条件に合う合計値を求めるときはSUMIF関数や、SUMIFS関数を用います。

しかし、この2つの関数はAND条件(なおかつ)でしか利用できません

複数の条件で、OR条件(もしくは)で合計を求める時は、DSUM関数(ディー・サム)を利用します。

さらに、DSUM関数は、OR条件でもAND条件でも、それらを組み合わせた複合条件でも合計値を求めることが出来る関数です。

今回の記事では、DSUM関数を使った複数条件で合計を算出する方法に関する以下の内容を紹介します。

本記事で紹介する内容

OR条件AND条件って何?

・DSUM関数の構文と引数

・DSUM関数を使った実例(OR条件単一の列で設定)

・DSUM関数を使った実例(OR条件複数の列で設定)

・DSUM関数を使った実例(AND条件単一の列で設定)

・DSUM関数を使った実例(AND条件複数の列で設定)

・DSUM関数を使った実例(OR条件AND条件を混ぜて設定)

エクセルのOR条件とAND条件とは?

まずは、OR条件とAND条件が何かを確認しておきましょう。

まずは、OR条件について説明します。

OR条件は、「ある事象が成り立つ、もしくは、他の事象が成り立つための条件」、という意味です。

ORを「または」、「もしくは」と読み替えると理解しやすくなります。

下の例でいうと、円A(条件A)と円B(条件B)の範囲すべてが「Aの条件が成り立つか、またはBの条件が成り立つ」、つまり「AまたはB」のOR条件の範囲です。

図解.OR条件とは、赤青黄色の範囲
図解.OR条件とは、赤青黄色の範囲

OR条件の具体例を一つ紹介します。

下の表から、「算数80点以上、もしくは国語80点以上」というOR条件に該当する行は、赤枠の行となります。

OR条件の具体例
OR条件の具体例

一方、AND条件は、「ある事象が成り立つと共に、他の事象も成り立つための条件」、という意味です。

ANDを「かつ」、「なおかつ」と読み替えると理解しやすくなります。

下の例でいうと、円A(条件A)と円B(条件B)が重なる範囲(青色の部分)が「Aの条件が成り立つ、かつBの条件が成り立つ」、つまり「AかつB」のAND条件の範囲です。

図解.AND条件とは、円が重なった青色の範囲
図解.AND条件とは、円が重なった青色の範囲

AND条件の具体例を一つ紹介します。

下の表から、「算数60点以上、かつ国語60点以上」というAND条件に該当する行は、赤枠の行となります。

AND条件の具体例

DSUM関数の使い方

それでは、エクセルのDSUM関数について紹介します。

読み方は、ディーサムです。

「D」はデータベースのDを表していて、「SUM」は合計を意味しています。

つまり、DSUM関数は、「データベース上から条件(ORやAND)に合う合計値を算出する関数」です。

この関数の使い方の一番の特徴は、条件表を作成する必要がある、ということです。

DSUM関数の書式と引数

エクセルのDSUM関数の書式(構文)と引数は、以下のとおりです。

=DSUM(データベース, フィールド, 検索条件)

それぞれの引数の入力内容は、以下のとおりです。

第1引数データベース」:表全体を指定します。合計値を求める列だけでなく、条件が含まれた列や見出しも選択します。(例:A2:D10)

第2引数フィールド」:合計値を算出する列の見出しセルを指定します。(例:D2)

第3引数検索条件」:OR条件やAND条件を入力した「条件表」見出し含めて選択します。「条件表」の作成方法は下の見出しで紹介します。(例:E2:F4)

図解.DSUM関数の引数と参照セルの関係

DSUM関数の引数がどのセル範囲を指定し、条件表はどのように指定しているか、下の図を参考にしてください。

図解.DSUM関数の引数と指定セルの関係
図解.DSUM関数の引数と指定セルの関係

G3セルに「=DSUM(B2:D9,D2,G7:G9)」と入力しています。

そうすると、表の中から、「担当者Bもしくは担当者C」というOR条件で販売高の合計を求めることができます。

この関数の使い方の一番のポイントは、第3引数の「条件表」をどのように作成するか、ということです。

OR条件やAND条件の条件表をどのように作成するかは、以下の見出しで解説します。

DSUM関数の条件表の作り方

それでは、DSUM関数の条件表の作り方を紹介します。

条件表は以下の2つのルールで作成する必要があります。

条件表の作り方

1.OR条件は、縦方向に条件を入力

2.AND条件は、横方向に条件を入力

【OR条件】

『担当者BまたはC』というように同じ列に複数条件を設定したり、『「算数60点より上」または「国語65点以上」』というように異なる列に条件を設定する場合は、下の図のように作成します。

異なる列に条件を設定する場合でも、一つ下の行に条件を入力するところがポイントです。

DSUM関数のOR条件の条件表の作成例
DSUM関数のOR条件の条件表の例

【AND条件】

「AND条件」は、下の図のように作成することで、『300以上(かつ)600未満』という条件を作成することが出来ます。

条件は横方向に作成するのがポイントです。

DSUM関数のAND条件の条件表の作成例
DSUM関数のAND条件の条件表の例

【AND条件とOR条件の複合条件】

AND条件とOR条件を混ぜた条件を設定することも出来ます。

以下の条件表を作成することで、「担当者AまたはB」かつ「200以上または450未満」という条件を設定できます。

DSUM関数のAND条件とOR条件の複合条件表の作成例
DSUM関数のAND条件とOR条件の複合条件表の例

DSUM関数の実例1(OR条件・同じ列)

DSUM関数を使った実例を5つ紹介していきます。

まずは、OR条件を同じ列に設定し、合計を求める方法です。

下のDSUM関数をG3セルに設定することで、『担当者Bもしくは担当者C』の合計販売高を算出することが出来ます。

=DSUM(B2:D9,D2,G7:G9)

DSUM関数の実例1(OR条件&同じ列)
DSUM関数の実例1(OR条件&同じ列)

DSUM関数の実例2(OR条件・複数の列)

実例2は、OR条件を複数の異なる列に設定し、合計値を求める方法です。

下のDSUM関数をG3セルに設定することで、『算数が60点より上で、かつ国語が65点以上』の合計値を算出することが出来ます。

=DSUM(B2:E9,E2,G7:H9)

DSUM関数の実例2(OR条件&複数の列)
DSUM関数の実例2(OR条件&複数の列)

DSUM関数の実例3(AND条件・同じ列)

実例3は、AND条件を同じ列に設定し、合計値を求める方法です。

下のDSUM関数をG3セルに設定することで、『販売高が300以上でかつ600未満』の合計販売高を算出することが出来ます。

=DSUM(B2:D9,D2,G7:H8)

DSUM関数の実例3(AND条件&同じ列)
DSUM関数の実例3(AND条件&同じ列)

合計値をAND条件で複数条件で設定する場合は、DSUM関数ではなく、SUMIFS関数でも対応出来ます。

下の関数を挿入すれば、同じようにAND条件で合計を求めることができます。

この場合は、DSUM関数用の『条件表』を作成する必要はありません。

=SUMIFS(D3:D9,D3:D9,">=300",D3:D9,"<600")

SUMIFS関数でAND条件で合計値を算出
SUMIFS関数でAND条件で合計値を算出

DSUM関数の実例4(AND条件・複数の列)

実例4は、AND条件を複数の異なる列に設定し、合計値を求める方法です。

下のDSUM関数をG3セルに設定することで、『担当者Bで、かつ300以上でかつ600未満』の合計販売高を算出することが出来ます。

=DSUM(B2:D9,D2,G7:I8)

DSUM関数の実例4(AND条件&複数の列)
DSUM関数の実例4(AND条件&複数の列)

こちらも同様に、複数のAND条件で合計値を算出する場合は、DSUM関数ではなく、SUMIFS関数でも対応出来ます。

下の関数を挿入すれば、同じようにAND条件で合計値を求めることができます。

この場合ももちろん、DSUM関数用の『条件表』をSUMIFS関数に利用する必要はありません。

=SUMIFS(D3:D9,B3:B9,"担当者B",D3:D9,"<600",D3:D9,">=300")

SUMIFS関数で複数のAND条件の合計値を算出
SUMIFS関数で複数のAND条件の合計値を算出

DSUM関数の実例5(OR条件とAND条件)

実例5は、AND条件とOR条件を組み合わせた複合条件で設定して、合計値を求める方法です。

下のDSUM関数をG3セルに設定することで、「担当者AまたはB」かつ「200以上または450未満」という条件で合計販売高を算出することが出来ます。

=DSUM(B2:D9,D2,G7:H9)

DSUM関数の実例5(AND条件とOR条件を組み合わせる)
DSUM関数の実例5(AND条件とOR条件を組み合わせる)

エクセルの合計値に関連する記事を紹介

エクセルの合計に関するリンク記事を紹介します。

DSUM関数だけでなく、合計を求めることに関連するその他の関数の使い方を合わせて参考にしてください。

SUM関数:合計を求める

Excelの入門編として、足し算を簡単に行えるSUM関数の利用方法と、四則演算(足し算・引き算・割り算・掛け算)の利用方法を分かりやすく紹介します。

SUM関数:各シートを串刺し演算で合計する

Excel(エクセル)には複数のワークシートの同じ位置のセルを簡単に集計することが出来る『串刺し集計』機能が備わっています。

3D集計』とも呼ばれているこの機能の使い方を紹介しています。

SUMIF関数:特定の条件に一致する値を合計する

特定の条件の数値を合計するときは、SUMIF関数を利用すると大変便利です。

エクセルで膨大なデータを取り扱う人にとっては、大きな武器となるエクセル定番関数の一つです。

SUMIFS関数:複数の条件に合った合計値をAND条件で求める

複数条件に合う合計を求める時は、SUMIFS関数を利用します。

この記事では、SUMIFS関数の使い方と、SUMIFS関数を使った実例AND条件で合計を求める方法、エラーの解消方法を紹介します。

SUMIFS関数:複数の条件に合った合計値をOR条件で求める

この記事で紹介したように、SUMIFS関数を普通に利用すると、OR条件(または)では利用できません

それは、SUMIFS関数はAND条件(なおかつ)で使用できる仕様になっているからです。

下のリンク記事では、SUMIFS関数をOR条件で利用する裏テクを紹介します。

SUBTOTAL関数:指定した集計方法で数値を集計

SUBTOTAL関数は、指定した集計方法でセル範囲の数値を集計する方法です。

集計とは、「合計」だけでなく「平均値」「最大値」「最小値」「セルの個数」など様々な集計をこのSUBTOTAL関数で可能となります。

SUBTOTAL関数の仕組みを図解を含めながら解説します。