Excelで月々のデータを年間通してのデータとしてまとめたいです。
月々のデータは以下のようになっています。
【1月の売上個数】
分類コード 商品コード 商品名 商品番号 店舗名 売上個数
01 001 飴 001 東京 1
01 002 ガム 002 大阪 2
02 001 お茶 003 大阪 3
02 001 コーラ 003 仙台 4
このように商品ごとに売上個数を集計して出しています。
1月データ、2月データと月ごとにブックで分かれており、これから毎月増えていく予定です。
1つのブックのデータの個数としては2000件強です。
取扱いのなくなった商品は一覧内から消え、新規で取り扱うことになった商品は追加される為、
毎月データの個数に変動があります。
これを、以下のような年間のデータ一覧として加工したいです。
分類コード 商品コード 商品名 (中略) 1月売上個数 2月 3月 ・・・ 12月
01 001 飴 1 2 4 ・・・ 6
01 002 ガム 3 5 4 ・・・ 8
02 001 お茶 9 10 5 ・・・ 6
02 002 コーラ 2 7 6 ・・・ 9
※入力画面の都合上(中略)としましたが、実際のデータには分類コードから店舗名まで全ての項目を反映させたいです。
途中で取扱いのなくなった商品は、なくなった月以降のセルに「止」と入れ、新規で取扱いとなった
商品は年間データの方に新しく分類コードから店舗名までを追加し、追加になった月以降のセルに数字を入れるようにしたいです。
≪例≫
分類コード 商品コード 商品名 (中間行略) 1月売上個数 2月 3月 4月
05 001 せんべい 0 0 止 止
※3月より取扱い中止
|
08 002 ワイン 【空欄】 【空欄】 5 6
※3月から新規取扱い、3月の時点でワインの項目を新しく年間のデータ一覧に追加する
大変お手数ですが、どなたかこのように作動するVBAを教えてください。
よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
無下に断るのも難なので折角質問をされましたので、これから小出しに回答します。
これは、かなりのボリュームになります。ここでは、この例題として
は、ExcelよりもAccessが望ましいのでAccessで回答します。
先ずは、テーブルを設定します。テーブルとしては、下記です。
① 分類マスター
② 商品マスター
③ 売上伝票
④ 店舗マスター
⑤ ユーザーマスター
尚、回答をするにしても字数の制限も有るので、何回かに分けて出しま
す。
①の分類マスターは下記の配置です。
分類コード 数値型
名称 テキスト型
主キーは分類コードにします。
②の商品マスターは下記の配置です。
商品コード 数値型
商品名 テキスト型
単価 数値型
実際の処理は、客に依っての値引なども考慮するとこう言う事では済ま
されませんが。端折ります。
主キーは商品コードです。
③の売上伝票は下記の配置です。
伝票番号 数値型
商品コード 数値型
単価 数値型
数量 数値型
売上 数値型
日付 日付型
計上月 数値型
ユーザーid 数値型
④の店舗マスターは下記の配置です。
店舗id 数値型
店舗名 テキスト型
⑤のユーザーマスターは下記の配置です。
ユーザーid 数値型
ユーザー名 テキスト型
上記のテーブルを作ったら今度はテーブルにデータを投入して基本デー
タを作成します。基本的には変動ファイルの売上伝票以外のデータを投
入します。本来は、全てが変動ファイルなのかも知れませんが。
基本的なテーブルとしては最小限下記のテーブルには予めデータが投入
されてないとデータベースとしては出来ません。
① 分類マスター
② 商品マスター
④ 店舗マスター
⑤ ユーザーマスター
基本的なテーブルにデータを投入する前にリレーションシップをを作っ
て置いた方がデータのエラーをチェックして来れるので先にリレーショ
ンシップを作ります。
初回はここで止めておきます。次回からはリレーションシップと実際に
売上を入力をする時のフォームに入ります。今ここで書いている事を全
てvbaで書く事は出来ますが。然し、それはかなりに最初からの理解と
しては敷居が高い物になります。
尚、ここから先は不要と考えるので有れば投稿はしませんが。何も無け
れば次も投稿します。全ての回答が出る迄の我慢は必要です。
せっかくご回答いただきましたが、お教えいただいたようなテーブル等はアクセスではなく独自のシステムを使い既に作ってあります。
毎日の売上を打ち込んでいく仕様になっており、ひと月分の売上まで集計できます。
そのシステムより抽出できるものが質問に記載した月々のデータです。
これがエクセルで出てくる為、あくまでもエクセル上で年間データに加工処理できたらと思い、VBAの方法を質問しました。
売上個数が単純に毎月商品名の横に付け足していければ良いのです。
ただ、取扱い商品が毎月増減する為に単純なVBAではうまくいかず、何か良いコードがあればお教え頂きたいと思ったのですが。。。
アクセスは申し訳ありませんが導入しておらず使用できませんので回答は結構です。ありがとうございました。
No.1
- 回答日時:
質問の趣旨が良く分かりませんが。
Excelで処理するのか。Accessで処理をするのかがはっきりしません。ジャンルが違うのでは無いでしょう
か。Excelならば質問を一旦閉じてから再度の質問を提出願います。
Accessで有れば。今のExcelをどうするのか。その辺の観点が抜けてい
ます。その辺を明確にしないといけません。
AccessからExcelにデータの以降は有る程度は出来ますが。完全では有
りません。複雑なシートにはAccessからは移行は出来ません。
若しも、Accessでの対応と言う事になれば。いきなりのvbaとはなりま
せん。データベースと言うのはExcelとは違います。Accessはリレー
ショナル・データベースですから。このリレーションシップと言う概念
が先ずは必要になります。
ですから、いきなりにvbaと言うのを回答をしても。最初はこのリレー
ションシップからの回答になります。それで、良ければ回答になりま
す。
その為にはもう少し、具体的に質問をしないと。最初のテーブル設計か
ら出来ませんので。回答が出来ません。質問者の趣旨から判断をすると
複数のテーブルとリレーションシップと言うのが思い当りますが。
自分なりのデータベースのリレーションシップと言うのはお持ちでしょ
うか。いきなりのvbaの前にその辺の認識が無いとここから先の回答は
例え回答が有ったとしても理解は出来ないのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- 会計ソフト・業務用ソフト Excelで売上げデータの中の任意の商品の合計を出したい 3 2023/01/18 18:19
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Excel(エクセル) エクセル count関数で出てきた数だけの行数をリンクで参照する 3 2022/08/10 12:02
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Excel(エクセル) 【エクセル関数】複数条件に該当する場合、別の列の数値を合算する。 9 2022/07/09 08:46
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
ACCESS 一つのフィールドに複...
-
重複するキーから一番古い年月...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
DB2で助けてください!
-
主キーの変更
-
VIEWでテーブルの集計結果...
-
Accessでフィールドを比較した...
-
履歴を管理するテーブル構造に...
-
SQL文について(片方のテーブル...
-
片方だけ抽出する方法(SQL)
-
ACCESSのSQLで、NULLかNULLでな...
-
クエリのキャンセルがいつにな...
-
オラクルではできるのにSQLSERV...
-
SELECT時の行ロックの必要性に...
-
3つ以上のテーブルをUNIONする...
-
Access 削除クエリが重い
-
Access VBA [リモートサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
行方向のデータを横に並べる
-
SQLについて質問です。 テーブ...
-
VIEWでテーブルの集計結果...
-
SQL 2つのテーブルとSUBSTRING...
-
PLSQLの識別子エラー
-
accessで移動平均する方法
-
片方だけ抽出する方法(SQL)
-
[Oracle] UPDATE分の副問い合わ...
-
場合によって条件を変えるSQL
-
Accessユニオンクエリーで2つ...
-
続.ORACLEのSELECTのソートに...
-
履歴を管理するテーブル構造に...
-
連番のMin, Maxを取得したい
-
Inner join と Left joinの明...
-
PLSQLで集計関数の値を配列に入...
-
商品コード番号を入力すると商...
おすすめ情報