0Pricing
Excel Formulas Academy · レッスン

DSUMでレコードを合計する

条件範囲に一致する行のフィールドを合計します。

「DSUMでレコードを合計する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

DSUM の働き

DSUM は、表の1列にある数値を合計します。ただし、条件範囲に一致する行だけが対象です。数式内に条件を記述するのではなく、セル範囲から条件を読み取る SUMIFS と考えると分かりやすいでしょう。

条件が多い場合や、数式を書き換えるのではなくセルを編集してユーザーがフィルターを変更できるようにしたい場合に便利です。

DSUM の構文

パターンは次のとおりです。

DSUM(database, field, criteria)

  • database - ヘッダーを含むテーブル全体です。例: A1:C13。
  • field - 合計する列です。"Amount"のように引用符で囲んだヘッダー名、または列番号で指定します。
  • criteria - 先ほど作成した条件範囲です。
=DSUM(A1:C13, "Amount", E1:E2)

最初の合計

A1:C13に、Region、Rep、Amountをヘッダーとする売上データがあるとします。E1にRegionを入力し、E2にEastを入力します。

次の数式は、Eastのすべての行にあるAmount列を合計します。Eastの行の値が1200、800、500の場合、結果は2500です。E2をWestに変更すると、数式を編集しなくても合計がすぐに再計算されます。

=DSUM(A1:C13, "Amount", E1:E2)

フィールドの選択

field引数によって、合計する列が決まります。指定方法は2つあります。

  • 名前で指定: "Amount" - わかりやすく、列の並べ替えにも影響されません。
  • 位置で指定: 3 - データベース範囲の3列目です。

通常はヘッダー名を使用するほうが安全です。列を挿入しても数式が壊れないためです。ただし、テーブルのヘッダーと同じつづりで指定してください。

=DSUM(A1:C13, 3, E1:E2)

数値条件で合計する

数値条件に基づいて合計することもできます。E1にAmountを入力し、E2に>1000を入力します。これで、DSUMは1000を超える金額だけを合計します。

これは、「大口注文の合計はいくらか」といった質問に便利です。比較条件がセルに入っているため、数式に触れずにしきい値を変更できます。

=DSUM(A1:C13, "Amount", E1:E2)

AND条件で2つの条件を指定する

Eastの1000を超える注文を合計するには、2列の条件範囲を作成します。E1:F1にヘッダーRegionとAmountを入力し、E2:F2にEastと>1000を入力します。

両方の条件が同じ行にあるため、ANDで結合されます。DSUMは、Eastであり、かつ1000を超える行についてのみAmountを合計します。

=DSUM(A1:C13, "Amount", E1:F2)

OR条件で2つの値を指定する

EastとWestの両方を合計するには、値を別々の行に積み重ねます。E1にRegionを入力し、E2にEast、E3にWestを入力します。

別々の行にある条件はORを意味するため、DSUMはEastまたはWestであるすべての行のAmountを合計します。両方の条件行を含めるため、criteria引数をE1:E3まで広げることを忘れないでください。

=DSUM(A1:C13, "Amount", E1:E3)

DSUMとSUMIFSの違い

どちらも条件付きで合計できますが、次の点が異なります。

  • SUMIFSは条件を数式内に記述します。1回限りの合計に適しています。
  • DSUMはセルから条件を読み取ります。ユーザーがフィルターを調整するダッシュボードや、SUMIFSでは扱いにくい複雑なAND/ORロジックに適しています。

ORロジックのために多数のSUMIFSを入れ子にしている場合は、複数行の条件範囲を使うDSUMのほうがすっきりすることがよくあります。

=SUMIFS(C2:C13, A2:A13, "East", C2:C13, ">1000")

データベース範囲を確認する

データベース引数には、ヘッダー行を含める必要があります。ヘッダーなしでデータ行だけ(A2:C13)を渡すと、DSUMはフィールド名を列に対応付けられず、エラーを返します。

また、範囲は実際のデータの周辺に絞ってください。下に余分な空白行を含めても合計には問題ありませんが、他のD関数では混乱の原因になることがあるため、いずれの場合も範囲を絞る習慣をつけるとよいでしょう。

=DSUM(A1:C13, "Amount", E1:E2)

該当なしの場合の処理

条件に一致する行がない場合、DSUMは単に0を返し、エラーにはなりません。通常は問題ありませんが、0が実際の合計値に見えてしまうことがあります。

DCOUNTと組み合わせて実際に一致したレコードがあるかどうかを確認するか、結果をチェックで囲んで、該当なしによる0と合計が0の場合とで表示を変えるとよいでしょう。

=IF(DCOUNT(A1:C13,"Amount",E1:E2)=0, "No records", DSUM(A1:C13,"Amount",E1:E2))

ダッシュボードの合計をリアルタイムで更新する

DSUMの本当の利点は、対話性にあります。各地域を一覧にしたドロップダウンを条件値セルE2に配置し、DSUMの参照先をE1:E2にします。

これで、1つのセルから合計を操作できます。Eastを選ぶとEastの売上が表示され、Northを選ぶとNorthに切り替わります。指標ごとにDSUMのセルを複数配置し、すべて同じドロップダウンを参照すれば、数式を一切変更せずに、平面的な表を反応性のある概要パネルに変えられます。

=DSUM(A1:C13, "Amount", E1:E2)

確認問題

=DSUM(A1:C13, "Amount", E1:E2)と入力し、E1にRegion、E2にEastを設定しました。何が返されますか。

まとめ

DSUMは、条件範囲に一致する行について、1列の合計を求めます。

  • 構文:DSUM(database, field, criteria)。
  • データベース引数にはヘッダー行を含めます。
  • fieldには、引用符で囲んだヘッダー名または列番号を指定できます。
  • 同じ行の条件はAND、別の行の条件はORです。
  • 一致する行がない場合は、エラーではなく0を返します。

次は、DCOUNTを使って一致するレコード数を数えます。

よくある質問

「DSUMでレコードを合計する」レッスンは無料ですか?

はい。「DSUMでレコードを合計する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「DSUMでレコードを合計する」で何を学びますか?

条件範囲に一致する行のフィールドを合計します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「DSUMでレコードを合計する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 条件範囲を設定する
  2. DSUMでレコードを合計する
  3. DCOUNTでレコードを数える
  4. DAVERAGEとDGETで平均と抽出を行う
← Excel Formulas Academyに戻る