- 締切済み
Accessで住所ごとに集計したい(2)
Access超初心者です。 アンケートの集計を取りたいのですが、住所ごとに集計をしたいです。 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振ってあります。 ▲▲のところは3桁で001は一丁目002は二丁目みたいになっています。 ○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形になっているのですが、もっとおおざっぱに△△町で何件かという形に集約したいです。 今は○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形なのですべてに数字が入っているわけではありません。 そして0が入っているわけでもなく空白のままになっているデータもあります。空白のままでも集計結果は正しく出るのでしょうか? どのようにしたらいいのかわからないので教えて頂きたいです。 質問の内容もわかり難いかと思いますがどうぞよろしくお願いいたします。 Access始めたばかりで難しいことがわかりませんので、なるべく簡単な方法で教えて頂けると助かります。 どうかお力を貸して頂きたいです。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Dxak
- ベストアンサー率34% (510/1465)
> QNo.3068577です。 こう言う状態なのね^^; 1. クエリの新規作成で、テーブルを追加して、メニューの「表示」-「集計」を選択して、「集計」を出してください 2. フィールドに 町名コード : Left([住所コードのフィールド名],4) を設定 集計のところを「グループ化」と設定 3. 集計したいフィールドを追加して、集計のところを合計を追加 (ここは、アンケートの回答の方法に依存しますが・・・、2択(0/1)なら合計、3択などになった場合、関数で反応するように、 アンケート1の場合 : IIf([アンケートのフィールド名]=1,1,0) 等の形で、反応するようにしてから、集計のところを合計とします) で、別の話で・・・クエリ等GUI(グラフィカルインターフェイス)の場合、絵じゃ無いと解説が難しいので・・・単純にSQL文で回答してくることがあります SQL文は、「表示」-「SQLビュー」で見ることが可能ですが、最初は意味不明でしょから、テキストの暗号文だと思って、コピー&ペーストで、軽く流してください^^;
- Dxak
- ベストアンサー率34% (510/1465)
えっと、全部で住所コードが7桁で下記の様になっているのであれば・・・ > 住所コード | A | Aの合計 > 1000000 | | > 1000001 | 1 | 1 > 1000002 | 1 | 1 > 1001000 | 1 | 1 > 1001001 | 2 | 2 > 1001002 | 0 | > Left([住所コードのフィールド名],n) の部分は Left([住所コードのフィールド名],4) で、頭の4桁でグループ化します で、Aは合計?又はカウントで行い > 住所コード | A | Aの合計 > 1000000 | | 2 > 1001000 | 1 | 3 は、こう言う形ではなく 住所コード | Aの合計 1000 | 2 1001 | 3 と、いう形になります > 住所コード | A | Aの合計 > 1000000 | | 2 > 1000001 | 1 | > 1000002 | 1 | > 1001000 | 1 | 3 > 1001001 | 2 | > 1001002 | 0 | と、いう形を作るとすれば・・・Accの場合、レポートで実現してきます レポートのレコードソースを 町名コード| 住所コード | A 1000 | 1000001 | 1 1000 | 1000002 | 1 1001 | 1001001 | 2 1001 | 1001002 | 0 と、言う形にしてレポートを作成すれば、各町名ごとに集計を出力する事が可能です すべてクエリで行いたい場合・・・ユニオンクエリで接続してと言うことになりますが、レポートで実現したほうが早いしレイアウトも楽なので、そちらの方はお勧めできませんが^^;
- Dxak
- ベストアンサー率34% (510/1465)
> 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振って > あります。 数字?なら、文字型なんでしょうか? フィールドの演算で Left([住所コードのフィールド名],n) で、左からn個の文字を切り取って町名の部分まででクエリにてグループ化集計すれば完了ですが? 数値で、長整数型等の場合 Left(Format([住所コードのフィールド名],"0"),n) と、文字型に一度変換しなおす必要が出てきますが・・・ で、(2)って事は・・・グループ化集計は既に行ったことはあるってことでいい?
補足
さっそく回答ありがとうございます。 >数字?なら、文字型なんでしょうか? はい。テーブルで確認したところテキスト型になっておりました。 >フィールドの演算で >Left([住所コードのフィールド名],n) >で、左からn個の文字を切り取って町名の部分まででクエリにてグル>ープ化集計すれば完了ですが? フィールドに条件をいれて実行してみましたが、そのままの数値が表示されるだけで、合計の表示になりません。 どこか間違っているのでしょうか? 例> 住所コード | A | Aの合計 1000000 | | 1000001 | 1 | 1 1000002 | 1 | 1 1001000 | 1 | 1 1001001 | 2 | 2 1001002 | 0 | と、なってしまいます。 理想としては下記のような表示にしたいです。 データの入っていないところは空欄でも0でもどちらでも集計した値に影響がなければ構いません。 住所コード | A | Aの合計 1000000 | | 2 1000001 | 1 | 1000002 | 1 | 1001000 | 1 | 3 1001001 | 2 | 1001002 | 0 | 最終的に合計の入ったデータだけを集める形にしたいです。 住所コード | A | Aの合計 1000000 | | 2 1001000 | 1 | 3 >で、(2)って事は・・・グループ化集計は既に行ったことはあるってことでいい? グループ集計はなんとかできます。 (2)というのは、まえに逆パターンを質問したことがあります。 大雑把に集計されているものを、細かくするタイプです。 ○区ごとに集計されているデータを○丁目ごとに直すやりかたです。 QNo.3068577です。 こちらもまだ解決できておりませんので、もしよろしければ回答をのせて頂けると助かります。 あつかましいお願いばかりですみません。 よろしくおねがいたします。