おすすめ記事

同じカテゴリー

複雑な複数の条件に合う合計を求める関数



Excelで複雑な複数の条件を満たすデータの合計値を求める時に便利な関数があります。複数の条件に合うものを抽出する方法では、[フィルターオプションの設定]でデータを抽出しましたが、ここでは同じデータ表と同じ条件で合計を求める関数を紹介します。検索条件は以下のとおりです。
納入月日が---「2014/12/12」より前
得意先名が---「りんご」という文字を含む会社
商品コードが---「4」で始まるコード
データ表

検索条件の設定

ここでは、検索条件を表の上へ設定します。検索条件の見出しは表の見出しと同じにします。検索条件には、アスタリスクなどのワイルドカードの使用が出来ます。横並びの場合はAND条件、縦並びの場合はOR条件です。フィルターオプションの設定時と同じですね。フィルターオプションの設定については、複数の条件に合うものを抽出する方法を参照されてください。
検索条件

DSUM関数の設定

セルF3にDSUM関数を入力します。[関数の引数]ダイアログボックスのヒントには、「データベースの指定された列を検索し、条件を満たすレコードの合計を返します。」とあります。
DSUM関数

スポンサーリンク

[関数の引数]ダイアログボックスの[データベース]には、リスト範囲を指定します。[フィールド]には、合計する列の項目名のセルを指定します。[条件]には、条件が設定されている範囲を指定します。必ず列ラベルを含んだ範囲にします。
関数の指定範囲

結果は下のようになります。
関数の結果

検索条件の追加

検索条件を追加してみます。

検索条件を[商品コード]が「4または5で始まる」という条件に変えてみます。[納入月日]と[得意先名]は同じにします。
納入月日が---「2014/12/12」より前
得意先名が---「りんご」という文字を含む会社
商品コードが---「4」または「5」で始まるコード
検索条件は、下のように入力します。
検索条件の追加

DSUM関数の条件を下のように[セルA2からC4]に変更します。
条件の範囲を変更

結果は下のようになります。
結果

SUMIFS関数も複数の条件で合計を求めることができますが、DSUM関数は より複雑な条件で合計を求めることができます。

データベース関数

データベース関数には、他に以下のようなものがあります。(関数の挿入ダイアログボックスのヒントより)
DCOUNT関数...[データベース,フィールド,条件]データベースの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数を返します。
DCOUNTA関数...[データベース,フィールド,条件]条件を満たすレコードの中の空白でないセルの個数を返します。
DAVERAGE関数...[データベース,フィールド,条件]データベースの指定された列を検索し、条件を満たすレコードの平均値を返します。

トラブルをすぐに解決したいならteratail

おすすめ記事

シェアする