プロが教える店舗&オフィスのセキュリティ対策術

Excelでシフト表を作成するよう上司から言われて孤軍奮闘しておりますが、皆様のお知恵をお借りできればと思い質問させていただきます。
sheet1に月間シフト表を作成しました。D7〜AH7に21日から翌月20日の日付、B9〜B24に職員名が入っていまして、日・当・明・早・公が入れ込んであります。シート1には以下のような表を作成しました。
   21 22 23
加藤 当 明 公
伊東 当 明 公
山田 早 公 当
佐藤 早 当 明
井上 公 当 明
と言うような感じです(ズレて表示されていたらすみません)
これをsheet2にわかりやすく反映させたいと思っています。
    21 22 23
夜勤 加藤 佐藤 山田
夜勤 伊東 井上
早出 山田 
早出 佐藤
公休 井上 山田 加藤
公休       伊東
というような感じでその日の夜勤者の枠に名前を反映させたいと思っているのですがなかなかうまくいきません。
わかりづらい文章で申し訳ありませんが、ご教授いただければありがたいです。よろしくお願いします

A 回答 (6件)

No3です



No4様のご指摘はごもっともなので、改良版(?)を。
・・とは言っても、No3で述べたように使い物になる式とも思えないので、改良する必要はないのかも知れませんけれど。

式中の
 MOD(ROW(A2),2)+1
の部分を
 COUNTIF($B$9:$B9,$B9)
に変えれば、B列の項目の順序や出現回数を可変にすることができます。
質問文に提示されている内容にもともと不明点があるので、若干でも短くなる式にしてありました。

まぁ、こちらも、あくまでも「ご参考までに」ですけれど・・・
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。
教えていただいた関数を参考に作業効率を上げていけたらとおもいます。

お礼日時:2021/07/25 13:01

日・当・明・早・公と夜勤・早出・早出・公休が合わないんですが、


日勤・夜勤・早出・公休で、夜勤の翌日は明休でしょうか。明はかならず夜勤の直後に来るのであえて書かないということですか。また、日勤は、何も表示のない場合で夜勤明けでない場合なのでこれもあえて書かないということですか。表の見方に慣れていないと休んでしまいそうです。
一応勝手な解釈で進めます。
さて、この表を見る人は誰なんでしょうか。
①勤務する人。この場合、他の人の勤務体制はあまり関心がない(ペアを組む人が誰かは少し気になるかも)ので、シート1で自分の行を横に見渡すと思います。
②この勤務体制の職場の管理職(派遣先かも)。ある特定の日に誰が勤務するかはあまり興味がないと思いますので、シート1でも構わない。
③今日は誰が勤務日かなと思う人。今日は興味があっても明日や機能には興味ありませんので。「本日の勤務体制」という黒板(早出・日勤・夜勤位の表)に、毎日シート1を見て名前ラベルをペタっと張るくらいでいい。
少し強引ですが、不要な作業を辞めることが一番の事務改善です。
参考までに。
    • good
    • 0
この回答へのお礼

うーん・・・

わたしの才能無い文章にご回答いただきありがとうございます。
誰が見るものなのか?従業員に決まってます。
不要な作業は辞めることが一番とは至極ごもっともでございますが、私なりにエクセルでの作業効率を高めようと質問をさせて戴きました。Excel以外に何か良い方法がありますか?とは質問していません。
今後教えて!gooに質問をする機会がある時は回答していただく方にもっとわかりやすい内容にするよう気をつけたいと思います。
ありがとうございました

お礼日時:2021/07/25 12:59

いつもfujillinさんには、感心してしまいます。


簡易にできて、素晴らしいです。
この方法は falseやtrueを積極的に活用するので、私などにはなかなか思いつかず、たいていは作業領域をたくさん使ってやるか、マクロでこしこしやろうとしてしまいます。
今回も業領域をたくさん使ってやりましたが、その方法を、このサイトで示そうとすると、その方法の方が大変なので止めていました。
なお、No.3の式のままだと、夜勤が3,4人といるときに、対応出来ません。「参考までに」なので、それでもいいのかもしれませんが、質問者さんが参考を読み解いて、応用するのが大変そうです。
補足ですが、勤務の割り当て人数枠が多い場合にどこを変えるのか、添付図で示しました。

銀鱗さんが、次のように書かれています。
「それができたなら、これもできるだろ?」
と別の作業をやらされますよ。
Excelで何か作るのか仕事なら、それはそれで良いのですが、
本来の仕事でないなら断るのもアリです。

私は、次の作業をやらされるはめに陥っても、良いのではないかと思っています。「本来の仕事」という枠で自分の殻を作って手を出さないよりは、いろいろと試し、失敗も、苦労もしても、何かにチャレンジしたり、知ったりすることは人生を豊かにしてくれると思います。 ただただ質問サイトで回答をもらってコピーしているだけの人もいたりするので、それは困りものですが、この方は、そうではなさそうです。 
ただ、今回のは、理解が、、、  
これの結果を、少々改変するとか、これもできるだろ?への対応の中には、やれることがありそうに思います。
「シフト作成 別シート反映」の回答画像4
    • good
    • 1
この回答へのお礼

参考にさせていただきスキル向上につなげたいと思います。ありがとうございました

お礼日時:2021/07/25 12:47

こんにちは



>なかなかうまくいきません。
できないことは無いと思いますけれど、ご質問の状態だとすぐに破綻するのが目に見えるような気がします。

とは言え、批判だけしていても回答にはならないので・・・
・Sheet2のセル位置が不明ですけれど、日付欄はSheet1と同様で、
 B9:B14に「夜勤」等の文字があるものと仮定しました。
・ご質問文にご提示以外の内容に関しては不明なので対応していません
 (質問者様には当たり前のことでも、回答者には不明ですので)

以下、ご参考までに。
添付図では、Sheet2のD9セルに
=IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,ROW(D$9:D$24)/(Sheet1!D$9:D$24=IF($B9="","$",IF(LEFT($B9,1)="夜","当",LEFT($B9,1)))),MOD(ROW(A2),2)+1))&"","")
の関数式を入力し、右方、下方にフィルコピーしてあります。
「シフト作成 別シート反映」の回答画像3
    • good
    • 1

素人の考えです。

すいません。
勤務時間と名前はまず手書きですよね。
手書きしたら、その2列をコピーしてどこかに貼り付けましょう。
そして、その2行を並べ替えます。
勤務時間に合わせて名前が並びますよね。
コピーして貼り付けましょう。
ただ、一日ごとなしなければならないけどね。
間違いは、減るかなというレベルですけどね。
    • good
    • 0

一つずつ手作業で書き込んだ方が早いと思います。



ここで数式やマクロを示しても、その内容を理解できず仕様が変わった時に自力で対応できなくなりますからね。

それに、
「それができたなら、これもできるだろ?」
と別の作業をやらされますよ。
Excelで何か作るのか仕事なら、それはそれで良いのですが、
本来の仕事でないなら断るのもアリです。

・・・

書き写すときにSheet1の日付の列を記号順に並べ替えて、その結果の名前の列をコピーしてSheet2へ貼り付ければ良いでしょう。
そして次の日付の列でも同じことを繰り返す。
貼り付け終わったら並べ替えを解除するのを忘れないようにね。
あとはSheet2の項目を順に並べ替えるだけです。

この時、各項目の人数が最大2人になるなら、人数が足りなければ名前の欄にダミーのセルを用意してそこに足りない記号を入れておきましょう。

     21 22 23
 加藤  当  明  公
 伊東  当  明  公
 山田  早  公  当
 佐藤  早  当  明
 井上  公  当  明
  ー  公  公  当 ←こんな感じに追加。
  ー  明  早  早 ←こんな感じに追加。
  ー  明  早  早 ←こんな感じに追加。

21日の列を昇順で並べ替えると以下のようになるので、名前の範囲をコピーしてSheet2の該当箇所へ貼り付け。

     ┏━この日付の列を並べ替え
     21 22 23
  ー  明  早  早
  ー  明  早  早
 井上  公  当  明
  ー  公  公  当
 加藤  当  明  公
 伊東  当  明  公
 山田  早  公  当
 佐藤  早  当  明
  ┗━この名前の範囲をコピー

同じことを22日、23日にも行う。

Sheet2には

     21  22   23
 明   -  加藤 佐藤
 明   -  伊東 井上
 公 井上 山田 加藤
 公   -   ー   伊東
 当 加藤 佐藤 山田
 当 伊東 井上  ー 
 早 山田  ー  ー 
 早 佐藤  ー  ー 

の順に名前が並ぶので、あとは行を入れ替えるだけです。

    21   22  23
 夜勤 加藤 佐藤 山田
 夜勤 伊東 井上
 早出 山田 
 早出 佐藤
 公休 井上 山田 加藤
 公休       伊東
 明け    加藤 佐藤
 明け    伊東 井上

そして「-」を削除すれば終わり。(置換で一気に消せます)
多少手を加えたSheet1も戻すことを忘れないようにしましょう。

・・・

手作業ですが、間違えることなく、しかも簡単に写し取ることができますよ。
ぶっちゃけこういったやり方を思いつかない限り、数式やマクロは作れません。
なぜなら、こういった手順を再現する数式やマクロを作るからです。
ですので「まずは手作業で横着できる方法」を学ぶことから始めましょう。


・・・余談・・・

教えて!gooの投稿では、
 ・連続した半角スペースは1つの半角スペースに置き換えらる。
 ・行頭の半角スペースは削除される。
 ・文頭の全角スペースは削除される。
を念頭に入れて表を書くとイメージがずれることはありません。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。次回質問させていただく際に参考にさせていただきます。

お礼日時:2021/07/25 12:44

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

このQ&Aを見た人はこんなQ&Aも見ています