【お題】動物のキャッチフレーズ

添付のようなデータが月ごと12テーブルあります。
A,B,C,Dは月ごとに異なっています。
全て合成して、1月1日~12月31日までの合計値を出したいのですが
どのように処理したらよろしいでしょうか。

よろしくお願いいたします。

「アクセス」の質問画像

質問者からの補足コメント

  • どう思う?

    エクセルでも構わないのですがA~の行が12000くらいあって
    月によって重複しているもの、していないものがあります。
    エクセルで可能ですか?

      補足日時:2016/05/30 22:19

A 回答 (2件)

excelでは無理だと思います。


最初だけです。動くのはです。
データの件数が僅か65536を越えたら動きません。

Accessなら、動きます。
最初から動かない物を作っても仕方無いです。
普通にAccessの集計クエリーでサクサクと作れますよ。

作る方法としては、
1. userのテーブルを作る
 user_id テキスト型
 user_name テキスト型

2. profitのテーブルを作る
 id auto_number
 user_id テキストの型
 profit_date テキストの型
 profit 数値の型
 date_year テキストの型

3. userとprofitのテーブルのリレーションを作る
 userのuser_idとprofitのuser_idを一対多で参照整合性を作る

4. userフォームをuserテーブルを元にデータシートビューを作る

5. profitフォームをprofitテーブルを元にデータシートビューを作る

6. userフォームを使ってuserのマスターを作る

7. profitのフォームは下記の様に作る
 idの入力は自動入力なので使用不可にする
 user_nameはuser_idを入力すると自動入力なので使用不可にする
 profit_dateは定型入力で000000;0;とする
 また、profit_dateは自動タブとする。
 
 この様な設定で、user_idとprofit_dateとprofitを入力するだけになる。
 profit_dateは、数値6桁を入力すると自動的に次の項目に飛びます。
 profit_dateはyymmddになります。

8. 年間売上の作成は、クエリーを二つ作ります。
 profitのdate_yearは、何もデータは入っていないのでこれを作ります。
 更新クエリーで、left([profit_date],2)で更新します。

9. 2番目のクエリーは、集計クエリーです。
 SELECT profit.date_year, profit.user_id, user.user_name, Sum(profit.profiit) A S profiitの合計
 FROM [user] INNER JOIN profit ON user.user_id = profit.user_id
 GROUP BY profit.date_year, profit.user_id, user.user_name
 HAVING (((profit.date_year)="16"))
 ORDER BY profit.user_id;

 ここでは、"16"の所で年を示しています。この条件を変えるだけです。

10. 操作性を高めるためには、マクロを用意して二つのクエリー入れて置くと良い。

11. なお、これらをまとめてswitchboardに入れて置くと良いでしょう。

以上となります。
本来ならば、サンプルをアップしたい所ですが方法が分かりませんので。
    • good
    • 0

エクセルでやりましょう。


これは、アクセスのクロス集計の結果のようです。
本来こういう集計結果を出すためのツールです。
エクセルの方が簡単で早いです。
何かエクセルで出来ない理由でも?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す