dポイントプレゼントキャンペーン実施中!

Excel関数にて、各月の各日に、担当毎の作業時間を管理しているのですが、そこで日毎に担当した作業者名と、その担当が作業した時間の空き時間を表示させたいのですが、可能でしょうか?

もとデータのシート(Sheet1)は;
  A  B   C   D   E     F
1 No. 日付 シフト 開始  終了   担当
2 1  4/1  日勤 14:55 16:00 田中
3 2  4/1  日勤 17:35 17:45 佐藤
4 3  4/1  夜勤 19:55 21:00 鈴木
5 4  4/1  夜勤 18:55 19:30 鈴木
6 5  4/2  日勤 10:55 12:00 斎藤
7 6  4/6  日勤 15:25 17:10 田中
8 7  4/6  夜勤 1:00  2:00 佐藤


このように一ヶ月間のデータが最大7000行まで埋まります。
※入力される時間はいくつかのパターンがあり、①時間通りに並んでいません、②日付は順番通りなのですが日を跨いだ勤務(夜勤)に関しては前日の日付となっています、③同じ担当名・同じ時間で入力があります。

このデータをもとに、別シート(Sheet2)に下記のように表示させたいのですが;
(※A4~A11(以降各8行ずつ)は結合し、1日から日付が月末まで入力されています。)
  A   BCD     EFG      HIJ    KLM    NOP   →
1
2
3    空き時間①  空き時間②   空き時間③ 空き時間④ 空き時間⑤ →
4 日  日勤担当①  田中
5 付  9:30~14:55 16:00~18:00
6 け  日勤担当②  佐藤
7 が  9:30~17:35 17:45~18:00  
8 入  夜勤担当①   鈴木
9 力  17:00~18:55 19:30~19:55 21:00~9:30
10   夜勤担当②  ****
11   

ここでは4/1の分のみしか記載しませんでしたが、Excel上では各月の1日~末日まであり、その日付の各箇所に最大15の空き時間が表示できるようにしています。
※5行目・7行目・9行目(以下2行ごと同じ)の各行は、B列以降3列ごとに(例:BCD、EFG→)開始時間、~、終了時間を入力するようにセルを調整しています。

さまざまな方法で考えてみたのですが、行き詰ってしまい出来ましたら皆様のお力添えをお願いできればと思います。

もし必要であれば、表の形式も変えることも出来ますので、何卒よろしくお願いします。

A 回答 (2件)

Excel関数での対応は難しいと思われますので、VBAマクロで対応してみました。


Sample-004.xlsmを作成して見ましたのでご参考になれば幸いです。

アクセスは、こちらから http://1drv.ms/1bRcDXV
    • good
    • 1
この回答へのお礼

ここまで作成していただき誠にありがとうございました。
投稿後もいろいろ考えてみたのですが、やはり関数では難しいみたいですね。マクロとても参考になりました。
本当にありがとうございます。

お礼日時:2015/05/15 18:48

既に解決されてましたら、スルーしてください




VBAでの処理を考えてみましたが、関数での記述に限定されますか?

やってみた結果の表示は、新規シートに添付図の様なものが・・・

VBAで良ければ回答しますが、文字数の関係で複数に分かれます
「Excel関数 担当名と作業した空き時間」の回答画像1
    • good
    • 2

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