• ベストアンサー

エクセルでシフト表から点呼表を作成

運送会社になります。現在、4日ごとに1日の公休日を入れ1日づずずらして20通り(Aパターン~Tパターン)のシフト表を毎月ごとに作成しております。(sheet1) このシフト表から日々の出庫点検表(sheet2) を作成したいのです。出庫点検表はA1~A20に車両No.が入っており、B1~B20にその日の担当者名が入るようにしたいのですがどうすればよいのか教えて下さい。それぞれ1車両ごとに2名の担当者が決まっております。時には担当者2名の公休日が重なる日もありますのでその場合は空白で構いません。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

No3,No4です。 >PtAとPtBで1台の車両を担当して(2台目の車両はPtCとPtD)担当者の出が重ならないという条件 意味が良く分からないのですが? 最初にシートで重ならない様にしておくほか手段はないと思います。 ひょっとして PtA=佐藤 さんと決まっているわけではないとか? >2行のセルではなく1行のセルでいずれかの出番者の名前を表示させたいのですが 2名共 出 の場合はどちらの方を表示するのかルールがあるのでしょうか? もし上の方に記入してる方(PtAとPtBの両方 出 の場合はPtA)でよければ =IF(IF(HLOOKUP(B$1,Sheet1!$1:2,ROW(A2))="公","",Sheet1!A2)="",IF(HLOOKUP(B$1,Sheet1!$1:3,ROW(A3))="公","",Sheet1!A3) ,IF(HLOOKUP(B$1,Sheet1!$1:2,ROW(A2))="公","",Sheet1!A2) となりますが? 最初に式で 空白だったら下の式、空白でなければ同じ式です。 或いは 隣の列に =IF(HLOOKUP(B$1,Sheet1!$1:3,ROW(A3))="公","",Sheet1!A3) で2名を横に表示する? どうもシートの構成がちょっとおかしいような気がしましたので、 スケジュール管理の王道として Sheet1 担当者ID 担当者氏名  担当車両番号  PtA    田中     1号車 ・・・ とか担当者のマスターがあること Sheet2  日付  PtA PtB・・・  8/1  公  8/2  有  8/3  点  8/4  運 公=公休日 有=有給取得 点=車両点検 運=運休日 とかで 有 以外は全て公休日扱い とかで縦方向に日付がたっぷりと並んでスケジュールを入れるシート ここで休みが重ならないように入力規則を設定しておく。 Sheet3 A1セルに2008年8月 と入れると 8/ 1 2 3 4 5 6 7 8 9 10 11 12~~~30日←の部分が 海老名 出出出出公出出出出公出出出出公出出出 佐藤  公出出出出公出出出出公出出出出公出出 田中 出公出出出出公出出出出公出出出出公出 のような1月スケジュールが表示される。 Sheet4 A1セルに =TODAY() いれて 車両No. 担当者ID 担当者  担当者ID 待機 1号車  PtA   海老名   PtB   佐藤 2号車  PtC   田中   空白   空白 ・・・ その日のスケジュールが表示される。 こんな感じで、Sheet1とSheet2のマスターから必要な表示を考えると シンプルになりそうな気がします。参考にしてください。

showa800
質問者

お礼

ご回答ありがとうございます。ご指導頂いた内容から十分なヒントを得ることが出来ました。今まで紙の上でしていた事をパソコンで管理するにはもう少し時間がかかりそうですが今回のことでかなり前進したように思えます。本当にありがとうございました。

その他の回答 (4)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

すみません。訂正がありました。 B1セルに日付なので B3セルに =IF(HLOOKUP(B$1,Sheet1!$1:2,ROW(A2))="公","",Sheet1!A2) ですね。 必ず今日の日付のリストであれば B1セルに =TODAY() と入れておく、或いは =IF(HLOOKUP(TODAY(),Sheet1!$1:2,ROW(A2))="公","",Sheet1!A2) でもOKです。

showa800
質問者

補足

ご回答ありがとうございます。数日間家を留守にしておりました。 再度、教えて頂きたいのですが、 sheet1(シフト表) 8/  1 2 3 4 5 6 7 8 9 10 11 12~~~30日←の部分が PtA 出 出  公 出  出  公 出  出  PtB 公 出  出 公 公 出  出  公 出  出 上記の表では表現しずらいのですが、PtAとPtBで1台の車両を担当して (2台目の車両はPtCとPtD)担当者の出が重ならないという条件でしたらどのような式になるのでしょうか。 2行のセルではなく1行のセルでいずれかの出番者の名前を表示させたいのですが。 車両No. 担当者 ------------------------------------------------- 1号車  海老名     --1行で-- ------------------------------------------------- よろしくお願いします。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

sheet1(シフト表) 8/ 1 2 3 4 5 6 7 8 9 10 11 12~~~30日←の部分が PtA 出出出出公出出出出公出出出出公出出出 PtB 公出出出出公出出出出公出出出出公出出 PtC 出公出出出出公出出出出公出出出出公出 日付の部分がシリアル値(書式が日付とか ユーザー設定で m/d 或いは d)であれば   A    B   C 1 日付  8/5 2 車両No 担当  氏名 3 01 4 号車 5 02 6 号車 ・・・ とB1に日付入れるセル A列は2つのセルを結合して車両番号入れておく。 B2セルに =IF(HLOOKUP(A$1,Sheet1!$1:2,ROW(A2))="公","",Sheet1!A2) 入れて下までコピィすると 出の時だけPtAとかでます。 別シートに PtA 田中 PtB 吉田 ・・・と 対応表つくれば C列に氏名を出せます。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

補足する際に以下の情報もお忘れなく。 1)Aさんが出勤しているとして、彼がどの車輌に乗るかはどうやって決められるのか?(適当に割振っても良いのか、いつも乗る車がほぼ決っていないのか?) 2)乗員2名とのことですが、優先的な組合せはないのか? (相方はだれでも良いという決め方でよいのか?) 3)担当者には運転手と助手のような性格分けはないのか? (全員同じ条件で割振ってよいのか?)

showa800
質問者

補足

すみません。捕捉になります。 sheet1(シフト表) 8/ 1 2 3 4 5 6 7 8 9 10 11 12~~~30日 PtA 出出出出公出出出出公出出出出公出出出 PtB 公出出出出公出出出出公出出出出公出出 PtC 出公出出出出公出出出出公出出出出公出 上記の様な表です。公休日が1日ずつずれてPtTまであります。 担当車両は決まっており、1号車は田中(PtA)・吉田(PtB)/2号車は武田(PtC)・小柳(PtD)/3号車は川内(PtE)・古田(PtF)のように割振られ10号車まであります。不定期ですが連休にする月もあり公休日がが重なる日は車は稼働しません(工場点検日)ので他の人を割り当てる必要もありません。空白のままで結構です。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

シートの構成が今一わからないのですが Sheet1(勤務表)   A    B   C    D 1 日付 Aさん  Bさん Cさん 2 8/1 3 8/2         休日 4 8/3     休日 5 8/4 休日 ・・・ 32 8/31 Shett2   A    B   C 1 車両No 担当1 担当2 2 01 3 02 4 03 ・・・ 21 20 >4日ごとに1日の公休日を入れ1日づずずらして20通り(Aパターン~Tパターン)のシフト表 4パターンしか出来ないと思いますが? >1車両ごとに2名の担当者 担当者と車両の関係は? 上記の表使ってもらってかまわないので いくつか補足説明してください。

showa800
質問者

補足

すみません。捕捉になります。 sheet1(シフト表) 8/ 1 2 3 4 5 6 7 8 9 10 11 12~~~30日 PtA 出出出出公出出出出公出出出出公出出出 PtB 公出出出出公出出出出公出出出出公出出 PtC 出公出出出出公出出出出公出出出出公出 上記の様な表です。公休日が1日ずつずれてPtTまであります。 担当車両は決まっており、1号車は田中(PtA)・吉田(PtB)/2号車は武田(PtC)・小柳(PtD)/3号車は川内(PtE)・古田(PtF)のように割振られ10号車まであります。不定期ですが連休にする月もあり公休日がが重なる日は車は稼働しません(工場点検日)ので他の人を割り当てる必要もありません。空白のままで結構です。

関連するQ&A