• 締切済み

エクセルの関数の質問です。2

質問がわかりにくくて申し訳ございませんでした。 実は従業員の勤務時間の管理表を作成しているのですが、 シートの右側には出勤時間と退勤時間が入力してあります。 すると、予め設定されてある左側の時間帯の表に勤務時間が出る ようにしたいのです。 【時間】 7/8/9/10/11/12/13/14/15/16/17/18 ※「7」は7-8の労働時間の意 田中さん □□1 ■ ■ ■ ■ ■ ■ 1 □ □ 右側には「9」「17」と入力 佐藤さん □□□ □ □ 1 ■ ■ 1 □ □ □ 右側には「12」「16」と入力 業務開始時間帯と終了時間帯を表す関数が既に□■のセルには入っています。 □は空白もしくは「ゼロ」、■には「1」を返したいと思っています。 別に集計表を作っても良いので、何か方法はないでしょうか?  

みんなの回答

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

B1セルからM1セルまで時間 A2セルに従業員名 N2、O2セルに時間入力 B2セルからM2セルに結果表示 3行目以降は2行目と同等 というのであれば、  B2セルに次の数式を入力   =IF(AND($N2<=B$1,$O2>=B$1),"1","")  B2セルをM2セルまでコピー  B2セルからM2セルを選択した後下方向へコピー で可能です。 列に示されている時間と、入力された時間の大小関係を "<="、">=" でチェックして AND関数で●以上▲以下の判断をしています。 IF関数では上記の条件が成り立ったときに表示する文字を決定してます。 ただし、始業時間>就業時間となった場合は考慮していません。 この場合全て空白になります。 かなり大雑把な表ですので、時間入力に"分"まで入力したいなど要望が出ると思います。 その場合は上記の数式の意味をよく考えて自身で修正してください。

REDEYE1017
質問者

お礼

大変助かりました!!すごく丁寧な解説。非常に分かりやすかった です。本当にありがとうございました!!