• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSのテーブル【住所録】で名字毎に何人いるかカウントしたい)

MS ACCESSの【住所録】テーブルで名字別人数をカウントする方法は?

このQ&Aのポイント
  • MS ACCESS2002のデータベースで【住所録】テーブルがあり、名字別に人数をカウントする方法について教えてください。
  • 【住所録】テーブルの『氏名』フィールドには名字と名前がアンダーバーで区切られており、この『氏名』の名字をグループ化して人数をカウントするクエリを作成したいです。
  • 名字別の人数をカウントするクエリ以外にも、別のアプローチがあれば教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

以下でどうでしょうか。 クエリのSQLビューに記述してみてください。 SELECT Left(住所録.氏名,InStr(住所録.氏名 & '_','_')-1) AS 氏名 , Count(*) AS 人数 FROM 住所録 GROUP BY Left(住所録.氏名,InStr(住所録.氏名 & '_','_')-1) ORDER BY Count(*) DESC , Left(住所録.氏名,InStr(住所録.氏名 & '_', '_')-1); > 『氏名』フィールドには鈴木_太郎、田中_幸子、佐藤_一郎、等アンダーバーで名字と名前を区切ったフルネームが入っています ということですが、_ が入っていないことを考え 住所録.氏名 & '_' と加工(必ず入っているのなら必要ありません)した後、_ の位置の前まで InStr(住所録.氏名 & '_','_')-1 を抜き出します。 Left(住所録.氏名,InStr(住所録.氏名 & '_','_')-1) これで、グループ化し、表示し、カウントを取ります。 並べ替えは、カウント降順、氏名部分の昇順 を指定しています。

kaitobb
質問者

お礼

ありがとうございました!! 想定通りのクエリが完成しました。 ありがとうございます。 もう少し精進します。

関連するQ&A

専門家に質問してみよう