勤務時間帯ごとの社員が分かるシフト表
3人の社員の時間帯ごとの勤務が分かるシフト表を作ります。
勤務する時間帯には社員の名前を表示して、勤務しないときは空欄にします。
使用例
- サンプルデータの記入
- その1 氏名データ
<A2>から<A4>セルに下の氏名を入力します。
富山
秋田
石川
その2 出勤時刻
<B1>セルに<出勤>と入力します。
<B2>から<B4>セルに下の時刻を入力します。
10:00
11:00
12:00
その3 退勤時刻
<C1>セルに<退勤>と入力します。
<C2>から<C4>セルに下の時刻を入力します。
12:00
14:00
15:00
その4 勤務時間帯
<D1>から<H1>セルに下の時刻を入力します。
入力セルは横方向になることに注意してください。
10:00
11:00
12:00
13:00
14:00
- 式の入力
- 下の式を<D2>セルに入力します。
=IF(AND($B2<=D$1,$C2>D$1),$A2,"")
結果
D2セルに<富山>と表示されます。
- 式のコピー
- 1 縦方向にコピー
<D2>セルの式を<D3>から<D4>セルにコピーします。
2 横方向にコピー
<D2>セルの式を<E2>から<H2>セルにコピーします。
<D3>セルの式を<E3>から<H3>セルにコピーします。
<D4>セルの式を<E4>から<H4>セルにコピーします。
- 結果
- 勤務時間帯から下方向のセルは次の結果になります。
<D1>セルの<10:00>から下方向
<富山><空欄><空欄>
<E1>セルの<11:00>から下方向
<富山><秋田><空欄>
<F1>セルの<12:00>から下方向
<空欄><秋田><石川>
<G1>セルの<13:00>から下方向
<空欄><秋田><石川>
<H1>セルの<14:00>から下方向
<空欄><空欄><石川>
終わり
- 解説
- 下の説明は<D2>セルに入力した式で、結果は<富山>になっています。
<D2>セルに入力した式は下のものです。
=IF(AND($B2<=D$1,$C2>D$1),$A2,"")
上の式から絶対番地指定を外した下の式で説明をします。
=IF(AND(B2<=D1,C2>D1),A2,"")
下の説明は<D2>セルの式です。
その1
出勤時刻と勤務時間帯を比較しています。
B2(出勤時刻10時)<=D1(時間帯10時)
出勤時刻と時間帯が等しいか、または時間帯が大きいときは勤務と表示します。
その2
退勤時刻と勤務時間帯を比較しています。
C2(退勤時刻12時)>D1(時間帯10時)
退勤時刻より時間帯が小のときは勤務と表示します。
(退勤時刻が終われば勤務と表示しません)
その3
上の<その1>と<その2>の両方が成立することを条件にしています。
AND($B2<=D$1,$C2>D$1)
その4
IF関数で<その3>が成立したときは<A2>セルの値を表示、成立しないときは、空白>を表示します。
=IF(AND(B2<=D1,C2>D1),A2,"")
その5
式ができたら絶対番地の指定をします。
ここの式のように<縦と横>の両方向にコピーをするときは絶対指定に工夫が必要です。
(ここで説明は省略しまが、絶対指定の方法を変えて試してみてください)
原則的には列と行のうち、変化すると困る方向(列か行だけ)を絶対指定にします。
終わり