14歳の自分に衝撃の事実を告げてください

ACCESSでチェックボックスが複数あるテーブルがあります。これら各々の個数を表示させたいと奮闘しております。複数のフィールドがあるので、やり方をご教授いただけますようお願いいたします。構造とやりたいことは下記に記します

Yesはチェックボックスにチェックが入っている状態です

テーブル
----------------------------------------------
グループ   分類1   分類2   分類3
----------------------------------------------
  A   |  Yes  |  No  |  Yes
  A   |  No   |  No   |  Yes
  A   |  Yes  |  Yes  |  No
  B   |  Yes  |  No  |  Yes
  B   |  No   |  No  |  Yes
  B   |  Yes  |  No  |  Yes
  ・
  ・
  ・
  ZZ

上記のようなテーブルがあります。これを
-----------------------------------------------------
グループ   グループ総数   分類1   分類2   分類3
-----------------------------------------------------
  A    |   3     |   2   |  1   |  2
  B    |   3     |   2   |  0   |  3
  ・
  ・
  ・
  ZZ

とういうようにグループの総数とチェックボックスにチェックが入った数を算出させたいんです

どうかご教授願います

A 回答 (3件)

以下でどうですか。

テーブル名は実際に合わせて変更してください。


SELECT テーブル1.グループ, Count(テーブル1.グループ) AS グループの総数, Abs(Sum([分類1])) AS 分類1のYes数, Abs(Sum([分類2])) AS 分類2のYes数, Abs(Sum([分類3])) AS 分類3のYes数
FROM テーブル1
GROUP BY テーブル1.グループ;


上記では、Sum([分類1])とするとマイナスのカウントに
なるので、Abs関数で絶対値を求める方法でプラスに
変換しています。
    • good
    • 0
この回答へのお礼

ありがとうございました!

教えていただきました方法でできました

また、行き詰ってしまった時にはお力添えをお願いいたします

お礼日時:2013/06/03 10:33

No2です。

クエリで求める方法ですので、
テーブル名を実際に合わせて変更し、
No2のSQL文をクエリのSQLビューに
貼り付けてください。

わからないことがあれば補足してください。
    • good
    • 0

アクセスのメニューバーの中のツール、OFFICE LINKSと進み、エクセルにデータを持っていき、エクセルの環境で作業します。


たとえばG2のところには=if(c2,1,0)、H2のところには=if(d2,1,0)、I2のところには=if(e2,1,0)といれ、さらにJ2のところには=if(c2,1,1)といれて、G2からJ2までをコピーしてその下に貼り付けます。またF列にはB列をコピー貼り付けします。
そしてエクセルのメニューバーのデータ、集計と進み、グループ化基準にはF列を、集計の方法は合計を指定し、集計するフィールドにはGからJまでを指定して実行すると下のようなデータが得られます。

IDnameq1q2q3nameq1q2q3count
1aTRUEFALSETRUEa1011
2aFALSEFALSETRUEa0011
3aTRUETRUEFALSEa1101
a 計2123
4bTRUEFALSETRUEb1011
5bFALSEFALSETRUEb0011
b 計1022
総計3145
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A