いつもお世話になります。今回もよろしくお願いします。
現在1つのシートに
表A:
ロット 日付 処理数 板数…
ab 1/4 1000 2
ab 1/5 2800 2
表B:
日付 良品 不良1 不良2 使用機…
1/5 1000 10 15 4
1/5 900 8 5 2,3
1/6 2500 20 13 2
というようなデータが、1月~現在まで、機種ごとに数シートにわたって入力されています。(表AとBは、横並びになっています。)このデータを別シートに必要な箇所のみ日付ごとに集計し、下記のようにAとBを一つの表にまとめたいのです
日付 機種 板数 良品 不良1 不良2 使用機
1/4 101 2
1/5 101 4 1900 18 20 2,3,4
1/5 102 12 …
1/5 103 20 …
1つネックなのが、各機種で稼働日が統一でない点です。ある機種は完全週休2日、他は日曜も稼動したりしています。
自分で考えたやり方としては、各機種ごとに集計シートを作り、表Aで一度、データ→集計(日付ごと)にして、コピーしておき、表Bで同様に集計し、コピーする。その後別シートに日付作成しておき、日付を基準としてVLOOKUPでもってこないといけないのかな?と思っています。
ですが、この時面倒なのが、使用機が同日付内に数機使った場合、重複しないように書き出したいので、結局は全てのデータを目で確認しないといけません。しかも、10機種以上あるので、今後全ての機種を毎月この作業をするのは手間がかかりすぎてしまいます。
これをなんとか簡単に、できればVBAで持っていける方法はないものでしょうか。
わかりにくいと思いますので、不明な点は補足させていただきます。お手数がよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは(^^)
少し整理させてください。まず、データベースは、機種別シートの中に表Aと表Bがある状態ですね。たとえば、Accessなどのデータベース管理ソフトでこれを作成する場合は、表Aと表Bは別テーブルで、あるフィールド(列)をキーとして、関連づけさせることになります。集計を行う場合、まず、複数のテーブル(表)の中からキーとするフィールドを決めて、集計に必要なフィールドを集め、統合した新たなテーブルやフォームを作ることになりますが、この作業はクエリーという機能を使って進めると便利でしょう。
まず、データを統合してから、ピボットテーブルで集計されるとスムーズに行くように思われます。ただ、統合がややこしいかもしれません。
新しいシートを立ち上げ、[データ]>[外部データ取り込み]>[新しいデータベースクエリ]とします。データベースタブのExcel Filesを選択>[OK]>データベース名で、ファイルを選択>[OK]
ここで、ファイル内の各Sheetがエクスプローラスタイルで表示されますので、統合するテーブル選択します。表示されない場合は表の作り方に問題がありますので、元のファイルの表を少し変更する必要があるかもしれません。ふつう、フィールド名が先頭行にきていれば認識してくれます。また、表A,Bは同一シート内にあるので、同一テーブルと見なされますね。できれば、どちらかをいったん別シートにコピーするなりして、そのシートを参照したほうがいいでしょう。
フィールド名がすべて表示されますので、統合・集計に必要なものはすべて選択して[>]>[OK]、おそらくクエリーを使って編集する旨のメッセージが出ますので、[はい]または[OK]とすると、MicrosoftQuelyが立ち上がります。(もしかするとMicrosoftQuelyは標準インストールでインストールされなかったかもしれないので、入っていなければ、追加削除で追加しておいてください。)リレーションシップウインドウに、それぞれのテーブルのフィールド名が表示されていますので、日付をキーとする場合は、”日付”をドラッグして、一方のウインドウの"日付"から他方ウインドウの"日付"に重ねてください。これで、MicrosoftQuelyを閉じると、日付をキーとする新しいテーブルができます。このテーブルを、ピボットテーブル集計にしたら良いと思われます。また、この操作はマクロに記録できます。
普段使い慣れていない機能を使うことになると思われます。他の回答でもっと良いものが出るかもしれませんが、チャレンジしてみてはいかがでしょう。説明は長文ですけど、各操作の詳細はヘルプで調べてみてください。
TTakさん、いつもありがとうございます。
そか、VBAにこだわる必要はないんですね!ピボットテーブルは初めて使うので時間かかるかもしれませんが、頑張ります!
わからなければ、またお願いします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- 中途・キャリア 契約社員で在職中ですが、正社員目指して転職活動中です。 20代半ばの男です。 2社から内定を頂きまし 5 2022/04/29 13:39
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Accessの日付時刻型から日付、...
-
Accessのデータ型の日付/時刻型...
-
ACCESSの空白をカウントする
-
Access クエリで、レコードの無...
-
ACCESS・重複データ入力をエラーに
-
アクセス97のVBAで日付項目をヌ...
-
BCPでCSV内の文字列をテーブル...
-
前のレコードの合計に現レコー...
-
ACCESS で、古い日付順に抽出し...
-
Excleピボットでデータのない部...
-
今週分だけ表示させたい
-
SQL Server2005のクエリで「今...
-
SQL SEREVER で選択した固定値...
-
Access2016、VBA、家計簿で各出費...
-
VBA 別シートの同じ日付の欄に...
-
前日分のデータだけをスケジュ...
-
【エクセル】指定した日付に一...
-
ビュー定義をプログラムで動的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
Accessの日付時刻型から日付、...
-
アクセスで月単位の抽出
-
VBA 別シートの同じ日付の欄に...
-
Accessのデータ型の日付/時刻型...
-
Excel→Accessへの日付データの...
-
アクセス:既定値に土日含まず...
-
BCPでCSV内の文字列をテーブル...
-
エクセル-過去6カ月分の合計を...
-
Access クエリで、レコードの無...
-
指定日付を起点にして最新日付...
-
【エクセル】指定した日付に一...
-
【Accessで困っています...
-
Accessで日付の比較がうまくい...
-
【vba】日付の形式が勝手に変わ...
-
前のレコードの合計に現レコー...
-
ACCESSの空白をカウントする
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報