今回はアンケートの結果を集計する場合で考えてみます。集計する条件を絞れば絞るほど、AverageIfs関数などでは書式が長くなるし、入力内容も多くなっていきます。そこでデータベース関数を使うと、ひとつの関数の使い回しである程度完結し、比較的容易に集計が可能となります。ただし表の作り方はある程度固定されます。
DAverage関数の使い方
指定列の条件を満たす値の平均を求める
DAverage(データベース,フィールド(指定列),条件)
DAverage(データベース,フィールド(指定列),条件)

こんなようなアンケートの集計結果があるとします。4が最高得点、1が最低得点です。

解答の平均値を条件ごとに集計してみたいと思います。
AverageIfs関数でも全然できます。が、今回は楽をします。
AverageIfs関数でも全然できます。が、今回は楽をします。

まずは=DAverage(と入力し、

データベース、フィールド、条件を打ちこんでいきます(このみっつはデータベース関数全てで共通の引数となります)。データベースとは参照する表全体を指します。データベースには必ず見出しがある必要があります。この場合A1~G15となりますが、使い回すので$付けて絶対参照にしておきます。

続いてフィールドですがデータベース関数で言うフィールド=列です。「列名」を指定すればいいので、DAverageを入力している上のセル、すなわちB17を入力します。フィールドに使う文字列は、データベースのいずれかの列名と一致している必要があります。

最後に条件ですが、「列名」と「その中で探す値」をまとめて指定します。この場合A17:A18となります。横に敷衍するので、Aには$を付けておきます。

これで=DAverage($A$1:$G$15,B17,$A17:$A18)という式の完成です。横に伸ばすと、若い年代は全体的に高い点数を付けていることがわかります。

書式をいじるなり関数噛ませるなりして、小数点一位までに整形します。

ついでにホームタブ→条件付き書式→セルの強調表示ルール→指定の値より大きいをクリックし、

3.5より大きい値の場合は色を付けるようにします。

さらに2.0より小さい値は青くするようにして、式を全体にコピペすると、問いに対する年代別の傾向がかなりはっきりと見てとれるようになりました。

年齢+性別で、もう少し細かく絞ってみましょう。

複数条件の場合、条件で選択する列を複数にすればOKです。

若い世代の問い4に対する解答差、問い1~3への世代別の解答差など、なかなか興味深いデータができあがりました。

なお、データが存在しない場合このようにエラーになります。気になるようであればIferror関数を使って非表示にすることも可能です。

やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント