• 締切済み

エクセルで勤務表を作りたいのですが・・・【再】

やはり、わからなくなってきたので、再度質問させていただきます。 使用ソフトEXCEL Ver2000 WinXP使用 今、EXCELにて勤務管理表を作成しているのですが、 関数を挿入する際にどの関数を使用すればいいのかいまいちわからないのでご教授いただけますでしょうか? まず、例として、セル列が A⇒日 B⇒曜日 C⇒区分 D⇒出社時間(1つのセルの中に「10:00」というように入力する) E⇒退社時間(              〃               ) F⇒休憩(15分単位で入力 例:1時間休憩なら⇒60) G~J⇒時間内(セルごとに結合させて使用)通常8時間以内であればこのセルに時間数を表示(例:6時間半勤務⇒6.5) K⇒時間外 8時間以上の勤務時間はこのセルに入力 (例:2時間45分残業⇒2.75) 以上のように入力を進めていきたいのですが、 まず、出社時間・退社時間は手入力となり、出社時間等を入力した際に自動入力で【休憩・時間内・時間外】を計算されるようにしたいのです。(休憩は60分と自動入力できれば嬉しいのですが・・・) 普通の計算式なら入れられそうにも感じたのですが、『休憩』は60進法『時間内・外』は10進法と少々ややこしいので、 わからなくなってしまいました。(こういう進法は会社でこのように入力するように言われました) 他の方の質問・回答など参考にさせていただいたのですが、A列に1:30と入力してB列に1.5と表示させるようにする関数の使い方は見かけたのですが、直接対象セルに表示させる方法を知りたいです。 以上の条件で、どの関数を使用すればよろしいでしょうか? その際の書式設定で変更しなければいけない点もございましたら合わせて教えていただけましたら幸いです。 =追記= この勤務表なのですが、私個人の勤務表になります。 派遣会社から毎月勤務管理シートを送付するように言われていて、エクセルのデータとしていただいていたものなのですが、その中には関数は何も入っていなかったので、作りやすいように関数を入れようと思い作成し始めました。(会社の許可済み) ・退勤時間も24時以降になることはありませんし、休憩なしということもありません。 よろしくお願いします(/_<。)

みんなの回答

  • meow2
  • ベストアンサー率66% (4/6)
回答No.4

わすれてました A⇒日 B⇒曜日 ユーザー定義 aaa 木 aaaa 木曜日 入力は2007/3/22です Aを参照すればいいでしょう 日にちの表記はわかりませんが 2007年3月22日(木曜日) ユーザー定義 yyyy"年"m"月"d"日""("aaaa")" 適当にはずせばいいと思います コメント 出勤に 2007/3/22 8:52:00 退勤も 2007/3/22 20:32:00 入力だけで、セル参照とユーザー定義で済みそうですよ IF使わずに、条件式書式なら空白にもなります

  • meow2
  • ベストアンサー率66% (4/6)
回答No.3

F⇒休憩(15分単位で入力 例:1時間休憩なら⇒60) ※印刷や表示を『15』『60』としたいだけですよね もちろん列はいじらない 1.セルの書式設定で 2.ユーザー定義 3.[mm] 4.入力は0:15=『15』、1:00=『60』、1:15 =>『75』 です(秒は入力不要です) 計算はそのまんま単純計算です G~J⇒時間内(例:6時間半勤務⇒6.5) 勤務の差ですよね =HOUR(cell)+MINUTE(cell)/60 K⇒時間外 (例:2時間45分残業⇒2.75) 8.00+2.75ということ? 8:00:00を途中で引けば差がでるとおもいますよ 蛇足 ユーザー定義はよく使います 123400000 ユーザー定義 0.0,,"百万";[赤]"▲"0.0,,"百万" 1.23百万 変に関数を使用すると本当の数字からどんどんかけ離れますからね 注意 ユーザー定義は固定する方法がありません(xlaなら可能) そのエクセルのbookでのみ有効です ですから、使いまわしにするかエクセルのテンプレートで保存して使用することをお勧めします  

  • wolis
  • ベストアンサー率45% (14/31)
回答No.2

1.ケース別に先ずは「G2」のセルから  1)ifを使わない式   =(E2-D2-F2*(TIME(1,,)/60))/TIME(1,,)   =(E2-D2-F2/(24*60))*24 と同じ意味ですが、こちらの方が分かり易いので  2)時間外になると空白にするif文追加   =IF((E2-D2-F2*(TIME(1,,)/60))>TIME(8,,),"",(E2-D2-F2*(TIME(1,,)/60))/TIME(1,,))  3)さらに時間未入力の場合にも空白にするif文追加   =IF(OR(D2="",E2=""),"",IF((E2-D2-F2*(TIME(1,,)/60))>TIME(8,,),"",(E2-D2-F2*(TIME(1,,)/60))/TIME(1,,))) 2.「K2」に入力する式   =IF(OR(D2="",E2="",G2<>""),"",(E2-D2-F2*(TIME(1,,)/60)-TIME(8,,))/TIME(1,,)) 休憩時間は15分単位で入力されるとのことでしたので、自動入力については未回答ですいません。 こんなイメージで宜しかったのでしょうか?

mimi_matsu
質問者

お礼

ご丁寧なご回答ありがとうございます☆ 早速試してみたいと思います♪ 休憩時間に関してなのですが、説明不足でした。 デフォルトで60分ですので、60分と自動入力できるようになれば助かるのですが、 いい方法はございますでしょうか? 間違えて、回答への補足に入力してしまいました。。

mimi_matsu
質問者

補足

ご丁寧なご回答ありがとうございます☆ 早速試してみたいと思います♪ 休憩時間に関してなのですが、説明不足でした。 デフォルトで60分ですので、60分と自動入力できるようになれば助かるのですが、いい方法はございますでしょうか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

時間内 G2=IF(OR(D2="",E2=""),0,ROUND(MIN((E2-D2-F2)*96,32),0)/4) 時間外 K2=IF(G2<8,0,ROUND((E2-D2-F2)*96-32,0)/4)

関連するQ&A