引用:
◆期間指定(例)
2022年@ 2022/4/1 〜 2022/5/13
2022年A 2022/5/1 〜 2022/8/10
2022年B 2022/4/1 〜 2023/3/31
こんなかんじで10個ぐらい必要です
期間重複していませんか?
その場合、どうするのでしょうか?
その辺りを明確にしましょう。
先のスレッドでも Access〜〜 と話しましたが、SQL を使う方法。
Power QueryでSQLを使用してワークシートを読み込む方法
https://www.excellovers.com/entry/powerquerysql01
を利用し、EXELデータに対しSQLを適用します。
ただし、期間は重複しないとします。
1.前提
シート 【期間】
期間 開始 終了
2023年@ 2023/4/1 2023/5/13
2023年A 2023/5/13 2023/8/10
2023年B 2023/8/11 2024/4/31
シート【作業日誌】
日付 氏名 時間
4月1日 AA 1
4月1日 BB 2
4月15日 AA 3
4月16日 CC 4
5月1日 AA 5
5月1日 CC 6
7月1日 BB 7
7月1日 CC 8
シート【役割】
役割 氏名
リーダー BB
サブ CC
補佐 AA
を同一 Excel xlsxファイルとして保存
2. 新ブック にて
データ → その他のデータソースから → OLEDBから
OBBCからインポート にて、 [ビルド]クリック
プロバイダタブ にて、「Microsoft Office 16.0 Access Database Engine OLE DB〜」選択
詳細タブ にて、Extended Properties に、「Excel 12.0」 (l と 1 の間は半角スペース)
接続タブにて、データソースに、1.のxlsxファイルフルパス を指定
→ 接続テスト で、 テスト成功を確認後、「OK」
OBBCからインポート の 「詳細設定オプション」
SQLステートメントに
SELECT
[作業日誌$].[日付], [作業日誌$].[氏名], [役割$].[役割], [作業日誌$].[時間], [期間$].[期間]
FROM [作業日誌$], [役割$], [期間$]
WHERE [作業日誌$].[氏名]=[役割$].[氏名] AND ([作業日誌$].[日付] >=[期間$].[開始] AND [作業日誌$].[日付] <=[期間$].[終了]);
を指定し、OK
PowerQuery エディター に
日付 氏名 役割 時間 期間
2023/07/01 0:00:00 BB リーダー 7 2023年A
2023/04/01 0:00:00 BB リーダー 2 2023年@
2023/07/01 0:00:00 CC サブ 8 2023年A
2023/05/01 0:00:00 CC サブ 6 2023年@
2023/04/16 0:00:00 CC サブ 4 2023年@
2023/05/01 0:00:00 AA 補佐 5 2023年@
2023/04/15 0:00:00 AA 補佐 3 2023年@
2023/04/01 0:00:00 AA 補佐 1 2023年@
が表示されますから
「ファイル」 - 「閉じて読み込む」
をすれば、上記のデータが EXCELに表示されます。
そこから、必要に応じて ピットテーブルを作成してください。[/quote]