• 締切済み

Access2003を使ってデータの相対表が欲しいです

アクセス初心者です。 質問なのですが、一つのテーブルデータから あるパターンに当てはまるデータの数を集計したい場合 手順はどのように踏めばいいでしょうか。 例) テーブル構成→ 【フィールド】  月 / 日 / IN / OUT / 種類 / etc....(そのほかのデータ) 【データ】  1 / 1 / 100 / 200 / A / etc....  1 / 2 / 200 / 100 / B / etc....  1 / 3 / 100 / 300 / B / etc....  ・ ・ ・ ・  ・ ・ ・ ・  ・ ・ ・ ・  1 / 31 / 300 / 100 / B / etc....  のように続く。 この中から 【1/1~15日の間で、100でINし200でOUTしたBの数】 を調べて自動的に演算した結果を表示させたい場合、 どういった手順を踏めばいいでしょうか‥? 「クロス集計クエリ」を使ってみたのですが、 行見出しに「IN」列見出しに「OUT」を設定しても 思うように合計の値が出てきません。 イメージでは最終的にこんな相対表を作りたいので、 行、列各数値それぞれの対応した合計値が欲しいです。 ↓↓↓  OUT 100 / 200 / 300 / 計 IN 100/  -  ○○ ○○ ○○ 200/  ○○  -  ○○ ○○ 300/  ○○ ○○  -  ○○ 計/  ○○ ○○ ○○  - 申し訳ないのですが、やり方を どなたかご教授願えないでしょうかm(_ _)m

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

#1です 補足ありがとうございます > 月日の条件は「種類」と同じように、 > where条件で指定すると区切られる?ようです。 この部分は、追加しなくて大丈夫? 例えば、1月15日~2月15とかなった場合等を考慮すれば・・・ フィールド   : DateSerial (2007, [月], [日]) 集計      : Where 条件 抽出条件    : Between #2007/1/1# And #2007/1/15# とか、条件にした方が楽かも知れません (2007は、[年]と言うフィールドが無いので適当に年号を付けてます、年を超えるデータの場合は再度検討の必要があるかも^^;) > SQLビューとは‥? デザインビューでの話をしているので、データシートビューとの切替のところにある、「SQLビュー」です。 中身が判らなければ、文字の羅列の呪文のようなビューのことです 実際、こちらをテキストで打ち込む必要が出てきます その説明は後だとして・・・ >  OUT 100 / 200 / 300 / 計 > IN > 計/  ○○ ○○ ○○  - の部分のクエリを、もう一つ作りましょう (#1での回答のクエリをコピーして、変更したほうが早いかも^^;) > フィールド   : In > 集計      : グループ化 > 行列の入れ替え : 行見出し の部分を フィールド   : In : "合計" 集計      : グループ化 行列の入れ替え : 行見出し へ、差し替えてください そうすると、合計だけのクエリが出来上がります この2つのクエリを使用して、新規のクエリを作り、 SQLビューに変更後 Select * From #1で作ったクエリー名 Union Select * From #2で作ったクエリー名; をテキストで書き込んでユニオンクエリを作成します 「データシートビュー」にすると・・・出来てませんか? クエリ数を減らすことを考えれば、この2つのクロス集計クエリと1つのユニオンクエリで、作成するのが良いのかも知れませんが・・・ 私なら、最初に条件抽出のクエリをクロス集計クエリの前に1つ挟みます 選択クエリ (抽出集計するためのリスト作成) ↓        ↓ クロス集計クエリ クロス集計クエリ (内訳)     (合計のみ) ↓        ↓ ユニオンクエリ (求める表) と、言う感じにね 抽出条件を1つのクエリを直すだけで済むと言うことになりますから^^;

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

いくつか、判らないので補足お願いできますか? > 【フィールド】 >  月 / 日 / IN / OUT / 種類 / etc....(そのほかのデータ) 「月 / 日」は、別のフィールドで数値型?同じフィールドで日付時刻型? > 【1/1~15日の間で、100でINし200でOUTしたBの数】 は、Bのレコード数を数えればよいと? >  OUT 100 / 200 / 300 / 計 > IN > 100/  -  ○○ ○○ ○○ > 200/  ○○  -  ○○ ○○ > 300/  ○○ ○○  -  ○○ ここまでは、普通のクロス集計で出てくると思うんだけど? > 計/  ○○ ○○ ○○  - この部分は、ユニオンで結合するようになると思うのですが・・・ ユニオンで結合する事を考えると、フォームかレポート上で考慮した方が、楽ですが、列表題が可変にする必要があるなら、別の意味で大変になってきます、その当り如何でしょう? とりあえず、不明な部分を除いて解説で クロス集計クエリで、 フィールド   : Out 集計      : グループ化 行列の入れ替え : 列見出し フィールド   : In 集計      : グループ化 行列の入れ替え : 行見出し フィールド   : 計: In 集計      : カウント 行列の入れ替え : 行見出し フィールド   : Out 集計      : カウント 行列の入れ替え : 値 フィールド   : 種類 集計      : Where 条件 抽出条件    : "B" で、あと月日の条件と、最後のユニオンクエリの部分になりますが・・・ ユニオンクエリのところは、SQLビューで記載してくるようになりますので、デザインビューで説明できる範囲は以上ですね とりあえず、憶測の部分もあるので、補足お願いね^^;

minaberry
質問者

補足

ありがとうございます!! 上記に従ってクエリを作って、数値が出せましたm(_ _)m 補足の点について ・「月 / 日」は、別のフィールドで数値型?同じフィールドで日付時刻型? →別のフィールドで数値型です ・Bのレコード数を数えればよいと? →同じ条件でA・Bそれぞれの表を作ろうとしています ・フォームかレポート上で考慮した方が、楽ですが‥ →現段階ではフォームやレポートの作成に覚えがない為‥ クエリでお願いいたしますm(_ _)m 的外れな箇所等ありましたらすみません。 月日の条件は「種類」と同じように、 where条件で指定すると区切られる?ようです。 SQLビューとは‥? 初心者ですみませんm(_ _)m;

関連するQ&A

  • ピボットテーブルのデータフィールドの編集

    販売店とそのお店で売れた商品の個数を集計しています。普通にテーブルを作成したところ 店名   データ     集計 A商店  合計/商品1  100       合計/商品2  200 B商店  合計/商品1   50       合計/商品2  140 となりました。ただ店数が多く、商品数が少ないためできれば 店名  データ     集計  データ    集計 A商店 合計/商品1 100 合計/商品2 200 B商店 合計/商品1  50 合計/商品2 140 のように、2行になっているデータフィールドを1行にまとめたい思いましたが、方法がわかりません。理想形としましては 店名  合計/商品1 合計/商品2   A商店    100    200 B商店     50    140 のようになれば行数が少なく済むので、レポートを出力するのに枚数も少なくなり都合がいいです。 1列2行のデータフィールドを1行2列に変換する方法をご存知の方、ご教授ください。

  • 表からの合計

    お世話になります、集計についてお教えください。 上段のような表があります。そしてこれを下段のような数字を合計した表に組み替えたいと思います。 この下段の表の黄色い部分に入れる数式を考えています。 上段の表に合計を示す行と列を挿入すればsumifを活用することで出来るかと思うのですが、できれば上段の表は生データとして触らないようにしたいのです。 また、実際のデータはかなりの行と列の数となっており、構成要素も多岐にわたるので手作業を加える相対参照などは避けたいと思っています。 加えて、今後の活用の点からもピボットなどの機能ではなく、関数を組み合わせた数式で処理したいと思っています。 どのようにすればよいかお教えくだされば幸いです。 A A B B あ 1 2 3 4 あ 5 6 7 8 い 9 10 11 12 い 13 14 15 16 い 17 18 19 20 A B あ い

  • Access2003 クロス集計クエリでの合計

    ☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [A]      [B]    [C]     1    111     英語    10    2    222     英語    20    3    333     数学    30    4    111     国語    40   5    222     数学    50    6    333     国語    60    7    222     国語    70   8    333     英語    80     9    111     数学    90     =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、    フィールド[B]を列見出しに設定、    フィールド[C]を集計する項目に設定する。   (2) フィールド[C]の値を列ごとに平均を計算し、    行ごとに合計を計算する。   ※ 列と行で、それぞれ集計した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]     合計  英語  国語  数学     111  140   10    40    90        222  140   20    70    50     333  170   80    60    30  --------------- 平均  150   36     56   56 ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • アクセスで

    ゴルフのスコア管理をしたいのです。 テーブルに1~9ホールまでのスコアを入力するOUTテーブルと 10~18のINテーブルを作りました。 クエリでは1~9までのスコアの合計を出すOUT式と 10~18までのスコアの合計を出すIN式とをつくり TOTALとしてOUTとINを足す演算を デザイングリッドに登録しました。 ところがテーブルには新規に入力する欄がありますが クエリにはありません。 フォームを作りましたが新規に入力できないために 作った意味がありません。 どうして新規に入力できないのかあらゆる可能性を教えてください。 ただし私は初心者なので私でもわかるように詳しく教えてください。 よろしくお願いいたします。

  • アクセスのクロス集計クエリより作成したフォームに0を表示させたい。

    たとえばA,B,Cという商品があります。  4月、5月、6月 A  5  0   2 B  0  3   0 C  5  2   0 表にすると上記のように使用してテーブルとしては 月  商品 使用数 4月  A   5 4月  C   5 5月  B   3 5月  C   2 6月  A   2 っと入力したとします。 このテーブルを行見出しを商品、列見出しを月、合計を使用数に指定してクロス集計すると  4月、5月、6月 A 5       2 B     3 C 5   2 上記のように使用数がない時は、0ではなく空白になってしまいます。 この空白を、使用数がないときは0にする事は出来ますか? アドバイス宜しくお願いします。

  • アクセス クロス集計クエリ→テーブル作成クエリ

    クロス集計クエリは、 そのままテーブル作成クエリを使って クロス集計クエリのままテーブルにすることはできないのでしょうか? クロス集計クエリの時は、行見出し・列見出しがあるのに、 そのままテーブルにはなりません。

  • Excelで集計したとき、集計行にその上の行の文字データを表示させたい

     Excelで集計したとき、合計行には数字などの列データは合計されますが、文字列データの列は数字が出てくるので、折りたたんだときに、たとえば(顧客名の列でAさんだとたら)合計行にも、Aさんという文字を表示させたいです。  手順としては集計させたあとに、マクロで合計行にもその上の文字列を単純にコピーできたらいいです。  手作業でもいいのですが、顧客名が多くて大変です。よろしくお願いします。

  • Access クエリより集計という列の使い方

    単純な質問ですいません。 クエリで、Σマークをクリックすると集計という行が出て グループ化と表示されています。 このグループ化とはどういう意味でしょうか。 また、演算をかけてある列フィールドに対しては“演算”を選んだ方がいいのでしょうか。 とか、合計をかけてある列フィールドには“合計”を選んでおいたほうがよい?。。 ちょっとよくわかりません・・。

  • エクセルマクロで表の途中の集計行と合計行追加

    こんなことできますか? エクセルの表が各シートに一つずつあります。 B列からR列まで使用しています。 始まりは3行目で見出し行です。 データは4行目以降ですが、これは各シートごとに最終行は異なります。だいたい120行から200行程度です。 途中に空白はありません。 この表はS列の数値(12種類)により分類され並べ替えてあります。 やりたいのは、S列の数値を見て、分類(同じ数字)ごとに集計する行を追加したいのです。 集計する列は、D~K列だけです。 そして、最終行に全部の合計も出したいのです。 ただ、量が多いのと、頻繁に行なう作業なのでマクロでささっと出来ないかと思います。 どなたかどうすればよいか教えてください。 なにとぞお願いします。

  • 集計表の作成

    集計表の作成 AccessとExcelを使用して集計Aを作成したいと思っています。 (ボタン1クリックだけで行なうのが理想です) 1.グループ毎に小計行を追加したい(小計行はグループ毎の合計 2.エクスポートしたExcelの最終に合計行の追加したい (合計行は全グループの合計) A列はデータ数によって毎回行数が変わる為にあらかじめレイアウトを 作成して、Vlookuopで当てはめるという事も出来ません。 元となる金額のデータはAccessで作成してExcelにエクスポートする 所までは出来たのですがそれ以降(小計行の追加・計算、合計行の追加・計算)が分かりません。どの様にすればよいでしょうか? Access:仕入先テーブル コード |テキスト型 名称 |テキスト型 仕入額 |数値型 前年比 |数値型 グループ |数値型 Excel:集計A A | B | C | D | E | F | 1 |コード | 名称 |仕入額 |前年比|グループ| 2 |1030 | A | 1,000 | 49%|1 | 3 |1040 | B | 1,050 | 32%|1 | 4 | |小計(A+B) | 2,050 | 81%| 5 |1050 | C | 1,000 | 50%|2 | 6 |1060 | D | 1,050 | 52%|2 | 7 |1070 | E | 1,050 | 49%|2 | 8 | |小計(C+D+E)| 3,100|50.3%| 9 |1080 | F | 1,000 | 60%| | 10|1090 | G | 2,000 | 38%| | 11|2000 | H | 1,000 | 60%| | ・ ・ ・ ・ | |合計 | 9,150 |49% | ・・・C4+C8+C9+合計行の直前まで

専門家に質問してみよう