249542 | タイムカード計算 | 秘密 | 2005/03/29-11:33 |
メーカー名:富士通 OS名:WindowsXp パソコン名:FMV-6000SL -- タイムカード集計をエクセルで計算しようとしてるのですが、 まったくの初心者で計算方法がわかりません。 詳しく教えてください。m(__)m 基本の時間は8:30〜17:00なので、 退勤時間から出勤時間(8:30〜)を引いた合計を出すのですが、 休憩時間が10:00〜10:10 12:00〜13:00 15:00〜15:10とあるので、 この時間を合計から引きたいのですが・・・、 パート勤務者もいて、12:00で帰ったりと、 変則な時間になっているのでこの条件もクリアしたい。 あと時間は30分単位で計算したいです。 |
249553 | Re:タイムカード計算 | 白茶 | 2005/03/29-12:43 |
記事番号249542へのコメント こんにちは。 あくまで一例ね。 とりあえず休憩時間の引き方。 A2が日付 B2が出勤時間 C2が退勤時間 として、 D2に休憩時間を算出 D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) で、 E2にその日の勤務時間を出す。 E2 =C2-B2-D2 さて、 >あと時間は30分単位で計算したいです。 これはどの時点で30分単位にするのでしょうか? 1日の勤務時間を30分単位で区切る? 1ヶ月の合計勤務時間を30分単位で区切る? で、30分以下の端数は切り捨て? |
249556 | Re:タイムカード計算 | 秘密 | 2005/03/29-13:18 |
記事番号249553へのコメント 白茶さんは No.249553「Re:タイムカード計算」で書きました。 >こんにちは。 > >あくまで一例ね。 > >とりあえず休憩時間の引き方。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >として、 >D2に休憩時間を算出 >D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) > >で、 >E2にその日の勤務時間を出す。 >E2 =C2-B2-D2 > >さて、 >>あと時間は30分単位で計算したいです。 > >これはどの時点で30分単位にするのでしょうか? > >1日の勤務時間を30分単位で区切る? >1ヶ月の合計勤務時間を30分単位で区切る? > >で、30分以下の端数は切り捨て? > > |
249558 | Re:タイムカード計算 | 秘密 | 2005/03/29-13:32 |
記事番号249553へのコメント 白茶さんは No.249553「Re:タイムカード計算」で書きました。 >こんにちは。 > >あくまで一例ね。 > >とりあえず休憩時間の引き方。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >として、 >D2に休憩時間を算出 >D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) > >で、 >E2にその日の勤務時間を出す。 >E2 =C2-B2-D2 > >さて、 >>あと時間は30分単位で計算したいです。 > >これはどの時点で30分単位にするのでしょうか? > >1日の勤務時間を30分単位で区切る? >1ヶ月の合計勤務時間を30分単位で区切る? > >で、30分以下の端数は切り捨て? > > すみません、空の返事を送ってしまいました。 まず、30分単位というのは、7:59に出社しても、8:10に出社しても 8:30からの勤務となり、30分以下は切捨てになります。 それと、休憩時間算出の関数を入力してみたのですが、 00と表示され、計算されないので、勤務時間も00になってしまいました。 もう一度試してみますが、この方法以外ないでしょうか? |
249561 | Re:タイムカード計算 | 白茶 | 2005/03/29-13:59 |
記事番号249558へのコメント ども。 >休憩時間算出の関数を入力してみたのですが、 >00と表示され、計算されないので、勤務時間も00になってしまいました。 あれ?おかしいな。 セルの表示形式は「時刻」になってますか? 私の画面上ではバッチリ答えが出ますよ。 >30分単位というのは、7:59に出社しても、8:10に出社しても >8:30からの勤務となり、30分以下は切捨てになります。 では、さっきのE2を訂正 E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 これで 8:30〜17:00まで勤務した場合は、 E2="420" になると思います。この数字の単位は「分」です。 つまり「420分」 7時間10分の「10分」を切り捨てました。 |
249563 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:09 |
記事番号249561へのコメント 白茶さんは No.249561「Re:タイムカード計算」で書きました。 >ども。 >>休憩時間算出の関数を入力してみたのですが、 >>00と表示され、計算されないので、勤務時間も00になってしまいました。 >あれ?おかしいな。 >セルの表示形式は「時刻」になってますか? >私の画面上ではバッチリ答えが出ますよ。 > >>30分単位というのは、7:59に出社しても、8:10に出社しても >>8:30からの勤務となり、30分以下は切捨てになります。 > >では、さっきのE2を訂正 >E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 > >これで >8:30〜17:00まで勤務した場合は、 >E2="420" >になると思います。この数字の単位は「分」です。 >つまり「420分」 >7時間10分の「10分」を切り捨てました。 ありがとうございます。 休憩時間は、表示形式でバッチリ解決しました。 何度も申し訳ないのですが、420分の表示ではなく、 7時間30分か7.5時間という表示にはできないでしょうか? |
249567 | Re:タイムカード計算 | 白茶 | 2005/03/29-14:25 |
記事番号249563へのコメント はいはい。 >7時間30分か7.5時間という表示にはできないでしょうか? E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 の最後、"*30"を"/2"に訂正 E2="7.0" になると思います。 一まとめの式にしましょうか。 A2が日付 B2が出勤時間 C2が退勤時間 D2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 |
249573 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:37 |
記事番号249567へのコメント 白茶さんは No.249567「Re:タイムカード計算」で書きました。 >はいはい。 > >>7時間30分か7.5時間という表示にはできないでしょうか? > >E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 >の最後、"*30"を"/2"に訂正 >E2="7.0" >になると思います。 > >一まとめの式にしましょうか。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >D2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 > ありがとうございます。 だんだんと形になってきました。 関数もきちんと計算され、表示されました、 が、休みの日(出勤・退勤が入力されていない日が -8.5と出てしまって、合計時間がマイナスになってしまいます。 これは解決する方法があるのでしょうか? |
249578 | Re:タイムカード計算 | 白茶 | 2005/03/29-14:45 |
記事番号249573へのコメント 休みの日(出勤・退勤が入力されていない日が >-8.5と出てしまって、合計時間がマイナスになってしまいます。 >これは解決する方法があるのでしょうか? > IF関数で回避します。 B2の出勤時間に対しての条件式 IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) を IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) に訂正。 式を1本にすると =ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 |
249583 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:59 |
記事番号249578へのコメント 白茶さんは No.249578「Re:タイムカード計算」で書きました。 >休みの日(出勤・退勤が入力されていない日が >>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>これは解決する方法があるのでしょうか? >> > >IF関数で回避します。 >B2の出勤時間に対しての条件式 >IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >を >IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >に訂正。 > >式を1本にすると >=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 すごいです・・・・・。 もう目が点になりそうな関数ですね。 でも、でも、すべて計算ができているんですね。 ほんとにすごい・・・。 この際だから、全部聞いてしまっていいですか? 残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって 計算できません・・・? あと、深夜残業の算出もしたいのですが、 IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") この関数では、時間がでてこないのです・・・? もうひとつは、休日に出勤したときの カウントの方法があれば教えてください。 ややこしいことばかり言って申し訳ありませんが、 よろしくお願いします。 |
249597 | Re:タイムカード計算 | 秘密 | 2005/03/29-15:50 |
記事番号249583へのコメント 秘密さんは No.249583「Re:タイムカード計算」で書きました。 >白茶さんは No.249578「Re:タイムカード計算」で書きました。 >>休みの日(出勤・退勤が入力されていない日が >>>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>>これは解決する方法があるのでしょうか? >>> >> >>IF関数で回避します。 >>B2の出勤時間に対しての条件式 >>IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >>を >>IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >>に訂正。 >> >>式を1本にすると >>=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 > > >すごいです・・・・・。 >もう目が点になりそうな関数ですね。 >でも、でも、すべて計算ができているんですね。 >ほんとにすごい・・・。 > > >この際だから、全部聞いてしまっていいですか? >残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) >IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって >計算できません・・・? > >あと、深夜残業の算出もしたいのですが、 >IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >この関数では、時間がでてこないのです・・・? > >もうひとつは、休日に出勤したときの >カウントの方法があれば教えてください。 > >ややこしいことばかり言って申し訳ありませんが、 >よろしくお願いします。 > >すごい関数があることに、おどろいて、内容を書いていませんでした。 残業とは、17:00〜22:00の間のことをいいます。 深夜残業とは、22:00〜翌6:00までのことをいいます。 どうぞよろしくお願いします。 |
249616 | Re:タイムカード計算 | 秘密 | 2005/03/29-16:57 |
記事番号249597へのコメント 秘密さんは No.249597「Re:タイムカード計算」で書きました。 >秘密さんは No.249583「Re:タイムカード計算」で書きました。 >>白茶さんは No.249578「Re:タイムカード計算」で書きました。 >>>休みの日(出勤・退勤が入力されていない日が >>>>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>>>これは解決する方法があるのでしょうか? >>>> >>> >>>IF関数で回避します。 >>>B2の出勤時間に対しての条件式 >>>IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >>>を >>>IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >>>に訂正。 >>> >>>式を1本にすると >>>=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 >> >> >>すごいです・・・・・。 >>もう目が点になりそうな関数ですね。 >>でも、でも、すべて計算ができているんですね。 >>ほんとにすごい・・・。 >> >> >>この際だから、全部聞いてしまっていいですか? >>残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) >>IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >>パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって >>計算できません・・・? >> >>あと、深夜残業の算出もしたいのですが、 >>IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >>この関数では、時間がでてこないのです・・・? >> >>もうひとつは、休日に出勤したときの >>カウントの方法があれば教えてください。 >> >>ややこしいことばかり言って申し訳ありませんが、 >>よろしくお願いします。 >> >>すごい関数があることに、おどろいて、内容を書いていませんでした。 >残業とは、17:00〜22:00の間のことをいいます。 > >深夜残業とは、22:00〜翌6:00までのことをいいます。 > >どうぞよろしくお願いします。 > >白茶さま、どうかわかる範囲でいいので教えてください。 このまま行き詰ってしまって、先に動けない状態になってしまっています。 今日は5時で終業なので、また、明日連絡まっています。 お願いします。m(__)m |
249674 | まだ済んでなかったのね | 白茶 | 2005/03/29-20:51 |
記事番号249616へのコメント ごめんなさいね。 私も常にパソコンの前に居る訳じゃないもので。 ええっと・・・ 最初っから整理し直しましょうか。 A2に日付 B2に出勤時間 C2に退勤時間 が入力されてあるとして、 最終的には D2に休憩時間を引いた終日の勤務時間(残業も含む) E2に残業した時間 F2に深夜残業した時間 を算出することとします。 下ごしらえとして、 G2〜J2を集計エリアとして使います。 G2で出勤時間を補正 G2=IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) (8:30以前の出勤は8:30にする。且つ空白の場合は0を返す) H2で退勤時間を補正 H2=IF(C2="",0,IF(C2<TIMEVALUE("8:30"),C2+1,C2)) (24:00以降の時刻には24時間プラス。且つ空白の場合は0を返す) I2で、G2とH2から休憩時間を算出 I2=IF(AND(G2<TIMEVALUE("12:00"),H2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(G2<TIMEVALUE("10:00"),H2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(G2<TIMEVALUE("15:00"),H2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) J2で休憩時間を引いた終日の勤務時間(残業も含む)を算出 J2=IF(G2*H2=0,0,H2-G2-I2) (且つB2、C2どちらかが空白の場合は0を返す) で、仕上げに、 D2=ROUNDDOWN(J2/0.000694444444444444/30,0)/2 E2=ROUNDDOWN(IF(G2<=TIMEVALUE("17:00"),IF(H2<=TIMEVALUE("17:00"),0,IF(H2<=TIMEVALUE("22:00"),H2-TIMEVALUE("17:00"),TIMEVALUE("5:00"))),IF(G2<=TIMEVALUE("22:00"),IF(H2<=TIMEVALUE("17:00"),H2-G2,TIMEVALUE("22:00")-G2),0))/0.000694444444444444/30,0)/2 F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),0)/0.000694444444444444/30,0)/2 目一杯広げちゃいました。 セル参照で式を組み立てた方が説明し易いので。 式をつなげて列の消費を抑えたいのならお好きにどうぞ。 あえてオススメはしません。 同じ式をあちこちで何度も入力しないといけないし、 この方が仕組みが見えて分り易いでしょ。 |
249835 | ごめん訂正 | 白茶 | 2005/03/30-08:54 |
記事番号249674へのコメント ミス発見 深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 に訂正します。 |
249875 | Re:ごめん訂正 | 秘密 | 2005/03/30-11:35 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 本当にややこしい問題を解決してくださって、 ありがとうございました。m(__)m 仕事を頼まれた時はどうなることかと 思いましたが、白茶さんのおかげで なんとか乗り越えれそうです。 本当にありがとうございました。 がんばります!! |
249878 | Re:ごめん訂正 | 秘密 | 2005/03/30-11:39 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 ややこしい問題を解決してくださって、 ありがとうございました。m(__)m 仕事を頼まれたときは、どうなることかと 思っていましたが、白茶さんのおかげで 何とか乗り越えれそうです。 本当にありがとうございました。 がんばります!! |
250444 | Re:ごめん訂正(タイムカード計算について) | 秘密 | 2005/04/01-15:25 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 白茶さんへ またまた質問が出てきてしまいました。 今月の休み 3月21日(Mon) 4月2日(Sat) 4月9日(Sat) 4月16日(Sat) 時間数 深夜 G〜Jまでは関数が入っています。 日付 出勤 退出 小計 残業(22:00〜6:00) 3月21日(Mon) 0.0 0.0 0.0 3月22日(Tue) 8:15 17:05 7.0 0.0 0.0 3月23日(Wed) 0.0 0.0 0.0 3月24日(Thu) 0.0 0.0 0.0 3月25日(Fri) 0.0 0.0 0.0 3月26日(Sat) 0.0 0.0 0.0 3月27日(Sun) 0.0 0.0 0.0 3月28日(Mon) 0.0 0.0 0.0 今こんな感じで入力をしています・・・ 前に教えていただいた関数はバッチリ計算できています。 で、問題ですが、日曜日にあたる日を条件付書式設定で、 赤文字にしています。その赤文字の部分の小計だけを計算して、 合計時間を出すことは可能ですか? それと、日曜日以外の休日(今月の休み(1ヶ月4〜5日位))の 文字に色をつける設定をしてその色に対しての部分だけを 計算することは可能ですか? あと色別に日数が集計できればありがたいのですが・・・ またまた、またまたですが、よろしくお願いいたします。 |
250450 | Re:ごめん訂正(タイムカード計算について) | 秘密 | 2005/04/01-15:39 |
記事番号250444へのコメント 秘密さんは No.250444「Re:ごめん訂正(タイムカード計算について)」で書きました。 >白茶さんは No.249835「ごめん訂正」で書きました。 >>ミス発見 >> >>深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 >> >>F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 >> >>に訂正します。 > > > >白茶さんへ >またまた質問が出てきてしまいました。 > >今月の休み 3月21日(Mon) 4月2日(Sat) 4月9日(Sat) 4月16日(Sat) > > 時間数 深夜 G〜Jまでは関数が入っています。 >日付 出勤 退出 小計 残業(22:00〜6:00) >3月21日(Mon) 0.0 0.0 0.0 >3月22日(Tue) 8:15 17:05 7.0 0.0 0.0 >3月23日(Wed) 0.0 0.0 0.0 >3月24日(Thu) 0.0 0.0 0.0 >3月25日(Fri) 0.0 0.0 0.0 >3月26日(Sat) 0.0 0.0 0.0 >3月27日(Sun) 0.0 0.0 0.0 >3月28日(Mon) 0.0 0.0 0.0 > >今こんな感じで入力をしています・・・ >前に教えていただいた関数はバッチリ計算できています。 >で、問題ですが、日曜日にあたる日を条件付書式設定で、 >赤文字にしています。その赤文字の部分の小計だけを計算して、 >合計時間を出すことは可能ですか? >それと、日曜日以外の休日(今月の休み(1ヶ月4〜5日位))の >文字に色をつける設定をしてその色に対しての部分だけを >計算することは可能ですか? >あと色別に日数が集計できればありがたいのですが・・・ >またまた、またまたですが、よろしくお願いいたします。 > > よく考えれば、もし、色別で集計が可能であれば、4日分だけ 書式で色をつければいいんですよね・・・ でも、色でできないときはどうすれば・・・ やっぱり、愛の手を・・・・・ |
249621 | Re:タイムカード計算 | やまと | 2005/03/29-17:12 |
記事番号249597へのコメント >>この際だから、全部聞いてしまっていいですか? おしえて君は嫌われますよ? すこしは、自分で勉強しないと・・・。 こちらを参考にして下さい。 http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20050324174019]] |
◇-?タイムカード計算-秘密(2005/03/29-11:33)No.249542 ┗?~Re:タイムカード計算...-白茶(2005/03/29-12:43)No.249553 ┣?~!Re:タイムカード計算...-秘密(2005/03/29-13:18)No.249556 ┗?~-Re:タイムカード計算...-秘密(2005/03/29-13:32)No.249558 ┗?~-!Re:タイムカード計算...-白茶(2005/03/29-13:59)No.249561 ┗?~-!-Re:タイムカード計算...-秘密(2005/03/29-14:09)No.249563 ┗?~-!-!Re:タイムカード計算...-白茶(2005/03/29-14:25)No.249567 ┗?~-!-!-Re:タイムカード計算...-秘密(2005/03/29-14:37)No.249573 ┗?~-!-!-!Re:タイムカード計算...-白茶(2005/03/29-14:45)No.249578 ┗?~-!-!-!-Re:タイムカード計算...-秘密(2005/03/29-14:59)No.249583 ┗?~-!-!-!--Re:タイムカード計算...-秘密(2005/03/29-15:50)No.249597 ┣?~-!-!-!--?Re:タイムカード計算...-秘密(2005/03/29-16:57)No.249616 ┃┗?~-!-!-!--?!まだ済んでなかったの...-白茶(2005/03/29-20:51)No.249674 ┃ ┗?~-!-!-!--?!~ごめん訂正...-白茶(2005/03/30-08:54)No.249835 ┃ ┣?~-!-!-!--?!~【解決】Re:ごめん訂...-秘密(2005/03/30-11:35)No.249875 ┃ ┣?~-!-!-!--?!~【解決】Re:ごめん訂...-秘密(2005/03/30-11:39)No.249878 ┃ ┗?~-!-!-!--?!~?Re:ごめん訂正(タ...-秘密(2005/04/01-15:25)No.250444 ┃ ┗?~-!-!-!--?!~?-Re:ごめん訂正(タ...-秘密(2005/04/01-15:39)No.250450 ┗?~-!-!-!--!Re:タイムカード計算...-やまと(2005/03/29-17:12)No.249621
249542 | タイムカード計算 | 秘密 | 2005/03/29-11:33 |
メーカー名:富士通 OS名:WindowsXp パソコン名:FMV-6000SL -- タイムカード集計をエクセルで計算しようとしてるのですが、 まったくの初心者で計算方法がわかりません。 詳しく教えてください。m(__)m 基本の時間は8:30〜17:00なので、 退勤時間から出勤時間(8:30〜)を引いた合計を出すのですが、 休憩時間が10:00〜10:10 12:00〜13:00 15:00〜15:10とあるので、 この時間を合計から引きたいのですが・・・、 パート勤務者もいて、12:00で帰ったりと、 変則な時間になっているのでこの条件もクリアしたい。 あと時間は30分単位で計算したいです。 |
249553 | Re:タイムカード計算 | 白茶 | 2005/03/29-12:43 |
記事番号249542へのコメント こんにちは。 あくまで一例ね。 とりあえず休憩時間の引き方。 A2が日付 B2が出勤時間 C2が退勤時間 として、 D2に休憩時間を算出 D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) で、 E2にその日の勤務時間を出す。 E2 =C2-B2-D2 さて、 >あと時間は30分単位で計算したいです。 これはどの時点で30分単位にするのでしょうか? 1日の勤務時間を30分単位で区切る? 1ヶ月の合計勤務時間を30分単位で区切る? で、30分以下の端数は切り捨て? |
249556 | Re:タイムカード計算 | 秘密 | 2005/03/29-13:18 |
記事番号249553へのコメント 白茶さんは No.249553「Re:タイムカード計算」で書きました。 >こんにちは。 > >あくまで一例ね。 > >とりあえず休憩時間の引き方。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >として、 >D2に休憩時間を算出 >D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) > >で、 >E2にその日の勤務時間を出す。 >E2 =C2-B2-D2 > >さて、 >>あと時間は30分単位で計算したいです。 > >これはどの時点で30分単位にするのでしょうか? > >1日の勤務時間を30分単位で区切る? >1ヶ月の合計勤務時間を30分単位で区切る? > >で、30分以下の端数は切り捨て? > > |
249558 | Re:タイムカード計算 | 秘密 | 2005/03/29-13:32 |
記事番号249553へのコメント 白茶さんは No.249553「Re:タイムカード計算」で書きました。 >こんにちは。 > >あくまで一例ね。 > >とりあえず休憩時間の引き方。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >として、 >D2に休憩時間を算出 >D2=IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) > >で、 >E2にその日の勤務時間を出す。 >E2 =C2-B2-D2 > >さて、 >>あと時間は30分単位で計算したいです。 > >これはどの時点で30分単位にするのでしょうか? > >1日の勤務時間を30分単位で区切る? >1ヶ月の合計勤務時間を30分単位で区切る? > >で、30分以下の端数は切り捨て? > > すみません、空の返事を送ってしまいました。 まず、30分単位というのは、7:59に出社しても、8:10に出社しても 8:30からの勤務となり、30分以下は切捨てになります。 それと、休憩時間算出の関数を入力してみたのですが、 00と表示され、計算されないので、勤務時間も00になってしまいました。 もう一度試してみますが、この方法以外ないでしょうか? |
249561 | Re:タイムカード計算 | 白茶 | 2005/03/29-13:59 |
記事番号249558へのコメント ども。 >休憩時間算出の関数を入力してみたのですが、 >00と表示され、計算されないので、勤務時間も00になってしまいました。 あれ?おかしいな。 セルの表示形式は「時刻」になってますか? 私の画面上ではバッチリ答えが出ますよ。 >30分単位というのは、7:59に出社しても、8:10に出社しても >8:30からの勤務となり、30分以下は切捨てになります。 では、さっきのE2を訂正 E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 これで 8:30〜17:00まで勤務した場合は、 E2="420" になると思います。この数字の単位は「分」です。 つまり「420分」 7時間10分の「10分」を切り捨てました。 |
249563 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:09 |
記事番号249561へのコメント 白茶さんは No.249561「Re:タイムカード計算」で書きました。 >ども。 >>休憩時間算出の関数を入力してみたのですが、 >>00と表示され、計算されないので、勤務時間も00になってしまいました。 >あれ?おかしいな。 >セルの表示形式は「時刻」になってますか? >私の画面上ではバッチリ答えが出ますよ。 > >>30分単位というのは、7:59に出社しても、8:10に出社しても >>8:30からの勤務となり、30分以下は切捨てになります。 > >では、さっきのE2を訂正 >E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 > >これで >8:30〜17:00まで勤務した場合は、 >E2="420" >になると思います。この数字の単位は「分」です。 >つまり「420分」 >7時間10分の「10分」を切り捨てました。 ありがとうございます。 休憩時間は、表示形式でバッチリ解決しました。 何度も申し訳ないのですが、420分の表示ではなく、 7時間30分か7.5時間という表示にはできないでしょうか? |
249567 | Re:タイムカード計算 | 白茶 | 2005/03/29-14:25 |
記事番号249563へのコメント はいはい。 >7時間30分か7.5時間という表示にはできないでしょうか? E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 の最後、"*30"を"/2"に訂正 E2="7.0" になると思います。 一まとめの式にしましょうか。 A2が日付 B2が出勤時間 C2が退勤時間 D2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 |
249573 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:37 |
記事番号249567へのコメント 白茶さんは No.249567「Re:タイムカード計算」で書きました。 >はいはい。 > >>7時間30分か7.5時間という表示にはできないでしょうか? > >E2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-D2)/0.000694444444444444/30,0)*30 >の最後、"*30"を"/2"に訂正 >E2="7.0" >になると思います。 > >一まとめの式にしましょうか。 >A2が日付 >B2が出勤時間 >C2が退勤時間 >D2=ROUNDDOWN((C2-(IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 > ありがとうございます。 だんだんと形になってきました。 関数もきちんと計算され、表示されました、 が、休みの日(出勤・退勤が入力されていない日が -8.5と出てしまって、合計時間がマイナスになってしまいます。 これは解決する方法があるのでしょうか? |
249578 | Re:タイムカード計算 | 白茶 | 2005/03/29-14:45 |
記事番号249573へのコメント 休みの日(出勤・退勤が入力されていない日が >-8.5と出てしまって、合計時間がマイナスになってしまいます。 >これは解決する方法があるのでしょうか? > IF関数で回避します。 B2の出勤時間に対しての条件式 IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) を IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) に訂正。 式を1本にすると =ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 |
249583 | Re:タイムカード計算 | 秘密 | 2005/03/29-14:59 |
記事番号249578へのコメント 白茶さんは No.249578「Re:タイムカード計算」で書きました。 >休みの日(出勤・退勤が入力されていない日が >>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>これは解決する方法があるのでしょうか? >> > >IF関数で回避します。 >B2の出勤時間に対しての条件式 >IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >を >IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >に訂正。 > >式を1本にすると >=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 すごいです・・・・・。 もう目が点になりそうな関数ですね。 でも、でも、すべて計算ができているんですね。 ほんとにすごい・・・。 この際だから、全部聞いてしまっていいですか? 残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって 計算できません・・・? あと、深夜残業の算出もしたいのですが、 IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") この関数では、時間がでてこないのです・・・? もうひとつは、休日に出勤したときの カウントの方法があれば教えてください。 ややこしいことばかり言って申し訳ありませんが、 よろしくお願いします。 |
249597 | Re:タイムカード計算 | 秘密 | 2005/03/29-15:50 |
記事番号249583へのコメント 秘密さんは No.249583「Re:タイムカード計算」で書きました。 >白茶さんは No.249578「Re:タイムカード計算」で書きました。 >>休みの日(出勤・退勤が入力されていない日が >>>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>>これは解決する方法があるのでしょうか? >>> >> >>IF関数で回避します。 >>B2の出勤時間に対しての条件式 >>IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >>を >>IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >>に訂正。 >> >>式を1本にすると >>=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 > > >すごいです・・・・・。 >もう目が点になりそうな関数ですね。 >でも、でも、すべて計算ができているんですね。 >ほんとにすごい・・・。 > > >この際だから、全部聞いてしまっていいですか? >残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) >IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって >計算できません・・・? > >あと、深夜残業の算出もしたいのですが、 >IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >この関数では、時間がでてこないのです・・・? > >もうひとつは、休日に出勤したときの >カウントの方法があれば教えてください。 > >ややこしいことばかり言って申し訳ありませんが、 >よろしくお願いします。 > >すごい関数があることに、おどろいて、内容を書いていませんでした。 残業とは、17:00〜22:00の間のことをいいます。 深夜残業とは、22:00〜翌6:00までのことをいいます。 どうぞよろしくお願いします。 |
249616 | Re:タイムカード計算 | 秘密 | 2005/03/29-16:57 |
記事番号249597へのコメント 秘密さんは No.249597「Re:タイムカード計算」で書きました。 >秘密さんは No.249583「Re:タイムカード計算」で書きました。 >>白茶さんは No.249578「Re:タイムカード計算」で書きました。 >>>休みの日(出勤・退勤が入力されていない日が >>>>-8.5と出てしまって、合計時間がマイナスになってしまいます。 >>>>これは解決する方法があるのでしょうか? >>>> >>> >>>IF関数で回避します。 >>>B2の出勤時間に対しての条件式 >>>IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2) >>>を >>>IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) >>>に訂正。 >>> >>>式を1本にすると >>>=ROUNDDOWN((C2-(IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)))-(IF(AND(B2<TIMEVALUE("12:00"),C2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(B2<TIMEVALUE("10:00"),C2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(B2<TIMEVALUE("15:00"),C2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0)))/0.000694444444444444/30,0)/2 >> >> >>すごいです・・・・・。 >>もう目が点になりそうな関数ですね。 >>でも、でも、すべて計算ができているんですね。 >>ほんとにすごい・・・。 >> >> >>この際だから、全部聞いてしまっていいですか? >>残業を求めるのに、この関数を入れていたのですが、(人に教わって・・・) >>IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >>パートさんなどで、17:00前に帰ってしまう人の、計算が#VALUEになって >>計算できません・・・? >> >>あと、深夜残業の算出もしたいのですが、 >>IF(COUNT(B6:C6)=2,IF(C6>TIMEVALUE("22:00"),TIMEVALUE("5:00"),FLOOR(--(TEXT(C6-"17:00","h:mm")),"0:30")),"") >>この関数では、時間がでてこないのです・・・? >> >>もうひとつは、休日に出勤したときの >>カウントの方法があれば教えてください。 >> >>ややこしいことばかり言って申し訳ありませんが、 >>よろしくお願いします。 >> >>すごい関数があることに、おどろいて、内容を書いていませんでした。 >残業とは、17:00〜22:00の間のことをいいます。 > >深夜残業とは、22:00〜翌6:00までのことをいいます。 > >どうぞよろしくお願いします。 > >白茶さま、どうかわかる範囲でいいので教えてください。 このまま行き詰ってしまって、先に動けない状態になってしまっています。 今日は5時で終業なので、また、明日連絡まっています。 お願いします。m(__)m |
249674 | まだ済んでなかったのね | 白茶 | 2005/03/29-20:51 |
記事番号249616へのコメント ごめんなさいね。 私も常にパソコンの前に居る訳じゃないもので。 ええっと・・・ 最初っから整理し直しましょうか。 A2に日付 B2に出勤時間 C2に退勤時間 が入力されてあるとして、 最終的には D2に休憩時間を引いた終日の勤務時間(残業も含む) E2に残業した時間 F2に深夜残業した時間 を算出することとします。 下ごしらえとして、 G2〜J2を集計エリアとして使います。 G2で出勤時間を補正 G2=IF(B2="",0,IF(B2<TIMEVALUE("8:30"),TIMEVALUE("8:30"),B2)) (8:30以前の出勤は8:30にする。且つ空白の場合は0を返す) H2で退勤時間を補正 H2=IF(C2="",0,IF(C2<TIMEVALUE("8:30"),C2+1,C2)) (24:00以降の時刻には24時間プラス。且つ空白の場合は0を返す) I2で、G2とH2から休憩時間を算出 I2=IF(AND(G2<TIMEVALUE("12:00"),H2>TIMEVALUE("13:00")),TIMEVALUE("1:00"),0)+IF(AND(G2<TIMEVALUE("10:00"),H2>TIMEVALUE("10:10")),TIMEVALUE("0:10"),0)+IF(AND(G2<TIMEVALUE("15:00"),H2>TIMEVALUE("15:10")),TIMEVALUE("0:10"),0) J2で休憩時間を引いた終日の勤務時間(残業も含む)を算出 J2=IF(G2*H2=0,0,H2-G2-I2) (且つB2、C2どちらかが空白の場合は0を返す) で、仕上げに、 D2=ROUNDDOWN(J2/0.000694444444444444/30,0)/2 E2=ROUNDDOWN(IF(G2<=TIMEVALUE("17:00"),IF(H2<=TIMEVALUE("17:00"),0,IF(H2<=TIMEVALUE("22:00"),H2-TIMEVALUE("17:00"),TIMEVALUE("5:00"))),IF(G2<=TIMEVALUE("22:00"),IF(H2<=TIMEVALUE("17:00"),H2-G2,TIMEVALUE("22:00")-G2),0))/0.000694444444444444/30,0)/2 F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),0)/0.000694444444444444/30,0)/2 目一杯広げちゃいました。 セル参照で式を組み立てた方が説明し易いので。 式をつなげて列の消費を抑えたいのならお好きにどうぞ。 あえてオススメはしません。 同じ式をあちこちで何度も入力しないといけないし、 この方が仕組みが見えて分り易いでしょ。 |
249835 | ごめん訂正 | 白茶 | 2005/03/30-08:54 |
記事番号249674へのコメント ミス発見 深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 に訂正します。 |
249875 | Re:ごめん訂正 | 秘密 | 2005/03/30-11:35 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 本当にややこしい問題を解決してくださって、 ありがとうございました。m(__)m 仕事を頼まれた時はどうなることかと 思いましたが、白茶さんのおかげで なんとか乗り越えれそうです。 本当にありがとうございました。 がんばります!! |
249878 | Re:ごめん訂正 | 秘密 | 2005/03/30-11:39 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 ややこしい問題を解決してくださって、 ありがとうございました。m(__)m 仕事を頼まれたときは、どうなることかと 思っていましたが、白茶さんのおかげで 何とか乗り越えれそうです。 本当にありがとうございました。 がんばります!! |
250444 | Re:ごめん訂正(タイムカード計算について) | 秘密 | 2005/04/01-15:25 |
記事番号249835へのコメント 白茶さんは No.249835「ごめん訂正」で書きました。 >ミス発見 > >深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 > >F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 > >に訂正します。 白茶さんへ またまた質問が出てきてしまいました。 今月の休み 3月21日(Mon) 4月2日(Sat) 4月9日(Sat) 4月16日(Sat) 時間数 深夜 G〜Jまでは関数が入っています。 日付 出勤 退出 小計 残業(22:00〜6:00) 3月21日(Mon) 0.0 0.0 0.0 3月22日(Tue) 8:15 17:05 7.0 0.0 0.0 3月23日(Wed) 0.0 0.0 0.0 3月24日(Thu) 0.0 0.0 0.0 3月25日(Fri) 0.0 0.0 0.0 3月26日(Sat) 0.0 0.0 0.0 3月27日(Sun) 0.0 0.0 0.0 3月28日(Mon) 0.0 0.0 0.0 今こんな感じで入力をしています・・・ 前に教えていただいた関数はバッチリ計算できています。 で、問題ですが、日曜日にあたる日を条件付書式設定で、 赤文字にしています。その赤文字の部分の小計だけを計算して、 合計時間を出すことは可能ですか? それと、日曜日以外の休日(今月の休み(1ヶ月4〜5日位))の 文字に色をつける設定をしてその色に対しての部分だけを 計算することは可能ですか? あと色別に日数が集計できればありがたいのですが・・・ またまた、またまたですが、よろしくお願いいたします。 |
250450 | Re:ごめん訂正(タイムカード計算について) | 秘密 | 2005/04/01-15:39 |
記事番号250444へのコメント 秘密さんは No.250444「Re:ごめん訂正(タイムカード計算について)」で書きました。 >白茶さんは No.249835「ごめん訂正」で書きました。 >>ミス発見 >> >>深夜残業の式(F列ね)が夜勤の場合に対応していなかったです。 >> >>F2=ROUNDDOWN(IF(G2<=TIMEVALUE("22:00"),IF(H2>TIMEVALUE("22:00"),H2-TIMEVALUE("22:00"),0),IF(H2>=TIMEVALUE("22:00"),H2-G2,0))/0.000694444444444444/30,0)/2 >> >>に訂正します。 > > > >白茶さんへ >またまた質問が出てきてしまいました。 > >今月の休み 3月21日(Mon) 4月2日(Sat) 4月9日(Sat) 4月16日(Sat) > > 時間数 深夜 G〜Jまでは関数が入っています。 >日付 出勤 退出 小計 残業(22:00〜6:00) >3月21日(Mon) 0.0 0.0 0.0 >3月22日(Tue) 8:15 17:05 7.0 0.0 0.0 >3月23日(Wed) 0.0 0.0 0.0 >3月24日(Thu) 0.0 0.0 0.0 >3月25日(Fri) 0.0 0.0 0.0 >3月26日(Sat) 0.0 0.0 0.0 >3月27日(Sun) 0.0 0.0 0.0 >3月28日(Mon) 0.0 0.0 0.0 > >今こんな感じで入力をしています・・・ >前に教えていただいた関数はバッチリ計算できています。 >で、問題ですが、日曜日にあたる日を条件付書式設定で、 >赤文字にしています。その赤文字の部分の小計だけを計算して、 >合計時間を出すことは可能ですか? >それと、日曜日以外の休日(今月の休み(1ヶ月4〜5日位))の >文字に色をつける設定をしてその色に対しての部分だけを >計算することは可能ですか? >あと色別に日数が集計できればありがたいのですが・・・ >またまた、またまたですが、よろしくお願いいたします。 > > よく考えれば、もし、色別で集計が可能であれば、4日分だけ 書式で色をつければいいんですよね・・・ でも、色でできないときはどうすれば・・・ やっぱり、愛の手を・・・・・ |
249621 | Re:タイムカード計算 | やまと | 2005/03/29-17:12 |
記事番号249597へのコメント >>この際だから、全部聞いてしまっていいですか? おしえて君は嫌われますよ? すこしは、自分で勉強しないと・・・。 こちらを参考にして下さい。 http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20050324174019]] |