• ベストアンサー

Access 異なるフィールドの集計方法について

Access初心者です。 異なるフィールド名の集計方法を教えて下さい。 例えば、コース1、コース2、コース3というフィールド名があって コース1にはABC、コース2にはDEF、コース3にはGHIというのがあって コース1~コース3の集計を下記のようにまとめたい場合はどうしたらいいでしょうか? ABCDEFGHIと1列にまとめて表示させたいです。 よろしくお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.6

組み替えにはユニオンクエリを使います ユニオンクエリはクエリデザインビューでは作れません SQLビューで作成します テーブルは前回回答のとおりだとして select 氏名,日付,コース1 as コース from テーブル名 union all select 氏名,日付,コース2 as コース from テーブル名 union all select 氏名,日付,コース3 as コース from テーブル名 まず氏名、日付、コース1を取り出すクエリを作成し SQLビューで表示してそれを元に上のようなものを作成します ほとんど繰り返しですから一つ目をコピーして異なるところだけ書き換えるといいですよ

piko163
質問者

お礼

ちゃんと出来ました!! 的確な回答ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

氏名 日付   コース1 コース2 コース3 X  2008/6/17  A    B    C Y  2008/6/17  A    D    F のような非正規形のテーブルを 氏名 日付  コース X  2008/6/17 A X  2008/6/17 B ・ ・ Y  2008/6/17 F のような正規形のテーブルに組み替えたいということですか

piko163
質問者

補足

はい、その通りなんです。 可能でしょうか。 何度も申し訳ありませんが、よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • laputart
  • ベストアンサー率34% (288/843)
回答No.4

文字列の加工はたいていの事が出来ますので、もう一度説明をお願いします。補足説明を読みましたが、余計にわからなくなりました。 ■異なるフィールドを繋げる事は出来ます。 ■「縦1列にまとめて表示させたい」というのが理会出来ません。 (1)フォームやレポートの表示が縦一列ですか? (2)それとも各レコードに1文字づつ入れたテーブルが必要ですか? ※(1)の場合はフォームやレポートのデザインだけで作業が出来ると思います。 (2)の場合もたいていの場合クエリで加工すればいいのですが 基本的に毎日変化する ABC....を日付の情報とともに管理するので あれば、1つの元テーブルだけを持つだけでよいはずです。 縦一列の意味と役割について もう一度説明してください。

piko163
質問者

補足

何度も申し訳ありません。 縦1列にまとめて表示させたいというのは、 フォームやレポートの表示が縦一列というのではなく、 例えば新規にクエリーを作成して、 "コースまとめ"というフィールドを作って そこにコース1~コース3のデータをまとめて一列で表示させたいのです。 うまく説明できず申し訳ありません。 例えば、 日付 コースまとめ 6/17  A   (…コース1) 6/17  B   (…コース2) 6/17  C   (…コース3) という感じなんです。 意味は、1日に受けつけたコースの集約リストを作成したいからです。 こういうのを、クエリーで作成する場合の方法を教えて下さい。 ホントに何度もすみませんが、よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • laputart
  • ベストアンサー率34% (288/843)
回答No.3

まず、数字ではなくて文字列である場合について説明します。 ご質問の内容では、コース1、コース2、コース3の文字列を順に繋げる方法で説明します。 (1)そのテーブルから選択クエリーを作ります。 (2)クエリーの編集で新しいフィールドを作成します フィールド名に 合計:[コース1]&[コース2]&[コース3] とすると3つのフィールドの文字列がつながります。 数字フィールドの場合は [ ]+[ ] などの演算が出来ます。 ことなる種類のフィールドをつなげる事は出来ません。 ※上記の説明でちょっと不親切なら改めて質問をしてください。  

piko163
質問者

補足

詳しい説明ありがとうございます。 コース1~コース3は文字列なのですが、 新規クエリでも、同じクエリの別フィールドでもどちらでもいいのですが、 縦1列にまとめて表示させたいのです。 文字列の種類は同じなのですが、 異なるフィールドをつなげる事はやはり出来ないでしょうか・・・ 例えば、今日、 Xさんが、コース1=A コース2=B コース3=Cを選んだ場合 Yさんが、コース1=A コース2=D コース3=Fを選んだ場合 A  B C A(←Aは重複表示でもグループ化されていてもどちらでもいいです) D F というような感じで、日にち毎にコース1~3の文字列を 合体させて表示させる方法はないでしょうか? よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

コース1、コース2、コース3のデータは文字列ですか? 挙げた例があいまいではっきりしない。 例えば コース1 東京都 コース2 大田区 コース3 田園調布 とあって、 3つ以外のフィードに「東京都大田区田園調布」と入れたいのでしょうか。 これらは文字列結合といい、アクセスでは「&」(半角)を使って並べるだけ。「集計」ではない。 ーー 上記の例でなく、何か件数カウントや数値の集計なら、質問を訂正 し、具体例を挙げること。

piko163
質問者

補足

詳しい説明ありがとうございます。 文字列結合ではなく、 縦1列にまとめたいのです。 コース1~コース3は文字列なのですが、 下記のようにどうしても、横にコースを並べる必要があるのですが、 例えば、1日あたりの、コース1~3でAが何件か?を集計する為に コース1~3を合体させて縦1列にしたいのです。 例えば、 Xさんが、コース1=A コース2=B コース3=Cを選んだ場合 Yさんが、コース1=A コース2=D コース3=Fを選んだ場合 受付コースというフィールドを作成して A  B C A(←Aは重複表示でもグループ化されていてもどちらでもいいです) D F というような感じで、日にち毎にコース1~3の文字列を 合体させて表示させる方法はないでしょうか? つたない説明で申し訳ありません。 よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

3つのコース名を結合するだけでいいのですか? 文字の結合には&演算子を使います [コース1] & [コース2] & [コース3] こんなのは集計とはいいませんよ それに同種のものを横に並べているテーブル構造は再検討した方がいい ように思いますね

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Accessで、別のテーブルにある同じフィールドを結合する(至急)

    いつも大変お世話になっております。m(_ _)m 分かりましたら、至急お願いしたいのですが Accessで、別々のテーブル(またはクエリ)に同じ「型番」「数量」というフィールドがあって、それぞれ別々の情報が入っています。 それを、1つに結合することは可能ですか? 例) テーブルA: 型番/数量 ABC/5 DEF/3 テーブルB: GHI/2 JKL/3 この2つのテーブル(A・B)を1つのフィールドに表示したい。 型番/数量 ABC/5 DEF/3 GHI/2 JKL/3 というように。。。 Accessの基本にのっとっていないのかもしれませんが、何とかできたらと思います。できるだけ簡単な方法で・・・ どうぞよろしくお願いします。

  • 文字列フィールドの集計をしたい

    [やっていること] このサイトで私が教えていただいた内容をデータベース化して保存しています。 [やりたいこと] ベストアンサーさんの「申告されているネーム」毎の集計を出したいと思っています。お名前は「数字・漢字・ローマ字」で申告されているものですが、お名前毎に合計をだしたいと思っています。それと、他のデータベースでも役に立てそうと感じている為。 [集計対象のテーブル] テーブル名:Access操作 フィールド名:NO、発生日、Accessテーマ、Access内容、Access項目、質問内容、アドバイザー、解決策、コマンド [やったこと] クエリを作成してフィールドに「NO」と「アドバイザー」をドラッグして、クエリフィールドの3列目に「式1: DCount("アドバイザー","Access操作")」を 記載しましたが、レコードの合計数字が表示されネーム毎の集計が出来ませんでした。 アドバイスをお願いします。

  • EXCELVBA 配列値集計方法

    こんにちは、 配列の集計方法に関してお聞きしたいのですが、 配列1がありますて、 配列1(1,1)、配列1(1,2)の値をもとに (配列1(1,1)が重複しており、かつ 配列1(1,2)も重複している場合) 重複しているものがあれば 配列1(1,3)の値を合算したものを求め 配列2に格納するようにしたいのですが、 うまくロジックが組めません。 よい方法なあるでしょうか。 配列1内データ----------------- 配列1(1,1)=abc 配列1(1,2)=test1 配列1(1,3)=15 配列1(2,1)=def 配列1(2,2)=test1 配列1(2,3)=50 配列1(3,1)=abc 配列1(3,2)=test1 配列1(3,3)=111 配列1(4,1)=ghi 配列1(4,2)=test2 配列1(4,3)=80 配列1の値を集計後----------- 配列2(1,1)=abc 配列2(1,2)=test1 配列2(1,3)=116 配列2(2,1)=def 配列2(2,2)=test1 配列2(2,3)=50 配列2(3,1)=ghi 配列2(3,2)=test2 配列2(3,3)=80

  • [SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい

    [SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい 初めてお世話になります。 データベース種別はH2です。 参考:http://www.h2database.com/html/main.html 下記のようなテーブルAがあるとします。   ID  |  TAG  | ―――――+―――――|   1   |  abc   |   1   |  def   |   1   |  ghi   |   2   |  abc   |   2   |  ghi   |   3   |  abc   |   3   |  def   |   3   |  ghi   |   4   |  abc   | 上記テーブルAから下記例のような結果を得られるSQLを知りたいのです。   ID  |  TAG  | ―――――+―――――|   1   |  abc   |   2   |  abc   |   3   |  abc   |   4   |  abc   | 上記結果でなくとも、   ID  |  TAG  | ―――――+―――――|   1   |  def   |   2   |  ghi   |   3   |  def   |   4   |  abc   | であっても構いません。(TAG列のデータはどんな内容でもよいです。) 実現させたいのは、 (1)ID列が重複しない結果を表示させたい、 かつ (2)TAG列も表示させたい ということです。 これでイケるだろ!と思ってあえなく失敗したSQLは下記です; select distinct(ID), TAG from A 宜しくお願い致します。

  • エクセル関数:右側の文字列を抜き出す方法

    エクセル初心者です。 文字列の抜き出す方法で悩んでいます。 たとえば、A1~A5までに下のような 文字列が順に入っているとします。 C:\abc\TEST1.DOC C:\abc\def\TEST2.DOC C:\abc\def\ghi\jkl\TEST3.DOC C:\abc\def\ghi\TEST4.DOC C:\abc\def\TEST5.DOC これらの文字列の一番右側の'\'以降の文字列 (TEST1~5.DOC)を、B1~B5のセルに 出したいと思っているんですが できるのでしょうか? RIGHT関数や、LEN関数、FIND関数を使って できそうな気がするのですが どうも良い方法が思いつきません。 よろしくお願いします。

  • エクセル セルの並べ換え方法について教えて下さい

    縦 A列とB列に入力してある内容を縦一列にまとめて上下二段にする方法、 どなたか教えて下さい! A列   B列 abc def ghi jkl    mno pqr これを A列 abc def ghi jkl mno pqr という様にしたいのです。   

  • 解けない数独があります。誰か解いて頂けませんか?最近、数独に凝ってます

    解けない数独があります。誰か解いて頂けませんか?最近、数独に凝ってますが、なかなか上達しません。誰か、下記の数独を仮置きではなく、理詰めで解いて頂けないでしょうか? まだまだ初心者レベルなので、出来るだけ詳しく解き方を解説してもらえませんか?宜しくお願い致します。 問題その1 ABC DEF GHI (1)・・・ ・4・ ・31 (2)261 873 954 (3)・・3 ・・・ 2・・ (4)・・・ 9・6 4・・ (5)・・・ 4・5 ・・・ (6)・・9 7・8 ・・・ (7)・・5 ・・・ 7・・ (8)・3・ ・・4 ・6・ (9)18・ ・57 ・・・ 問題その2 ABC DEF GHI (1)・45 63・ ・・・ (2)・・・ ・・・ ・1・ (3)・72 48・ ・・9 (4)・・・ ・・・ ・7・ (5)4・・ ・・・ ・・3 (6)・3・ ・・・ ・・・ (7)2・・ ・47 95・ (8)・1・ ・・・ ・・・ (9)・・・ ・65 82・ 問題その3 ABC DEF GHI (1)・・・ ・・・ ・7・ (2)・・・ 2・3 45・ (3)・・6 5・7 ・1・ (4)397 428 ・6・ (5)82・ ・3・ 947 (6)6・・ 97・ 328 (7)・1・ 3・4 7・・ (8)・68 7・2 ・3・ (9)・・・ ・・・ ・・・

  • 文字列の検索 集計

    エクセルデータにて     A      B      C 1  ABC    ○○○    XYZ 2  ABC    ○○○    PQR 3  DEF    ×××    XYZ 4  DEF    ×××    PQR 5  DEF    ×××    HIJ *アルファベット、記号は文字列 において、下記形式にしたい場合はどの様な手法がありますでしょうか?     A      B      C 1  ABC    ○○○    XYZ PQR    2  DEF    ×××    XYZ PQR HIJ その際、Cに表示させる方法は、1)連続形式、2)カンマ区切り、3)別列の追加 が考えられると思いますが、どの形式でも構いません。(理想は2ですが) 初心者質問ですが、宜しくお願いします。

  • Access_フィールドの文字列に日本語があるかを識別

    下記のようなテーブルがあります。 ↓ 例:テーブルA 〔No〕 〔型番〕 01   ABC候 02   おそらく DEF 03   GHI迄 04   JKL以上 05   MNO 〔型番〕フィールドには純粋に英字のみの型番を入力していきたいの ですが諸事情により不規則な日本語やスペース等が含まれてくることが あります。 本来必要とするテーブル ↓ 〔No〕 〔型番〕 01   ABC 02   DEF 03   GHI 04   JKL 05   MNO 〔型番〕に日本語が含まれているフィールドを抽出できるよう クエリで処理できないか思案していますが良いアイデアが浮かびません。 皆様のお知恵をお貸し頂きたくよろしくお願いいたします。

  • エクセルのカウント方法

    エクセルのカウント方法で悩んでいます。どなたかお願いします。   A列  B列  1  abc  ○ 2      ○ 3  abc  ○ 4  def  ○ 5  ghi 6  jkl  ○ A列、B列ともに文字列が入力されている個数を求めたい。 ただし、A列で重複した場合はカウントしない。 上記の場合は 3 となる。

妻の姉の奇行に関する意見募集
このQ&Aのポイント
  • 妻と妻の姉が幼少期より虐待を受けた背景がある
  • 姉が妻にフケを落とし、擦り付ける奇行を繰り返した
  • 姉には外面が良く、イジメ行為もある可能性がある
回答を見る

専門家に質問してみよう