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

今現在社内での月ごとの当番表を作っているのですが、曜日に合わせて自動で入力できるようにしたいです。


      1  2  3  4  5  6  7  8  9
      月 火 水 木 金 土 日 月 火
社員1 A   ○    ○           ○

社員2 B     ○      ○

社員3 B     ○      ○

社員4 A   ○    ○           ○

横に日にちと曜日、縦に社員の名前とシフト名を並べています。
シフト名がAならば火、木当番。
Bならば水、土が当番という形で○をつけています。
そしてこのシフト名はEまである状況です。

社員数が30名ほどあるし、並び順は年齢順ですので一人ずつ入れると大変です。
客先への出張があって、来月はシフトAからDに当番変更ということがよくあったりします。

なのでこのシフト名を変えれば自動で曜日に合わせて○を入れてくれるようにしたいのです。

いろいろ考えましたが、自分ではどうしてもうまく作れません。
どうかよろしくお願いします。

A 回答 (4件)

No.3です!


たびたびごめんなさい。

前回の投稿で文章に誤りがありました。

>D4セル(表示形式はそのまま・・・

はD4セルではなく、C5セルの間違いです。

C4・C5セルを範囲指定しオートフィルで列方向にコピーしてください。
何度も失礼しました。m(__)m
    • good
    • 0

こんばんは!


一例です。

↓の画像のようにSheet2にシフト表を作成しておきます。
そして、Sheet1の日付・曜日はシリアル値にするために年・月を入力するセルを設けています。

Sheet1のC4セルの表示形式はユーザー定義から d とだけしておきます。
C4セルに
=IF(MONTH(DATE($A$1,$A$2,COLUMN(A1)))=$A$2,DATE($A$1,$A$2,COLUMN(A1)),"")
という数式を入れます。
D4セル(表示形式はそのまま「標準」で!)には
=IF(C4="","",TEXT(C4,"aaa"))
という数式を入れ、C4・D4セルを範囲指定しD4セルのフィルハンドル31日のAG列までオートフィルでコピー!

C6セルに
=IF(OR($B6="",C$5=""),"",IF(COUNTIF(OFFSET(Sheet2!$B$1:$C$1,MATCH($B6,Sheet2!$A$2:$A$5,0),,1),C$5),"○",""))
という数式を入れ列方向と行方向にオートフィルでコピーすると画像のような感じになります。
これで、B列のシフトを入れれば希望に近い形にならないでしょうか?m(__)m
「当番表をエクセルで作りたい」の回答画像3
    • good
    • 0

=IF(OR(AND($B3="B",OR(C$2="水",C$2="土")),AND($B3="A",OR(C$2="火",C$2="木"))),"○","")



こんな感じでEまで作成すればいかがでしょう
    • good
    • 0

普通に IF関数で良いんじゃないですか。



でもあえてコピー&ペーストのすすめ
各シフトに応じた○印を横一行入力したら表の横一行をまとめてコピーして、同じシフトの人のところへ貼り付ければOK。
これなら各シフトの分を一通り作ればあとはコピーして貼り付けていくだけです。
30人くらいの表なら人によってはこの方が楽で早くて確実かもしれない。
    • good
    • 1

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