ExcelでAND条件、OR条件を指定して合計するDSUM関数

「30代女性の月間来店数」を求めるDSUM関数の引数で指定するそれぞれの範囲

SUMIFS関数で指定できる複数条件は「AND」。検索条件のいずれかを満たした値を「OR」で指定して合計するには、データベース関数の「DSUM」を使います。

DSUMの構成

DSUM(ディーサム)は表から条件に一致するデータを取り出して合計します。DATABASEの頭文字「D」を冠したデータベース関数の一つです。

データベース関数は「関数ライブラリ」に載っていないので、引数のダイアログを開く時は「関数の挿入」ボタンをクリックします。
関数の挿入ボタン
関数の挿入」が開いたら「関数の分類」ボックスの▼を押して下へスクロールし、「データベース」をクリックします。
関数の挿入ダイアログで関数の分類をデータベースにする
関数名」の一覧が「データベース」配下のものに切り替わるので、スクロールして「DSUM」を選択し、「OK」。
関数名の一覧からDSUMを選択
DSUM関数の引数ダイアログが開きます。
DSUM関数の引数ダイアログボックス
引数は「データベース」「フィールド」「条件」の3つ。

データベース」はデータベース仕様で作られた表のこと。できればテーブル化しておくのが望ましいと思います。

テーブル機能の使い方・完全ナビ

この引数は列見出しも含めて表を指定します。
フィールド」は表の列見出しのこと。集計するデータ範囲ではなく、集計する列の見出しのセルだけを指定します。
条件」は値の検索条件です。これは別に「条件表」を作って指定します。

下の例は「30代女性の月間来店数」を求めるDSUM関数の引数で指定するそれぞれの範囲です。
「30代女性の月間来店数」を求めるDSUM関数の引数で指定するそれぞれの範囲
関数の引数ダイアログでの指定は以下のようになります。
DSUM関数の引数ダイアログでの指定
※「データベース」も「条件」も必ず列見出しまで含めて指定しましょう。これをうっかりしてエラーになるケースが多いようです。
数式は「=DSUM(A1:E11,E1,G1:I2)」です。

「条件表」の作り方と条件の指定方法

条件表」とは検索条件を入力したセル範囲です。

「列見出し」と「条件」を表形式で並べる
条件表には条件を検索する元表の列(フィールド)と対応する「列見出し」を置きます。「性別」フィールドの値を条件にするなら同じ「性別」という列見出しを作り、「年齢」フィールドの値を条件にするなら同じ「年齢」という列見出しを作り、その下のセルに条件を入力します。同じ列見出しを複数並べることもできます。
条件表の構成例
「元表」と「条件表」の列見出しの文字は完全に一致している必要があります。

DSUM関数ではAND条件とOR条件のどちらも指定できますが、条件表の並べ方にルールがあります。

AND条件

指定した全ての条件に一致する値を取り出す「AND条件」は同じ行に並べます。
「30代女性」というAND条件を指定する場合は、「性別→女」「年齢→>=30」「年齢→<40」と3条件を横並びにします。
DSUMのAND条件の例

OR条件

指定した条件のどちらかが一致する値を取り出す「OR条件」は行をずらして並べます。
元表とOR条件の条件表

異なるフィールドでOR条件を指定する条件表
「5回以上のリピーターか、またはスタイリストを指名した顧客」というOR条件を指定します。「来店回数」という列見出しの下に「5回以上」と条件を入力、「指名料」という列見出しの下に「\500」という条件を行を1段ずらして入力します。
異なるフィールドでOR条件を指定した条件表の例

同一のフィールドでOR条件を指定する条件表
「カット、またはカラー」というOR条件の指定です。
「施術」という見出しの列に、「カット」「カラー」という条件を縦に並べます。
同一のフィールドでOR条件を指定する条件表の例

ANDとORの複合条件

AND条件とOR条件を組み合わせる例です。
(AND)5回以上来店し、担当者「佐藤」を指名した顧客(OR)または、「(AND)5回以上来店し、担当者「鈴木」を指名した顧客

(AND)佐藤が担当した来店5回以上の顧客(OR)または、「(AND)担当者「佐藤」を指名した顧客
AND条件とOR条件を組み合わせた条件表の例2

まとめ
  • DSUM関数はデータベースから条件に一致するデータを取り出して合計する
  • 関数ライブラリにはないので、「関数の挿入」から操作する
  • 引数「データベース」と「条件(条件表)」は列見出しを含めて指定する
  • 引数「フィールド」は列見出しそのものを指定。データは含めない
  • 引数「条件」には検索条件を入力したセル範囲の「条件表」を作って指定する
  • 条件表のAND条件は同じ行に並べる
  • 条件表のOR条件は異なる行に並べる
  • 条件表に同じ列見出しを複数並べて条件指定できる
タイトルとURLをコピーしました