- 締切済み
Accessのクエリについて
下記のようなデータがあります。 ファイル番号 順番 カード番号 名前 -------------------------------------------- 1 1 0010 山田 1 1 0009 佐藤 1 1 0008 鈴木 2 1 1010 高橋 2 1 1011 小林 2 2 1012 北沢 2 2 1013 竹田 3 1 2001 小山 3 1 2000 田中 ファイル番号と順番でグループ化し、カード番号の最小・最大、その最小・最大の名前を 取得したいです。 サブクエリを使用して出来ましたが、1つのクエリで出来ないかと思い、質問しました。 よろしくお願いします。
- nanae1020
- お礼率82% (14/17)
- その他(データベース)
- 回答数2
- ありがとう数8
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【補足】MAX()、MIN()の回数を減らすには・・・。 SELECT Max(Format([カード番号],"0000") & ":" & [名前]) AS THE_MAX, Min(Format([カード番号],"0000") & ":" & [名前]) AS THE_MIN, CutStr([THE_MAX],":",1) AS Max_番号, CutStr([THE_MAX],":",2) AS Max_名前, CutStr([THE_MIN],":",1) AS Min_番号, CutStr([THE_MIN],":",2) AS Min_名前 FROM T4 GROUP BY T4.ファイル番号, T4.順番;
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
SELECT CutStr(Max(Format([カード番号],"0000") & ":" & 名前),":",1) AS MAX_番号, CutStr(Max(Format([カード番号],"0000") & ":" & 名前),":",2) AS MAX_名前, CutStr(Min(Format([カード番号],"0000") & ":" & 名前),":",1) AS MIN_番号, CutStr(Min(Format([カード番号],"0000") & ":" & 名前),":",2) AS MIN_名前 FROM T4 GROUP BY [ファイル番号], [順番]; ここでは CutStr()を使っていますが、Format()、Left()、Mid()を利用しても同じこと。そういうことで、『関数を利用すれば』という条件付きで可能だと思います。 Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs(N <= UBound(strDatas))) End Function
関連するQ&A
- エクセルで2つのリストを統合するには?
エクセルの別々のシートにある2つのリストを統合したいのですが、過去の質問などを見てもうまくいきません。具体的には 【表1】 番号 氏名 住所 A 佐藤 東京 B 高橋 神奈川 C 渡辺 埼玉 D 田中 千葉 E 小林 山梨 【表2】 番号 氏名 年齢 B 高橋 22 D 田中 45 という2つの表で、これを 番号 氏名 住所 年齢 A 佐藤 東京 B 高橋 神奈川 22 C 渡辺 埼玉 D 田中 千葉 45 E 小林 山梨 のようにまとめたいのです。 「データの統合」を使ってみましたがうまくいきませんでした。よろしくお願いします。
- 締切済み
- オフィス系ソフト
- アクセスレポートのNextRecordについて
アクセス2000を使用しています。 レポートのNexrRecordプロパティの中身が分からないので 教えてください。 以下のテーブルを元にレポートを作成しました。 ****************************** テーブル名:Tテスト ID 名前 (←フィールド名) ------------------------------ 1 田中 2 佐藤 3 鈴木 4 小林 5 大橋 ****************************** レポートの詳細セクションで2件目の フォーマット時、NextRecordをfalse にしましたところ、以下のように出力 されました。 「出力結果」 1 田中 2 佐藤 3 鈴木 4 小林 5 大橋 つまり、テーブルの内容がそのまま出力されました。 素人考えでは、 1 田中 2 佐藤 2 佐藤 3 鈴木 4 小林 5 大橋 なるものとばかり思っておりました。 NextRecordがいつどのように働くのか詳しく教えて いただきたいと思うのですが、どうぞよろしくお願い いたします。 (レポートのセクションの実行順がよくわかりません)
- ベストアンサー
- オフィス系ソフト
- アクセスのクエリで重複しているデータについて
テーブルの一部分のフィールドを使ってクエリAを作成しています。 [クエリA] 番号 氏名 郵便番号 住所 電話番号 子供 1 田中守 111-0000 東京都・・・ 000-0000 章 2 佐藤健 122-0001 神奈川県・・・ 001-0001 花子 3 田中守 111-0000 東京都・・・ 000-0000 陽子 これを重複しているデータを省くのですが、[子供]の名前はすべて取り出したいと思っています。 どの様にすれば良いか教えて頂けないでしょうか? 氏名 郵便番号 住所 電話番号 子供 田中守 111-0000 東京都・・・ 000-0000 章,陽子 佐藤健 122-0001 神奈川県・・・ 001-0001 花子 最終的には、宛名印刷を行った時に、子供の名前も連名で表示したいと思っての事です。 現在、クエリで行っておりますが、クエリでなくても構いません。 足りない情報はすぐに補足致しますので、お手数ですが、どうぞよろしくお願い致します。 Access2003を使用しております。
- ベストアンサー
- オフィス系ソフト
- excel 重複したデータのコピー
例えばこんなデータがあるとします。 名前 値 鈴木 1 佐藤 2 佐藤 5 小林 2 田中 3 田中 1 田中 2 斉藤 0 山田 4 山田 2 というデータから 佐藤 2 佐藤 5 田中 3 田中 1 田中 2 山田 4 山田 2 という感じで名前が2つ以上あるデータだけ抽出・コピーをしたいのですが、 どういう風にすれば出来るでしょうか。
- 締切済み
- その他MS Office製品
- ACCESS クエリの抽出項目をEXCELから
Access2000のクエリの抽出項目をExcel2013の内容を抽出項目として指定するにはどうすればよいでしょうか。 Excelには、 佐藤 田中 鈴木 ......... のように縦に名前が最大18名分入っています。 この(最大)18名の名前をAccessの抽出項目とします(フィールドは10あってその6番目に抽出項目を18名分入力したいのです)。 18名を一人一人コピペしていたのですが、何とか簡素化できないものかな?と思っています。 できれば、マクロで一発で抽出項目を貼り付けたいのですが。 よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 複数条件でのVlookup
Vlookupなのですが複数条件でも使えるのでしょうか? たとえばふと津のファイルを比較し、違いの部分を抜き取る作業をするとします。 一つのファイルでは A B C 名前 電話番号 会員番号 佐藤 000-000-00 21 田中 111-111-11 22 池田 222-222-22 33 もう一方のファイル(Newファイルとします)で 佐藤 000-000-11 55 田中 111-111-11 22 池田 222-22-33 44 vlookup で名前だけ一致するものを選び、Newファイルの会員番号を返すようにすると、佐藤、田中、池田が全てえらばれてしまい、会員番号として、55,22,44が帰ってきてしまいます。 しかし、両ファイルで名前と電話が一致するものを選びNEWファイルの会員番号を返すならば、 田中だけの会員番号が帰ってくるとおもいます。 複数条件のVlookupというのはできないのでしょうか? Dget関数というのをしらべましたがいまいちよくわからずvlookupとかでできればいいなと思うのですが。 教えてください。
- ベストアンサー
- その他MS Office製品
- よろしくお願いします。
番号|名前|国語|算数 ----+----+----+---- 1 |佐藤|95 |85 2 |高橋|75 |95 3 |今井|68 |99 を 点数|番号|名前 ----+----+---- 68 |3 |今井 75 |2 |高橋 85 |1 |佐藤 95 |1 |佐藤 95 |2 |高橋 99 |3 |今井 と重複させ並べ替えて出力したいのですが・・ 初歩的な質問でごめんなさい。教えてください・・
- ベストアンサー
- PostgreSQL
- よくある名字なのに、同級生に一人もいなかったのは?
下記は、日本の多い名字ベストテンです。 (1)佐藤 (2)鈴木 (3)高橋 (4)田中 (5)渡辺 (6)伊藤 (7)山本 (8)中村 (9)小林 (10)斉藤 この中で、あなたの幼稚園から高校までの同級生に一人もいたことがなかった名字は、どれですか? 因みに私の場合は、どの名字の同級生もいましたが、男性の(1)佐藤、女性の(6)伊藤(8)中村(9)小林は、一人もいませんでした。
- ベストアンサー
- アンケート
- EXCELで重複したデータの処理について
氏名 | 点数 ----------- 山田 | ----------- 鈴木 | ----------- 小林 | ----------- 高橋 | ----------- 田中 | という表があるとします。 氏名 | 点数 ------------ 山田 | 80 ------------ 鈴木 | 100 ------------ 小林 | 70 ------------ 高橋 | 80 ------------ 田中 | 80 というように点数を入力すると 順位 | 名前 | 点数 ------------------- 1 | 鈴木 | 100 ------------------- 2 | 山田 | 80 ------------------- 2 | 高橋 | 80 ------------------- 2 | 田中 | 80 ------------------- 5 | 小林 | 70 のような表を自動的に作成できるようにしたいのですが、どうもうまくいきません。 順位と点数の並び替えは比較的簡単にできたのですが、それに対応した名前の並び替えがうまくできないのです。 VLOOKUP関数を使用して得点に対応した名前を表示させようとしたのですが、 順位 | 名前 | 点数 -------------------- 1 | 鈴木 | 100 -------------------- 2 | 山田 | 80 -------------------- 2 | 山田 | 80 -------------------- 2 | 山田 | 80 -------------------- 5 | 小林 | 70 となってしまい、80点の取得者が全て山田になってしまいました。 このような場合、どのようにすれば正常に並び替えを行うことができるのでしょうか。 言葉足らずで申し訳ありませんが、よろしくお願い致します。 OSはWindowsXP、ソフトはEXCEL2002を使用しています。
- ベストアンサー
- オフィス系ソフト