• 締切済み

エクセルでタイムカードの遅刻回数を数えたい

エクセルでタイムカードを作っているのですが、遅刻、早退の回数や時間を入れる関数を教えてください。 (補足) ・出社、退社時間の入力方法が「○:○」ではなく「○.○」とドットで入力するようになっています ・外出時間は、手動で入力になっています(30分外出→0.5、15分外出→0.25、1時間外出→1) ・F列に「1」と入れるとG列に「遅出」、「2」と入れると「夜勤」と出るようにVLOOKが入っています (入れたい関数) ・B14~E14→遅刻、早退、外出などの回数 ・B15~D15→遅刻、早退、外出、左記の合計時間 ・B16~E16→例)0:15なら0.25、0:30なら0.5となるようにしたい(15行目に*24をすればOK?) ・D列→その日の、遅刻、早退の時間合計 (就業規定時間) 定時(8:30~17:15)、遅出(13:00~21:45)、夜勤(20:00~28:45)です。 上記以外の時間に出退社した場合が遅刻、早退になります

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

I列からL列までの作業列を作ってこちらが最初に示した式を使って操作を行っていませんね。 B14セルの式にしてもお示しの式では全く正常な値とはなりません。こちらの示した通りの方法と式を使って操作を行わない限りできないでしょう。 D2からD13までの値にしてもそれらのセルの表示形式は時刻で設定してくださいと言っているにもかかわらずおかしな数値が並んでといっています。それらの値はシリアル値が表示されているのです。D2セルからD13セルを選択してから右クリックして「セルの書式設定」から「セルの表示形式」を選んでその中の時刻から0:30になるような表示法を選んでください。 出社や退社の時刻を8.30のような入力から8:30の入力に改めるといった場合にはこれまで説明してきた方法は全く適用できません。 こちらが説明した方法をそのままの形で採用することができないのでしたらこれ以上説明しても意味が有りませんね。

naoyimomo
質問者

補足

この度は大変お世話になります。全くの素人ですので、最初に教えて頂いた通りのやり方と式、表示形式変更でやっているのですが、画像のような回答数字がでないのですが。教えていただいた内容で式を入れると、下記のような答えになってしまいます。 B14=0、C14=3、D14=0、B15=0:00、C15=3:50、D15=0:00、B16=0、C16=3.8333333、D16=0、D2~D13は、すべて0:00、K2~K13は、すべて8:30、L2=1:00、L7=0:50、L11=2:00 となっております。何度も、書かれた通りの内容で操作し、関数もこちらにかかれているのをコピペして使用しています。お忙しい中、本当に申し訳ございませんが、アドバイスのご協力をいただけると幸いです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

式が抜けていましたので追加します。 =IF(B2="","",(INT(TRIM(B2))&":"&ROUND(MOD(TRIM(B2),1)*100,0)&":00")*1) なお、前任者が時間の表示でドットを使っていたのでそれを崩したくないとのことで、出社や退社の時間の入力はそのままでよいにしても作業列を設けて対応することや、不就業時間を通常の:を使った時間表示にする、あるいはB15セルからD15セルの時間表示を:にするなどのことはエクセルを使って作業を進める上では当然のことでしょう。前任者の意向に沿った形の表示であることの方がむしろおかしいのです。あなたが改める方向でご検討ください。

naoyimomo
質問者

補足

画像の内容に、アドバイス頂いた数式を入れるとD列も14行目から16行目までも、全ておかしな値が出てしまうのですが、B列、C列の入力を「.」ではなく「:」で入力しなおさないと、数式には反応しないということなのでしょうか?ちなみに、今、14行目から16行目まで、定時の時間に関しては、遅刻や早退の時間は拾えています。例えばB14には「=COUNTIF(B2:B13,">8.30")」と入れてあります。ただ、これだと、夜勤や遅出の時間まで遅刻と数えられてしまう為、単純にこの式に追加で「F列が1の場合は13.00以降の回数をカウントする+F列が2の場合は20.00以降をカウントする」みたいな数式ってできないのでしょうか?15行目の数式に関しても同様で「F列が1の場合は13.00以降に出社した場合の遅刻時間、+F列が2の場合は20.00以降に出社した場合の遅刻時間を表示」という感じにできれば幸いなのですが。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 B2セルのデータが8.30(ドットが使われている)と入力されているのにI2セルではセルの表示形式を時刻から選んでも8:30のように表示されないということでしょうか? I2セルに入力する式を次のようにしてJ2セルまで横にドラッグコピーしたのちに13行目まで下方にもドラッグコピーしてみてください。

naoyimomo
質問者

補足

D列に式を入れるとエラーになってしまうのですが、なぜでしょうか?何度もすみません。入力方法に関しては、私も入社したばかりで、変えたいのですが、それはダメと言われており、仕方ないんです。すみません。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

小数点を使った出社や退社の時間の入力はエクセルの機能を有効に利用する上では最大の障害になっています。出来れば入力を8:30のような形にすることが望ましいでしょう。 上記の問題を解消するために作業列を設けて対応することにします。 例えばI1セルに出社、J1セルに退社、K1セルに遅刻、L1セルに早退の文字列をそれぞれ入力します。 I2セルには次の式を入力してL2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(B2="","",(INT(B2)&":"&ROUND(MOD(B2,1)*100,0)&":00")*1) セルの表示形式は「ユーザー定義」で種類の窓には [h]:mm と入力してOKします。 そこでD2セルには次の式を入力してD13セルまで下方にドラッグコピーします。 =IF(COUNT(K2:L2)=0,"",SUM(K2:L2)) なお、セルの表示形式は上と同じようにして 0:30 のように表示させます。 B14セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A1)<=2,COUNT(K2:K13),IF(COLUMN(A1)=3,COUNT($K2:$L13),IF(COLUMN(A1)=4,COUNT($E2:$E13),""))) セルの表示形式は標準です。 B15セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A1)<=2,SUM(K2:K13),IF(COLUMN(A1)=3,SUM($K2:$L13),"")) セルの表示形式は [h]:mm にして 8:00のように表示します。 B16セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A1)<=3,B15*24,"") セルの表示形式は標準にします。

naoyimomo
質問者

補足

コメントありがとうございます。実は「:」ではなく「.」を使うのは、テンキーを使って入力しやすいようにと、昔からのやり方のようで、変更できないのです(涙)なので、いただいた関数を入れてもエラーになってしまいます。何とか方法はないものでしょうか?ちなみに、不就業時間や、残業時間など他の部分は、「・」を使っていても自動計算をされ回答では「:」で表示されています。私は初心者で、前任の方が入れている関数を見てもさっぱりわからず、なるべく現状の表を崩さずに、追加で遅刻・早退の時間が出せないものかと調べています。よろしくお願いいたします

回答No.1

>・B14~E14→遅刻、早退、外出などの回数 ・B15~D15→遅刻、早退、外出、左記の合計時間 ・B16~E16→例)0:15なら0.25、0:30なら0.5となるようにしたい(15行目に*24をすればOK?) ・D列→その日の、遅刻、早退の時間合計 (就業規定時間) 定時(8:30~17:15)、遅出(13:00~21:45)、夜勤(20:00~28:45)です。 上記以外の時間に出退社した場合が遅刻、早退になります セルごとにテイギせよ! 勤務コードを全てテイギせよ! 就業時間の合計はイランの金?

関連するQ&A

  • 遅刻・早退時間の関数

    エクセル関数で、遅刻や早退をした場合の計算式を教えてください。ただし、少しややこしくて、E列に午前半休、もしくは午後半休とあればF列(遅刻・早退の時間)には計算されないようにしたいです。通常出社、遅出、夜勤とそれぞれシフトによって勤務時間が違う為、どのシフトであっても基本、午前半休は、3時間30分、午後半休は4時間15分の使用になります。E列が空白なら通常の遅刻、早退の時間が計算されるようにしたいです。 遅刻もしくは早退と午前休もしくは午後休を両方使う場合があります。その場合は、遅刻もしくは、早退の時間だけを表示したいです。

  • エクセルで勤怠表作成について教えてください

    エクセル2007を使っています。 エクセルで勤怠表を作成するのですが、問題点があるので お教え頂ければ幸いです。 1.交代勤務をしています。 早番・遅番・日勤・深夜勤があります。   この区別をしたいです。 2.遅刻、早退が多いので評価に反映させたいです。   極端ですが、1分の遅刻や早退でも、15分単位として勤務時間を減らしたいのです。 3.時間の表現は、通常「8」時間、15分単位としての遅刻、早退などがある場合は、 「7.75」時間、「7.5」時間というように勤務時間を表示したいのです。 A1列に出勤時間、B1列に退社時間というような標準的な入力としています。 よろしくお願いします。

  • エクセル関数について(合計回数)

    E2へ数字を入力すると E4へそれまでの合計回数が出るようにするには E4へどんな関数を入力したら良いのでしょうか? どなたか ご教授お願いします

  • タイムカード集計の条件に合う関数がわかりません

    タイムカードを集計するのにAと言う時はこの式、 Bと言う時にはこの式で計算したいのですがどのような関数になるのか教えて下さい。 具体的には・・・ 9時出勤・18時退社で休憩が、12時~1H、15時~0.25Hの場合 A1と言うセルに「A01」もしくは「P01」もしくは「N01」などローマ字が入る数字がある場合 退社時間-出勤時間(遅刻・早退は無視して総稼動時間が知りたい) A1のセルに「123」とローマ字がなく数字のみの場合 退社時間-出勤時間(遅刻・早退した場合分けて表示したい) 例)遅刻して残業した場合 10時~19時で勤務した場合 定時 6.75H 残業1Hと表示したいのです。 ローマ字がある時とない時で計算式を換える関数がどうも見つかりません。もしかするとこんな関数はありえないのでしょうか? 関数に関して無知なのでもしそのような式があるのであれば是非教えて下さい。 宜しくお願いします。

  • エクセルでどんな関数を使うといいんでしょうか?(出勤表での表示)

    出勤と退勤の時間で遅刻と早退の回数を表示したいのです。 フレックスや日勤と夜勤などの勤務ではないので 出勤時間と退勤時間は決まっています。 例えば 出勤時間が9:00で退勤時間が16:00と言う場合、 9時以降の出勤時間で”遅刻” 16時以前の退勤時間で”早退”と、なり 月の集計で遅刻と早退の回数をそれぞれに示す欄に表示されるには どんな関数を使うといいのでしょうか? 初心者なもんですみません。よろしくお願いします。

  • エクセルで連続回数などを調べたいです。

    エクセルで連続回数などを調べたいです。 なるべく簡単に出来る方法があればぜひ宜しくお願いします。 例えば      A列   B列 1行目   い    64 2行目   い   100 3行目   あ    30 4行目   あ    40 5行目   あ    20 6行目   い   -77 7行目   い -60 8行目   あ   -80 9行目   あ   -50 10行目   あ -100 ・    ・ ・    ・ ・ 800行目 というように数字が入っているとして、 1.A列が「あ」で、B列に「正」が連続で出てきた回数の最も多い回数を調べたい。  (A列が「い」の場合や、「正」では無く「負」の場合も) 2.さらに、1の結果それぞれの数字を合計したい。 というときはどんな式になりますでしょうか? 上の、1行目~10行目で言えば、 「あ」の場合の「正」の最大連続回数は「3」 「い」の場合の「正」の最大連続回数は「2」 「あ」の場合の「負」の最大連続回数は「3」 「い」の場合の「負」の最大連続回数は「2」 それぞれの合計数は 「あ」の「正」の最大連続回数「3」の合計数が「90」 ・・・・ のように出したいのです。 それぞれの答えを入力するセルは違います。 こちら、関数もよく分からない状態です・・・。 マクロなどは、「マクロ」という言葉しか分からない状態です。(すいません・・・) 大変お手数をおかけ致しますが、お詳しい方がいらっしゃれば、どうぞ宜しくお願いします。

  • エクセル関数のカウントについて教えてください

    画像をご参照ください。出社時間を手入力し、遅刻や早退があった場合は不就業時間に自動でマイナスの時間が入力されるように関数が入れてあります(ただし、遅刻早退がない場合は、0.00と見えない数字が計算されています)そして、別シート(例:sheet1)に不就業時間の回数を入れたいのですが、別シートへ【=COUNTA('sheet1'!Q9:Q39)】(Q9→1日、Q39→31日になります)と関数を入れると、31(31日という答えだと思われます)と計算されてしまいます。不就業時間の個数は、あくまでも遅刻早退があった場合のみの個数を計算されるようにしたいのですが、どのような関数を入れたらよいでしょうか?

  • Exelでのタイムカード作成について

    こんにちは。 添付した画像のようにタイムカードを作っているのですが、 項目が多く私には難しくて、なかなかうまく出来ず困っております。 どなたかExelや関数に詳しい方がいらっしゃいましたら 教えて下さると大変助かります。 希望は 1.社員1人につき1シートで、時間設定が社員によって違うので 時間設定の部分を変えれば皆に対応できるようにしたい。 2.普段の入力は(1)と(2)のみ、勤務時間中に外出があった場合のみ (2)に外出時間、(3)に戻り時間、(4)に最終的な退社時間を入力したい。 3.(7)~(10)は(1)~(4)の時間を自動で切り上げ、切り捨てしたい。 4.(11)は時間設定の基本の中でいた時間の合計をいれたい。 5.(12)、(13)は時間設定の残業、早出の中でそれぞれいた時間の合計をいれたい。 6.(14)は午前、お昼、午後でそれぞれ休憩があるので とった休憩時間をいれたい。 7.(15)には外出があった場合のみ外出していた時間の合計をいれたい。 8.(16)には(11)-(14)(外出があった場合は-(15))(残業があった場合には+(12)) (早出があった場合には+(13))を入れて勤務時間の合計を出したいです。 社員によって時間が違ったり、外出があったり、 休憩が複数あったりして項目や条件がたくさんあり、 大変申し訳ないのですが、お分かりになる方がいらっしゃいましたら どうか教えていただけないでしょうか‥‥。 よろしくお願いいたします!

  • エクセルでタイムカードを作っているのですが合計が出来ません

    エクセルでタイムカードを作っていますが、合計が出なくて困っています教えてください。 一つのシートで一分からの合計のものと、15分単位の合計のものと2種類だしたいのですが・・最後の15分単位の合計が出せません。 (1)一分単位で使用した関数【C2が20:03-B2が14:00-休憩時間0分で6:03と出るようにしました】 =C2(退勤時間)-B2(出勤時間)-TIME(0,D2,0) ※D2=休憩時間でセルの書式設定→表示形式[h]:mm で出た時間をオートSUMで合計 は普通に計算できました (2)15分単位で使用した関数【6:03を6:00・6:18を6:15で出るようにしました】 =FLOOR(E2,"0.15") ※E2=(1)のTIME関数でだした時間でセルの書式設定→表示形式・時間の13:30 で出た時間をオートSUMで合計すると出来ません。 たとえば(1)では合計が54:13ときちんと合計が出るのに(2)だと6:15になってしまいます。よくよく見てみると一日の仕事量が6:00だと三日分は18:00と普通にたせるのですが、5日(6:00×5)だと6:00と24時間分引かれた答えが出てしまうようです。これを24時間分引かれないようにする為にはどうしたらいいでしょうか? 長くなりましたが宜しくお願いします。

  • エクセル遅刻・早退時間関数について

    Excel2010 出勤簿の遅刻・早退時間について Excelで出勤簿を作成したいのですが、なかなか思うように作れません。 (1)遅刻時間の求め方について →所定内(残業時含)から実際出勤した時間との差を求めたい (2)早退時間の求め方について  →所定内(残業含)から実際退勤した時間を求めたい 下記の条件となります。 ■勤務時間は ※パターンA(通常):8:00~16:45(昼休0:45)⇒所定内8時間    (8:00~12:00(昼休み)12:45~16:45) ※パターンB(残業):8:00~19:00(昼休0:45/0:15) (8:00~12:00(昼休み)12:45~16:45(0:15休)17:00~19:00) 残業ある場合、16:45~17:00の15分を休憩し、17:00~19:00の2時間を残業とします。 ----------------------------------------------------------------------------------------- 【遅刻時間】と【早退時間】については、 添付ファイルにある、B5~D5/B12~D12の入力している数字になるように式を作りたい。 分かりにくい説明で申し訳ございませんが、 宜しくお願い致します。

専門家に質問してみよう