アクセス2003の集計について

このQ&Aのポイント
  • アクセス初心者が工事管理システムを作成している際に、テーブル「受注」のデータを元に担当者ごとの月ごとの合計金額を計算したい。
  • テーブル「受注」には契約日、工事内容、担当者1、担当者1の売上金額、担当者2、担当者2の売上金額などのデータがある。
  • 担当者が複数人いる工事ごとに、担当者ごとの割合で計算された金額を月ごとに合計し、結果を表示したい。
回答を見る
  • ベストアンサー

アクセス2003の集計について

アクセス初心者です。(アクセス2003・Win7) 工事管理システムを作成しています。 どうしても上手く出来ないためご相談させてください。 テーブル「受注」に 契約日  / 工事内容 / 担当1 /担当1売上金額/ 担当2 /担当2売上金額/・・・・・ 2014/02/16   工事1    Aさん     500,000      Bさん    400,000 2014/02/17   工事2    Bさん     300,000      Cさん    200,000 とあります。(担当4まであります) ひとつの工事に担当者が一人ではなく複数名存在し、その割合が計算されます。 やりたい事は、割合で計算された金額を月ごとに合計金額を出したいのです。 Aさん 500,000 Bさん 700,000 Cさん 200,000 どうぞ、ご教授ください。よろしくお願いします。

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

  • ベストアンサー
回答No.3

「月ごとに」という条件を見落としてました。 年月でグループ化するという意味なら、ユニオンクエリを下記のようにして、 SELECT Format(契約日,"yyyy/mm") AS 年月, 担当1 AS 担当, 担当1売上金額 AS 売上金額 FROM 受注 WHERE 担当1 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当2 AS 担当, 担当2売上金額 AS 売上金額 FROM 受注 WHERE 担当2 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当3 AS 担当, 担当3売上金額 AS 売上金額 FROM 受注 WHERE 担当3 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当4 AS 担当, 担当4売上金額 AS 売上金額 FROM 受注 WHERE 担当4 <> ""; 集計クエリで、 年月 グループ化、担当 グループ化、売上金額 合計 としてください。

akumaou
質問者

お礼

hatena1989さん 丁寧なご説明と回答ありがとうございます。 希望通りに集計出来ました。 今後ユニオンクエリを勉強していきたいと思います。 ありがとうございました。

その他の回答 (3)

回答No.4

補足:データと参照 先の設計には担当順位の管理列がありませんでした。それが、ちょっと気になったので補足します。補足ついでに、先のテーブル構造でNo2さんの回答をもって目的を達成できることを<データと参照との関係>の実例をもって示しておきます。

回答No.2

No1.さんも言われているようにテーブル設計を見直すべきですね。 ただ、そうもいかない場合もあるかもしれませんので、まずは現状のままでいくなら、 クエリの新規作成でテーブルを追加せずにSQLビューにして下記のようにSQL文を記述します。 SELECT 担当1 AS 担当, 担当1売上金額 AS 売上金額 FROM 受注 WHERE 担当1 <> "" UNION ALL SELECT 担当2 AS 担当, 担当2売上金額 AS 売上金額 FROM 受注 WHERE 担当2 <> "" UNION ALL SELECT 担当3 AS 担当, 担当3売上金額 AS 売上金額 FROM 受注 WHERE 担当3 <> "" UNION ALL SELECT 担当4 AS 担当, 担当4売上金額 AS 売上金額 FROM 受注 WHERE 担当4 <> ""; これはユニオンクエリというものになります。 このクエリを元に集計クエリを作成して、 担当 を グループ化、売上金額 を 合計 にすれば希望の結果になります。 可能ならば、No1.さんの図示されたテーブルに変更されることを強くお勧めします。

回答No.1

チラ見で答えます。 だから、非常に短文です。 先ず、感じたのは<テーブル設計を詰めるべ>です。

akumaou
質問者

お礼

f_a_007さん 丁寧な回答ありがとうございます。 テーブルの作り方に問題があるのですね。 しっかり考えてつもりでしたが。。。 まだまだ勉強不足ですね。

関連するQ&A

  • Accessのクエリで月集計を一括集計したい。

    こんにちは。 Accessの基本操作がわかる程度の初心者です。 毎日の売上データが下記のようにあるとして、月毎の合計を一括で集計する方法はないでしょうか? 月別、店別、商品別、担当者別、売上数計、売上金額計 現在は、クエリの売上日にパラメータを入れて、 「2012/5/1」「2012/5/31」と1月分毎に入力し、集計したものを エクセルにきりばりしていますが、とても大変で困っています。 2012/5/1 大阪店 商品A 担当者A 売上数 売上金額 2012/5/3 東京店 商品A 担当者B 売上数 売上金額 2012/5/3 大阪店 商品B 担当者C 売上数 売上金額 2012/6/1 大阪店 商品A 担当者A 売上数 売上金額 2012/6/1 大阪店 商品B 担当者C 売上数 売上金額 2012/6/3 東京店 商品A 担当者D 売上数 売上金額 2012/7/3 大阪店 商品B 担当者B 売上数 売上金額 よろしくおねがいいたします。 ver. : 2007 os : WindowsXP

  • ACCESS 選択クエリの集計について

    そもそもテーブルの作り方が悪かったと言えるのですが、是非お知恵をお借りしたく投稿しました。 売上テーブル  売上ID 日付 得意先 売上A種テーブル 売上A種ID 売上IDNo 品目 数量 単価 合計  売上B種テーブル 売上B種ID 売上IDNo 品目 数量 単価 合計  売上C種テーブル 売上C種ID 売上IDNo 品目 数量 単価 合計  売上テーブルにメインの情報を入力し、売上A種テーブル、売上B種テーブル、売上C種テーブルに詳細情報を入力できるように売上IDと売上IDNoでリレーションシップを作成しました。 選択クエリでその日の各種の売上を集計したいのですが、必ずその日の得意先の売上の中に売上A種、売上B種、売上C種が含まれているわけではないので、選択クエリで 売上ID-グループ化 日付-グループ化 得意先-グループ化 売上A種合計-合計 売上B種合計-合計 売上C種合計-合計 とした場合、A種、B種、C種すべてに入力がなければ拾ってくれません。 入力の無いもの(売上IDNoのないもの)は0で、あるものはその合計を集計させるにはどのようにしたらよいでしょうか? 何卒、よろしくお願い申し上げます。

  • Accessでの集計

    Accessのテーブル作成クエリで売上Aと売上Bというテーブル作成しました。「売上A」と「売上B」というテーブルをを用いて「結果」という集計表を作成したいと思っています。 どの様に行えばよいでしょうか? OS:WinXP Access2003です。

  • Accessのクエリ集計に関して

    すみませんアクセス初心者です。 仕事で以下のような表を作りたいのですがどうしてもできません。。。 助けてください。。。 テーブルは テーブル名:売上実績 担当者  売上  月  科目  ←フィールド 山田   500  04  定番 山本   400  05  定番 山田   600  04  特売 山田   700  05  特売 山本   300  04  特売 山田   300  04  定番 ↑のような感じです! そして作りたいクエリは 担当者  04定番売上合計 05定番売上合計 04特売売上合計 05特売売上合計 山田     800       0       600      700 山本      0      400       300       0 クエリのデザインビューのところに式を入れたらいいのかな・・・? と思うのですが、教えていただきたいですm(__)m

  • アクセスでフォームのデータ(計算結果)がテーブルに反映されない

    アクセス初心者です、教えて下さい。 うまく説明できないのですが、エクセルで作成した売上表をアクセスで作り直そうと試みているのですが…。 簡単に説明すると、フィールドA,B,Cと3つあって、フォーム上でCはAとBの合計(C=[A]+[B])としました。フォーム上ではA,Bに値を入力するだけでCに結果が表示されるのですが、それがテーブルのCに反映されません。テーブルに計算結果を表示させるにはどうしたらいいのでしょうか?

  • 集計をしたい

    SQLで集計をしたいです。 SQLを始めたばかりの者です。 下記、よろしくお願いします。 説明不足がありましたら、ご指摘をお願いします。 MS-SQLServer2005環境です。 下記の売上テーブルが存在します。 テーブル:UriageTBL 年月日 受注番号 商品コード 商品名 個数  単価  金額 20101001 100   300     リンゴ   1   100   100 20101001 110   400     バナナ   1   150   150 20101001 110   400     バナナ  -1   150  -150 20101001 120   500     キャベツ  1   120   120 20101002 130   500     キャベツ  1   120   120 20101002 140   600     レタス   1   110   110 20101002 140   600     レタス   1   110   110 20101002 150   400     バナナ   1   150   150 ----------------------------- 商品コードに対応する商品グループ(テーブルは存在しません) 商品コード 商品グループ 300     果物 400     果物 500     野菜 600     野菜 ---------------------------- 【結果】 年月日 商品グループ 受注件数 個数合計 金額合計 2010/10/01 果物       1     1     100 2010/01/01 野菜       1     1     100 2010/10/02 果物       1     1     150 2010/10/02 野菜       2     3     340 売上テーブル(UriageTBL)を、年月日別、商品グループ別に集計し、受注件数、個数合計、金額合計を取得したいです。 また、商品コードに商品グループテーブルが存在しない為、SQL内で設定します。 ただし、受注合計金額が0円の時は集計から外します。(受注番号110は集計から外します。) (受注件数は、受注番号の件数です。) 上記の場合、どのようなSQLの組み方をすればよいのか見当もつかず悩んでおります。 どなたかご教授頂ける方がいらっしゃいましたら、よろしくお願い致します。

  • Accessで集計したい!

    こんな集計ができないか?いろんな参考書を見ても載っていないので、どなたか教えて下さい。 例) 選択クエリで、「金額」は計算して合計を表示するようにして、製品の合計を見出しを追加して集計したいのです。 製品 数量 単価 金額 <製品の合計を表示したい> A1  100  1   100      800 A1  100  3   300      800 A1  200  2   400      800 B1  150  2   300      1800 B1  300  0.5  150      1800 B1  450  2   900      1800 B1  450  1   450      1800      

  • Excel:複数シートの集計について教えて下さい!

    複数シートの集計について、行き詰ってしまったのでどなたかアドバイスをお願いします。 シートは1年度分の月ごと(契約日ベース)(4月~3月)に分かれています。 データは下記のようになっています。 種別 | 受付番号 | 注文番号 | 地域 | 契約日 | 金額  | 担当者 -------------------------------------------------------------- A | 1111 | A245 | 関西 | 4/1 | 70,000 | SA -------------------------------------------------------------- A | 1122 | A873 | 関西 | 4/15 | 85,000 | FU 以下続く。 担当者は10人未満です。1シートに同じ担当者が何回か登場しますが、毎月同じメンバーが登場するわけではありません(例:4月はAさん・Bさん・Cさん、5月はCさん・Dさん等)。 集計に使いたい項目は、(1)契約日(2)担当者(3)金額です。 担当者ごとに、月合計を集計し、かつ3ヶ月ごとに合計金額を出し、最後の列には総合計を入れたいです。 担当者 | 4月 | 5月 | 6月 | 1Q合計 | 7月 | 8月 | …… | 19年度合計 ピボットテーブルの「複数のシート範囲」を選択してやってみたのですが、うまくレイアウトが組めませんでした。 列を一部、担当者・契約日・金額の順に入れ替えて、この3行だけで複数シートのピボットテーブルを試してみたのですが、どうもうまくいきません。 どなたか助けてください! ピボットテーブルじゃなくてもOKです。ただマクロはできません。

  • Accessクロス集計クエリで

    Accessのクロス集計クエリで下記のような商品名・納品週を行見出し、受注状況を列見出しにして集計クエリを作ったのですが、受注状況1 受注状況2の合計を列に増やしたいのですがどうすればよろしいでしょうか。 商品名 納品週  受注状況1 受注状況2 受注状況3 合計 ------------------------------ A   2007/03/25   10      15       0     25 A   2007/04/02   15      12       15     42 A   2007/04/09    0      10       7     17 B   2007/03/25   11       0       11     22 B   2007/04/02   10      15       0     25

  • Access2000 集計とレポートの方法について

    私の知識では何ともならず、日々苦労しておりますので、お助け頂きたく宜しくお願い致します。 Access2000のテーブルには売り上げ実績として 日付、担当者、商品大区分、商品小区分、在庫 (Date、text、text、text、数値) がデータとして登録されています。例としては、 2008/01/01,担当者A,食品,商品A,135 2008/01/01,担当者B,食品,商品A,90 2008/01/01,担当者C,食品,商品A,30 2008/01/01,担当者A,食品,商品B,175 2008/01/01,担当者A,食品,商品A,80 2008/01/01,担当者C,食品,商品B,30 2008/01/01,担当者A,食品,商品B,230 2008/01/01,担当者D,食品,商品C,330 2008/01/01,担当者A,食品,商品C,30 2008/01/03,担当者B,食品,商品A,30 2008/01/03,担当者A,食品,商品A,30 のようなデータとなっています。 これらの登録されたデータを日付期間を指定し、集計すると 2008/01/01~2008/01/03,担当者=6名(2008/01/01=4名、2008/01/03=2名) 食品,商品A,395 食品,商品B,430 食品,商品C,360 となり、これらの内容を本社の端末に入力します。 しかしながら、本社の端末に入力するには制約があります。 制約は、1画面あたり 1) 1画面あたり、最大15行の登録が可能(ただし在庫数は1行あたり最大99まで) 2) 1画面あたり、集計期間の担当者合計は最大99まで 3) 1画面あたり、15行分の商品数合計は最大999まで 4) 1画面毎に、入力した最大15行の商品数合計の入力をする必要があります。 となっています。 上記例では担当者数も商品大区分も商品小区分も少ないのですが、実際には約1000アイテムあり、本社への報告は集計期間の指示があった時に随時実行する必要があります。 つまり、上記例の場合で出力したいのは、 期間:2008/01/01~2008/01/03 集計期間の担当者合計=6名 食品,商品A,99 食品,商品A,99 食品,商品A,99 食品,商品A,98 食品,商品B,99 食品,商品B,99 食品,商品B,99 食品,商品B,99 食品,商品B,34 食品,商品C,99 食品,商品C,75 ・・・15行には達していないが、在庫数最大値999を超えたので改ページ?改セクション? →商品合計=999を表示 改ページ?改セクション?で 食品,商品C,24 食品,商品C,99 食品,商品C,63 →商品合計=186を表示 とする必要があります。 また、集計期間内に担当者の合計が99名を超えた場合の計算にも、どうすればいいのか・・・私の知識不足が多すぎます・・・ お分かり頂きにくいかも知れませんが、最終的に集計を上記のような仕様にして各行項目と合計値をプリントアウトしたいと思います。(今は適当な在庫数と行数で区切る手作業をしています) 手作業では余りにも大変なので、入力用の資料を作成できるように御教示いただけますよう宜しくお願い致します。

専門家に質問してみよう