No.6ベストアンサー
- 回答日時:
こんにちは
ハーフ勤務のパターンは、ある日に休むのと同じ日に出勤との2通りあると思います。
それに、通常出勤を加えると全部で3パターンになるのでしょうか?
平日の数を数えて偶数か奇数かで判断できそうに思いますが、いずれにしろ、実用化するには祝日が入ったらどうするかとか、GWや正月休み等も考慮する必要が出てくるのではないかと想像しますので、最終的にはユーザ定義関数やマクロを利用することになりそうな気がします。
ともあれ、ご質問の範囲限定であれば条件付き書式でも対応できそうですので・・・
添付図で、
・2行目は日付がシリアル値で入っています。
・3行目はC3が =WEEKDAY(C2)の要領で曜日表示しています。
・土日は条件付き書式で色を変えてあります。
・表内の条件付き書式に以下を追加。C4セルの条件式として
=MOD(COUNTIFS($C$3:C$3,"<>1",$C$3:C$3,"<>7"),2)+1=$A4
という条件でグレー表示するように設定します。
この書式の、優先順位は「土日の設定」よりも低くしておきます。
※ 個人の勤務パターンを表す項目(A列)を作成しています。
数値(1または2)がハーフ勤務、未入力は通常勤務です
※ 実際には、別に氏名と勤務形態等を示すマスターがあって、そちらを参照するようなことになるのかも知れませんね。
回答ありがとうございますm(_ _)m
また、画像までつけていただき、ありがとうございます。とてもわかりやすかったです。
やはり祝日も除くと考えると難しいですよね...
No.11
- 回答日時:
NETWORKDAYS関数を使って初回出勤日から暦日までの営業日を求めて、偶数の場合、条件付き書式で塗りつぶし(休み)とします。
条件式は、こんな感じです。
=ISEVEN(NETWORKDAYS(初回出勤日,歴日,祝日の範囲))
ちなみに、土日祝については、別途、条件付き書式で塗りつぶされているものとします(上記の休みより優先的に)。
No.8
- 回答日時:
ANo6です。
>やはり祝日も除くと考えると難しいですよね...
祝日の情報を盛り込めれば、No6と同様の方法で算出することは可能です。
例えば、No6の添付図の3行目と4行目の間に、祝日か否かの表示がされているとか・・・(不要な場合は、その行は非表示にしておく)
祝日を表示するためには、別に祝日表を作成しておいて、それを関数等で参照する方法や、祝日の論理的な規則性を利用してプログラムで算出する方法などが考えられますが、それはそれで、今回のご質問とは関係のない内容になってしまいますので省略。
しかしながら、No6で提示した方法は(『限定』と書きましたように)表の初めから平日数を数えて偶数か奇数かで判断しているだけという、所詮、付け焼刃的な方法ですので、そのままだと、月が変わると同じ人でもパターンが逆転する可能性があるなどの欠点があります。
パターンの逆転防止だけであれば、その月の最初を偶数日と考えるか奇数日と考えるかを示すセルを一つ用意しておけば、それで済むことは済みますが・・・
とはいえ、まともに月にかかわらず継続的な使用を目標とするなら、4月からの平日数を計算することが必要になりそうです。
これを関数だけで処理しようとなるとかなり面倒になると思いますので、エクセルであればVBAを利用することになりそうな気がします。
(月ごとにシートが作成されていて、前の月のシートを参照するような工夫ができれば、No6の方法でもパターンの継続も可能ですが…)
また、まったくの想像ですが、ハーフ勤務のAさんとBさんがある日だけ都合で入れ替わる(代わりに出勤)ようなことは発生しないのでしょうか?
そのような場合にも対応できるようになさりたいのであれば、単純な条件付き書式では、難しいのではないかと想像します。
(これだけに限れば、表の作り方を工夫し、うまくルールを作成すれば可能そうですが…)
実際の使用を想像すると、いろいろな可能性がありそうに思いますが、それらにある程度までは対処できるようにしておかないと、せっかく作成しても『使えない道具』になりかねませんので・・・
回答ありがとうございますm(_ _)m
祝日の一覧はすでに作ってあるので、それで試してみます。
VBAは絶賛勉強中でして、まだ簡単なボタンくらいしか作れない私には難易度が高いです(^^;
シートは係ごとで分けていて複数になっているので、一ヶ月ごとにファイルで分ける予定です。
代わりに出勤というのは発生しないです。
とりあえず、土日祝に色をつけてあるので、お休みの日は各個人で色付けしてもらうという感じで使用していこうかと思っています。
No.2
- 回答日時:
例えば、先程の例で言うとE列に隠し列を作るとします。
0=出勤、1=休日 とフラグを決めます。
E1(見出し行)に、前月最後の日の出勤フラグを入れます。
※平日の最終日が出勤だった場合「0」休日だった場合「1」
E2=if(B2="土",1,if(B2="日",1,if(E1=1,0,1)))
E3=if(B3="土",1,if(B3="日",1,if(B2="日",if(E1=1,0,1),if(E2=1,0,1))))
E4=if(B4="土",1,if(B4="日",1,if(B3="日",if(E1=1,0,1),if(E3=1,0,1))))
後は、E4を下の行にコピーすると、休日としたい日が「1」になります。
あとは条件付き書式で、
数式に「=$E2=1」で書式設定をすれば出来るかと。
祝日が絡むと微妙ですが^^;
E行をフラグときめておけば、フラグをいじるだけで色が変わるかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今まで文字化けなく開けていたc...
-
スプレッドシートで指定された...
-
ExcelでASCを使って全角を半角...
-
マクロの処理が遅くなった
-
Excel関数について教えてくださ...
-
作成した数式を値として表示し...
-
エクセルの質問です。 F列からL...
-
エクセルでファイルの最終更新...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルのセル内に分数などの...
-
Excelの警告について
-
Microsoft 365Excelの見開きペ...
-
Excel関数について教えてくださ...
-
シートの情報を別のシートへま...
-
Excelマクロで空白セルを詰めて...
-
【マクロ】フォルダ内にあるPDF...
-
index関数の説明をお願いします。
-
重複しない値を取り出したい
-
エクセルの数式バーのフォント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報
banzaiA様
お返事遅くなってすみません。
5月の連休前の出勤日は2日のみでした。
が、気づくのが遅くて大変申し訳ないのですが、祝日があると休みの日と出勤日がずれる要するに一日置きのお休みではなく二日置きの可能性もあるということが判明しました。
他の職員さんもおそらく祝日で出勤日が変動すると思われるので、今回は土日祝日だけ色をつけてお休みの日は各自で入れてもらうことにします。
たくさんの方に回答していただき、本当にありがとうございましたm(_ _)m
知らなかった関数も知ることができて、とてもいい勉強になりました。
ベストアンサーは回答していただいた皆さんに差し上げたいのですが、そうもいかないので、画像までつけていただいたfujillin様に差し上げたいと思います。