直線上に配置

集計

◎加える


Q54 複数の条件を指定して合計する。
条件をいくつか設定してその合計を求めたいのですが、SUMIF関数では1つしか条件の指定ができません。複数を指定する場合どのようにしたらよいのでしょうか?

SUMIF関数では1つしか条件の指定が出来ませんが、複数の条件を指定しその合計を求める場合はDSUM 関数を用います。

DSUM 関数はデータベース関数と呼ばれる関数の1つで、その使い方の書式は
データベース関数名(データベース, フィールド, クライテリア)
という形式をとります。これは今までの関数と少し使い勝手が違うので、戸惑うかもしれませんが、集計・分析にはこのデータベース関数は必需品ですので、何とか慣れるようにして下さい。

各名称について下図を参考にして説明します。

データベースとは、赤枠で囲まれたいろいろなデータが入っている部分です。リストとも呼ばれます。ここで、注意する事は、データベースの最初の項目はラベルとして扱われる点です。

フィールドとは、関数の中で指定する列の事を言います。他の関数ではこのフィールドに相当する部分をセルの範囲で指定しましたが、データベース関数では左から数えて何番目という番号で指定します。
図中青枠で囲まれたフィールドを指定する場合4と入力します。
クライテリアとは、条件を設定するエリアを指します。
フィールドと同じように分かりにくい概念ですが、検索条件や抽出条件などを記入したセルの範囲を指します。
例えば、横に並べたらAND、 縦に並べるとOR というような決まりがあります。

実際の例で説明します。以下のアンケートの中から、幾つかの条件を設定して該当する合計人数を出してみます。

最初に肥満で喫煙をし、かつ飲酒の習慣のある人の合計人数を求めます。
データベースの範囲はL2からR8(L2:R8)までです。

データベースに邪魔にならないところに、抽出条件を決めるクライテリアを作ります。
肥満で喫煙をし、かつ飲酒の習慣のある人が条件ですから

となります。

フィールドは「肥満」「喫煙」「飲酒」の列のいずれか1つを指定します。
ここでは「肥満」を指定しました。「肥満」は「氏名」から左に数えて6番目ですのでフィールドに6と入れます。
クライテリアの範囲を指定します。ここでは、L11からN12(L11:N12)となります。
これでDSUM関数の指定は終わったのですが、答えに「人」と入れたいので、
"人"をつけました。

答えを求めたいセルに入れる式は次のようになります。

=DSUM(L2:R8,6,L11:N12)&"人"

次に、肥満で間食をしており、運動をしない人の人数を求めてみます。
運動していないと答えた人(0と答えた人)の数をフィールドに指定しないようにして下さい。(0の総和は0ですから)

今度は、OR条件をおこないます。
喫煙または、飲酒のいずれかを嗜み、塩味を好む肥満の人数を求めます。

抽出条件を記載するクライテリアには比較演算子を用いることも出来ます。
このとき、結果は中の数値が全て合計された値になるので、人数を数えたい場合作業列を設けそこをフィールドとして指定することがポイントです。

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

DSUM関数

書式   :DSUM(Database, フィールド, Criteria)
Database :リストまたはデータベースを構成するセル範囲を指定します。
       リストの
先頭の行には、各列のラベルがある必要があります。
フィールド:関数の中で使用する列を指定します。
       フィールド には、"年齢" や "性
別" などのような文字列、またはリストでの列の位置を 
       示す番号、たと
えば、先頭の列を示す場合は 1、2 番目の列を示す場合は 2 を指定します。
Criteria  :指定した条件が設定されているセル範囲を指定します。

直線上に配置


     目次へ   次のページへ