Windows 7 & Office 2010 Access 2010

0を除く平均値を求めるには(Sum関数とDCount関数)

投稿日:2017年1月7日 更新日:

Accessでアンケート集計を作成することになりました。

各質問に[0から5]の5段階の評価をつけもらうことにしました。

ただし、[0]は、分からないという評価内容です。

ですので、平均値は、[0]と回答した人は省いた数で除算することにしました。

フォームのコンボボックス

参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

アンケート集計のテーブル

テーブル[T_顧客]のデザインビューです。

[デザイン]フィールドと[価格]フィールドのデータ型は、[数値型]にしています。

テーブル[T_顧客]のデザインビュー

[デザイン]と[価格]フィールドは、ルックアップウィザードでコンボボックスにしています。

[デザイン]のフィールドプロパティ-ルックアップ

これで、[デザイン]と[価格]はコンボボックスから数値を選択できるようになります。

コンボボックスのリスト

参考テーブルのルックアップウィザードについては、以下の記事で解説しています。

ルックアップウィザードを使用してドロップダウンリストを設定(値を直接入力)

テーブルのデータ型には、[ルックアップウィザード]というのがあります。 ルックアップウィザードを選択して、ウィザードに従って設定していくと、 ...

続きを見る

フォームの作成

テーブル[T_顧客]を基にフォームを作成します。

テーブル[T_顧客]を選択したまま、[作成]タブの[フォーム]グループにある[フォーム]をクリックします。

これで単票フォームが作成できます。

[作成]タブの[フォーム]グループにある[フォーム]

作成したフォームをデザインビューで表示します。

[デザイン]タブの[コントロール]グループから[テキストボックス]をクリックして、フォームの詳細領域内に非連結のテキストボックスを挿入します。

[テキストボックスウィザード]が表示されたら、[キャンセル]ボタンをクリックして閉じます。

[デザイン]タブの[コントロール]グループにある[テキストボックス]

以下のように2個の非連結のテキストボックスを設置します。

2個の非連結のテキストボックス

非連結のテキストボックスの名前は、それぞれ[集計1]、[集計2]としています。

非連結のテキストボックスのプロパティ[名前]

参考プロパティは、[F4]キーで表示/非表示を切り替えられます。

キーボード[F4]

テキストボックスのコントロールソースに入力

非連結のテキストボックスのプロパティを表示します。

[データ]タブの[コントロールソース]に以下のように入力することで計算できます。

[デザイン]は、コンボボックスの名前です。

データ型が[テキスト型]の場合は、エラーになりますので気をつけてください。

=Sum("デザイン")/Dcount("デザイン","T_顧客","デザイン>0")

Dcount関数とSum関数については、以下の記事を参考にしてください。

DCount 関数 - Access(Microsoft)

Sum 関数 - Access(Microsoft)

テキストボックスのコントロールソース

[書式]は、[標準]、[小数点以下表示桁数]は[1]にしています。

テキストボックスのプロパティ[書式]と[小数点以下表示桁数]

フォームビューに切り替えると、0を除いた平均値が表示されます。

評価を入力してフォームを保存した時点で平均値が更新されます。

全体平均値が表示されたフォームビュー

Excelなら、AVERAGEIF("範囲","<>0")で求められるのですが、Accessの場合は、どうするのか考えてしまいました。

もしかしたら、もっと簡単な計算式があるのかもしれません。

関連以下はDCount関数に関する記事です。

レコード検索時に該当するレコードがない場合はメッセージを表示する

フォームに検索ボックス(テキストボックス)を設置して、管理番号を入力したら該当のレコードを抽出する仕組みを作ります。 その時、検索ボックスに ...

続きを見る

重複データが入力されたらオリジナルのメッセージを表示する

Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを ...

続きを見る

テーブル/クエリにレコードが1件もない時にメッセージを表示する

Accessのテーブル/クエリでレコードが1件もない時、そのテーブルを基にして作成したフォームを開こうとする場合は、[データがありません]と ...

続きを見る

重複しないデータの個数とレコードの抽出件数をテキストボックスに自動表示

Accessのフォームに重複しないデータの個数を表示する方法を紹介します。 下のようにフォームヘッダーのテキストボックスに部署数の重複しない ...

続きを見る

オートナンバー型を使わずに[数値型]を使って自動的に連番を入力する

Accessのテーブルでコードなどに、オートナンバー型を使っているとなにかと不便を感じることもあります。 番号に欠番が生じた場合、再度、番号 ...

続きを見る

フィールドの同じ値の数をカウントするにはクエリでグループ化

クエリのグループ化は、グループごとに集計できる便利な機能です。 たとえば、1つのフィールド内の同じデータをグループ化して、合計やカウント、平 ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 7 & Office 2010 Access 2010

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.