ADVERTISEMENT

【Googleスプレッドシート】DSUM関数でデータベース集計!条件範囲指定で集計の自由度向上

【Googleスプレッドシート】DSUM関数でデータベース集計!条件範囲指定で集計の自由度向上
🛡️ 超解決

Googleスプレッドシートでデータベースの集計を行う際、DSUM関数を使うと条件を柔軟に指定して合計を求められます。例えば、売上データから特定の期間や商品カテゴリごとの合計を簡単に集計できます。この記事では、DSUM関数の基本的な使い方から条件範囲の指定方法までを詳しく解説します。DSUM関数をマスターすれば、複雑な条件での集計も効率的に行えるようになります。

【要点】DSUM関数でデータベース集計を効率化するポイント

  • =DSUM(データベース, フィールド, 条件範囲) の構文: 第1引数にデータベース範囲、第2引数に集計する列番号または列名、第3引数に条件を指定します。
  • 条件範囲の柔軟な指定: 複数の条件をORやANDで組み合わせることができ、日付や比較演算子も使えます。
  • SUMIFSやQUERYとの使い分け: DSUMはデータベース全体のフィールド名を認識し、構造化されたデータに向いています。

ADVERTISEMENT

DSUM関数の概要とメリット

DSUM関数は、データベース(リスト)に対して条件に合致するレコードの数値合計を計算する関数です。スプレッドシートのデータベース関数の一つで、SUMIF関数と似ていますが、条件範囲を独立して指定できる点が異なります。これにより、複雑な条件や動的な条件変更が容易になります。例えば、売上データから「2024年1月のA商品の売上合計」を求める場合、条件範囲に日付と商品名を指定してDSUMで集計できます。また、条件範囲を別シートに置くことも可能で、集計の自由度が格段に向上します。さらに、DSUMはデータベースのフィールド名を認識するため、列番号ではなく列名で指定できるのも便利な点です。

DSUM関数の基本的な使い方

手順1:データベースを準備する

  1. データを表形式で用意します
    1行目にフィールド名(見出し)を入力し、その下にデータを並べます。例えば、日付、商品名、売上などの列を作成します。見出し行は必ず必要です。
  2. 条件範囲を設定します
    条件範囲は別の場所に作成します。1行目にフィールド名、2行目以降に条件を入力します。条件が空の場合はそのフィールドは無視されます。条件範囲はデータベースと同じシートでも別シートでも構いません。

手順2:DSUM関数を入力する

  1. 結果を表示するセルを選択し、数式を入力します
    例えば、=DSUM(A1:D100, "売上", F1:G2) のように入力します。第1引数はデータベース範囲(見出しを含む)、第2引数は集計するフィールド名(文字列)または列番号、第3引数は条件範囲です。列番号を使う場合は、データベース範囲の左端からの相対位置を指定します。例えば、データベースがA列から始まる場合、D列は4になります。
  2. Enterキーで確定します
    条件に合致する売上の合計が表示されます。条件範囲を変更すると自動的に再計算されます。

条件範囲の応用:複数条件の指定

条件範囲は複数行を使用することでOR条件を表現できます。例えば、商品がAまたはBの売上合計を求める場合、条件範囲の2行目と3行目にそれぞれ商品名を記述します。AND条件の場合は同じ行の異なる列に条件を入力します。日付の範囲を指定する場合は、条件として「>=2024/1/1」と「<=2024/1/31」のように比較演算子を使います。また、ワイルドカードを使うことも可能で、部分一致の条件を指定するときには「*」や「?」を使用します。例えば、商品名が「A」で始まるものを集計したい場合は、「A*」と入力します。

具体例として、以下のデータと条件を考えます。データベースはA1:D4の範囲とします。

  • A列: 日付 (2024/1/1, 2024/1/2, 2024/1/3)
  • B列: 商品 (A, B, A)
  • C列: 売上 (100, 200, 150)

条件範囲をF1:G3に設定します。F1に「日付」、G1に「商品」と入力し、F2に「>=2024/1/1」、F3に「<=2024/1/3」、G2に「A」と入力します。この条件は「日付が1/1から1/3の範囲で商品がA」というAND条件になります。DSUM関数を=DSUM(A1:D4, “売上”, F1:G3)と入力すると、結果は250(100+150)となります。

DSUM関数使用時の注意点とよくあるエラー

データベース範囲に見出し行が含まれていない

DSUM関数は最初の行をフィールド名として認識するため、必ず見出し行を含める必要があります。見出しがないとエラーになります。見出し行は空白であってはなりません。

フィールド名のスペルミス

第2引数に文字列でフィールド名を指定する場合、正確な名前でなければなりません。スペルが間違っていると#VALUE!エラーが発生します。列番号を使う場合は、誤った番号を指定すると別の列の値が集計されるため注意が必要です。

条件範囲のフィールド名とデータベースのフィールド名が一致しない

条件範囲の1行目のフィールド名は、データベースのフィールド名と完全に一致する必要があります。大文字小文字も区別されるため、同じ文字列であることを確認しましょう。また、余分なスペースが含まれていないかも注意してください。

条件範囲に空白セルがある場合

条件範囲のセルが空の場合は、そのフィールドに対してすべてのデータが対象となります。意図しない集計結果にならないよう、条件範囲はきちんと設定しましょう。特にOR条件で複数行を使う場合、空白行が混ざると正しく条件が評価されないことがあります。

データベースに空白セルがある場合

データベース内に空白セルがあると、そのレコードは条件判定の対象外となることがあります。特に数値列に空白があると、集計から除外される場合があります。必要に応じて、事前にデータを埋めておくか、IFERROR関数などで対処しましょう。

ADVERTISEMENT

DSUM関数と他の集計関数の比較

関数 特徴 適した用途
DSUM データベース関数で条件範囲を独立指定。複数条件のAND/ORが容易 条件が動的に変わる場合や複雑な条件の集計
SUMIF 単一条件の合計。条件は範囲とセルで指定 簡単な条件で素早く集計したいとき
SUMIFS 複数条件の合計。条件範囲と条件を対で指定。AND条件のみ 複数の必須条件を満たすデータの集計
QUERY SQLライクな構文で柔軟な集計。GROUP BYやORDER BYも可能 高度なデータ操作や整形が必要な場合

DSUMはSUMIFSと似ていますが、OR条件を簡単に扱える点が強みです。また、条件範囲を変更するだけで集計結果が変わるため、テンプレート的な使い方に向いています。一方、QUERYはより複雑な集計や並び替えが可能ですが、構文がやや難しい点があります。用途に応じて適切な関数を選びましょう。

まとめ

DSUM関数は、データベースから条件に合うレコードの合計を柔軟に集計できる強力な関数です。条件範囲を独立して持つため、複数の条件を簡単に組み合わせられます。基本的な構文を覚えれば、売上集計や在庫管理など様々なシーンで活用できます。次は条件範囲にワイルドカードを使ったり、他のデータベース関数(DCOUNT, DMAXなど)と組み合わせてみると、さらに便利に使えます。この記事を参考に、ぜひDSUM関数を試してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。