アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

有難う御座います。



ここは、Accessの部屋と成っています。
なので、違う様ですので退室をお願いします。

Excelの部屋も有ります。そこで、再度の質問の再開を
お願いします。ここでは、貴方の用件に答える人は
誰もいません。

ここは、Accessの部屋です。よろしくね。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2017/02/24 11:33

無下に断るのも難なので折角質問をされましたので、これから小出しに回答します。



これは、かなりのボリュームになります。ここでは、この例題として
は、ExcelよりもAccessが望ましいのでAccessで回答します。

先ずは、テーブルを設定します。テーブルとしては、下記です。
① 分類マスター
② 商品マスター
③ 売上伝票
④ 店舗マスター
⑤ ユーザーマスター

尚、回答をするにしても字数の制限も有るので、何回かに分けて出しま
す。
①の分類マスターは下記の配置です。
分類コード 数値型
名称 テキスト型

主キーは分類コードにします。

②の商品マスターは下記の配置です。
商品コード 数値型
商品名 テキスト型
単価 数値型

実際の処理は、客に依っての値引なども考慮するとこう言う事では済ま
されませんが。端折ります。

主キーは商品コードです。

③の売上伝票は下記の配置です。
伝票番号 数値型
商品コード 数値型
単価 数値型
数量 数値型
売上 数値型
日付 日付型
計上月 数値型
ユーザーid 数値型

④の店舗マスターは下記の配置です。
店舗id 数値型
店舗名 テキスト型

⑤のユーザーマスターは下記の配置です。
ユーザーid 数値型
ユーザー名 テキスト型

上記のテーブルを作ったら今度はテーブルにデータを投入して基本デー
タを作成します。基本的には変動ファイルの売上伝票以外のデータを投
入します。本来は、全てが変動ファイルなのかも知れませんが。

基本的なテーブルとしては最小限下記のテーブルには予めデータが投入
されてないとデータベースとしては出来ません。
① 分類マスター
② 商品マスター
④ 店舗マスター
⑤ ユーザーマスター

基本的なテーブルにデータを投入する前にリレーションシップをを作っ
て置いた方がデータのエラーをチェックして来れるので先にリレーショ
ンシップを作ります。

初回はここで止めておきます。次回からはリレーションシップと実際に
売上を入力をする時のフォームに入ります。今ここで書いている事を全
てvbaで書く事は出来ますが。然し、それはかなりに最初からの理解と
しては敷居が高い物になります。

尚、ここから先は不要と考えるので有れば投稿はしませんが。何も無け
れば次も投稿します。全ての回答が出る迄の我慢は必要です。
    • good
    • 0
この回答へのお礼

せっかくご回答いただきましたが、お教えいただいたようなテーブル等はアクセスではなく独自のシステムを使い既に作ってあります。
毎日の売上を打ち込んでいく仕様になっており、ひと月分の売上まで集計できます。
そのシステムより抽出できるものが質問に記載した月々のデータです。
これがエクセルで出てくる為、あくまでもエクセル上で年間データに加工処理できたらと思い、VBAの方法を質問しました。
売上個数が単純に毎月商品名の横に付け足していければ良いのです。
ただ、取扱い商品が毎月増減する為に単純なVBAではうまくいかず、何か良いコードがあればお教え頂きたいと思ったのですが。。。

アクセスは申し訳ありませんが導入しておらず使用できませんので回答は結構です。ありがとうございました。

お礼日時:2017/02/23 16:51

質問の趣旨が良く分かりませんが。

Excelで処理するのか。Accessで処
理をするのかがはっきりしません。ジャンルが違うのでは無いでしょう
か。Excelならば質問を一旦閉じてから再度の質問を提出願います。

Accessで有れば。今のExcelをどうするのか。その辺の観点が抜けてい
ます。その辺を明確にしないといけません。

AccessからExcelにデータの以降は有る程度は出来ますが。完全では有
りません。複雑なシートにはAccessからは移行は出来ません。

若しも、Accessでの対応と言う事になれば。いきなりのvbaとはなりま
せん。データベースと言うのはExcelとは違います。Accessはリレー
ショナル・データベースですから。このリレーションシップと言う概念
が先ずは必要になります。

ですから、いきなりにvbaと言うのを回答をしても。最初はこのリレー
ションシップからの回答になります。それで、良ければ回答になりま
す。

その為にはもう少し、具体的に質問をしないと。最初のテーブル設計か
ら出来ませんので。回答が出来ません。質問者の趣旨から判断をすると
複数のテーブルとリレーションシップと言うのが思い当りますが。

自分なりのデータベースのリレーションシップと言うのはお持ちでしょ
うか。いきなりのvbaの前にその辺の認識が無いとここから先の回答は
例え回答が有ったとしても理解は出来ないのではないでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2017/02/20 11:10

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