• ベストアンサー

エクセルで勤務時間計算における条件式をつくりたいのですが…

i_septemberの回答

回答No.2

多分VBA(マクロ)を使わないと上手く出来ないと思います。 入力シートVBEへ下記を複写してみて下さい。 VBEの使い方はatl+pf11で起動して ⇒オブジェクトエクスプローラを表示させ ⇒入力するシートをダブルクリックです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim strW As String '文字はスキップ If Not IsNumeric(Target.Value) Then Exit Sub End If '時間外はスキップ If Target.Value < 0 Or Target.Value > 2359 Then Exit Sub End If '5文字以上はスキップ If Len(Target.Value) >= 5 Then Exit Sub End If ' イベントを停止 Application.EnableEvents = False '桁合わせ Select Case Len(Target.Value) Case 1 strW = "000" & Target.Value Case 2 strW = "00" & Target.Value Case 3 strW = "0" & Target.Value Case 4 strW = Target.Value End Select '時間編集 strW = Left(strW, Len(strW) - 2) & ":" & Right(strW, 2) 'データセットとエラー表示 If IsDate(strW) Then Target.Value = strW ' '時間値セットの確認 If InStr(Target.Text, ":") = 0 Then MsgBox "入力値は時間に変更できませんでした。" & strW Target.Value = Null End If ' Else MsgBox "入力値は時間に変更できません。" & strW Target.Value = Null End If ' イベントを開始 Application.EnableEvents = True End Sub

mamu-
質問者

お礼

i_september様 ありがとうございます。お礼がおそくなり申し訳ありません。 只今、別件でバタバタしておりましてこちらの作業に手が回らないでいます。初めての言葉?技?で目をパチパチさせていますが、じっくり勉強しトライさせて頂こうと思います。

関連するQ&A

  • エクセルで深夜勤務の時間計算

    こんにちは。 今、会社でエクセルを使った勤務表を作成しています。 出社時間(D1)、退社時間(F1)、休憩時間(G1)をそれぞれセルに入力すると、実働時間(H1)が表示されるようにしていたのですが、 深夜勤務時間のセルに夜22:00から朝5:00の間に勤務した時間を抽出して表示したいと思っています。 例として、出社時間を「9:00」、退社時間を「24:00」、休憩時間を「1:00」と入力した場合、実働時間「14:00」深夜勤務時間に「2:00」という風に計算して表示させたいのです。 深夜勤務時間にはどういった計算式をいれればいいでしょうか? よろしくお願い致します。

  • エクセルで時間計算(勤怠)の仕方を教えて!!

    エクセルを使って、勤怠時間表を作りたいんです。 <決まりごと> 始業時間…後の時間で30分単位(例 8:47→9:00、9:12→9:30) 終業時間…前の時間で30分単位(例18:20→18:00、19:59→19:30)休憩時間…1時間    残業時間…18:00以降、30分単位 深夜残業…22:00以降、30分単位 ※9:15に始業18:15に退社だと、実働時間は7.5時間で残業は0です。 例えば A始業時間 B終業時間 C実働時間 D通常残業 E深夜残業   9:17   22:40   12.0H   4.0H    0.5H AとBを入力すれば、C~Eがでてくる、というエクセルの計算式を教えて下さい。  

  • エクセル関数で給与の計算について

    エクセルの関数を使って、出社時刻と退社時刻、休憩時間を入力するだけで日給が求められるようにしたいのですが、どうしてもうまく計算されません。 始業時間 10:00  時給 1,000 終業時間 17:00  残業割増 100 休憩    1:00  休日割増 100 と決まっていて、平日に残業がある場合、休日出勤で残業がある場合、残業はない場合などがありますので、それらの条件での日給を求めたいのです。 表には、A1からK1までに下記のような項目と値になっています。   日付 曜日 出社時刻 退社時刻 出社  退社  休憩  6/1  土  9:45  18:25   10:00 18:15 1:00 残業  時間  実働時間  日給 1:30  8:30 8.50 9,200 Eの出社には、15分単位で切り上げた値を、Fの退社には、15分単位で切り捨てた値がでるようにして、Iの時間には、「F-E-G+H」、Jの実働時間には、シリアル値を時間と分に変換する計算になっています。 日給がうまく計算される方法は無いでしょうか? 教えてください。お願いします。

  • 実働時間の計算(エクセル)

    こんにちは エクセルで出勤簿を作りたいのですが、上手く行きません。 やりたいことは、こんな感じです。 始業時刻 終業時刻 休憩時間 実働時間(分) 09時53分 18時08分 1時間14分 421分 実働時間を分で出したいのですが、うまくできません。 どなたか教えていただけないでしょうか? よろしくお願いします。

  • エクセル関数で深夜勤務の計算

    エクセルで社内の勤務表を作成しています。深夜勤務の時間計算の関数がわかりません。教えていただけないでしょうか? 条件 1.深夜時間は22:00~05:00 2.始業、終業時間が深夜時間のみになる事もある 3.休憩時間も含めて計算したい。 例 1|   A |  B  |  C |  D  |  E |  F |  G | 2| 始業| 終業 | 再入| 再終|休憩| 実働|深夜 3| 9:00 |23:00 | 2:00 | 6:00 |2:00 |16:00| 宜しくお願い致します。

  • 会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)

    会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)関数の知識がありません。 こちらでいろいろ検索しましたが、求めているものがなかったので質問をさせていただくことにしました。 ご教授お願いいたします。 現在、実働時間⇒=IF(B1="","",A1*24-B1*24-D1)と入力しています。 始業時間と終業時間を入力すると実働時間、実働時間が17:45を超えたら普通残業、22:00~翌5:00は深夜残業としたいのです。 日勤勤務は9:00~17:45、夜勤は17:30~翌9:00です。夜間勤務では1.25の休憩があるため実働時間は5.75となります。 また遅刻早退の時間数を求める関数も入れたいです。 24時間体制での仕事なので深夜の時間に対応したものを求めたいのです。 すべての欄の合計値は7:45とかの表示ではなく7.45という表記にしたいです。  始業時間 終業時間 休憩時間 実働時間 普通残業 深夜残業 遅刻/早退  9:00   17:45   1:00  17:30   翌9:00   休憩時間は標準の書式設定[1]になっています。 初めて質問させていただくので、わかりにくいかと思いますがどうかよろしくお願いいたします。

  • エクセルでタイムカード計算

    初心者です。エクセルで次のような計算をしたいのですが 基本の 始業時間19:00  終業時間1:10 で 実働 5:30 です 21:00~21:20 まで20分休憩を引きます 23:10~23:30 まで20分休憩を引きます 19:00より前は早出になります 1:20から残業ですが2Hに10分ずつ休憩が入ります 残業は30分単位です   それで第2の設定として A 19:00~21:59 普通時間(早出含む) B 22:00~1:10  普通残業 C 1:20~      深夜残業   作成したい表は 始業時間と 終業時間をいれると A(定時だと2:40) B(定時だと2:50) C               と3段階で表示されるものです 何とかできないでしょうか? フリーソフトも色々みたのですが? 困っています 宜しくお願いいたします

  • 【エクセル】休憩時間をマイナスし、実働時間の計算

    社員のタイムカードをエクセルに打ち込んで管理することになりました。 (お給料にかかわるものではなく、統計目的です。) 上司から「何時に出社し、何時に帰社し、実働何時間かをひと目でわかるようにお願いね。」と言われたのですが…その「実働時間」で悩んでいます。 タイムカードをつけている社員は皆、出来高制での契約の人たちのため、出社時間も帰社時間もバラバラです。5分単位で記録します。定められた休憩時間は10時から15分、お昼に45分、15時から15分です。(この時間は必ず休憩としてカウントするため、例えば9時50分に出社してきた社員も、10時からの15分間は休憩としてカウントしなくてはなりません。) 以上のことを考慮して表を作ると…実働時間を計算するのが難しくて…。問題は、この定められた休憩時間にその社員が出社していたか否かで休憩時間が違ってくる点です。お昼を挟まないことは滅多に無いので、それは例外として個々に処理しても良いのですが、10時と15時が大問題なのです。一人一人計算すれば済む話ではあるのですが、これから半年前まで遡って入力を始めるので出来れば出社・帰社時間を入力するだけで実働時間が表示されるように入力フォームを作りたいと思っています。 名前 09 50 16 00 実働時間 名前 11 00 18 30 実働時間 このような表が理想です。一列で9:50とせず、二列使って09 50としたいのです。なにか上手い方法は無いでしょうか?朝から考えているのですがいい方法が思いつきません… 長くなりましたが上手く説明出来ているか不安です。 不明な点は補足します。よろしくお願いします。

  • 統計時間の出し方

    以前質問させていただいたのですが、私のやり方がおかしいのか? 上手くできません。すみませんがもう一度質問させてください。 エクセルにてパートさんの勤務時間の管理をするのですが、 C5に始業時間、D5に終業時間、E5に休憩時間、F5に実働時間、を入力しています。 時間表示は、9時出社なら9:00 17:45退社なら17:45  休憩が30分なら0:30で表示しています。時間の区切りは15分単位です。 そこで、実働時間のセルF5に =IF(AND(C5="",D5="",E5=""),"",IF(D5-C5-E5<"1:00"*1,TEXT(D5-C5-E5,"[m]分"),TEXT(D5-C5-E5,"[h]時間mm分"))) と入力しておくと実働時間が出ます。 合計何時間働いたかの統計を取ろうとしたのですが、最終行F35にてオートSUMを実行すると0:00と表示されてしまいます。 ○○時間○○分と表記させたいのですが・・・。 以前 「セルの書式設定→表示形式タブ→ユーザ定義で[h]:mmを入力して下さい。」 との回答を頂いたのですが上手くできません。 素人質問で申し訳ありませんが宜しくお願いします。

  • 時間の合計計算ができません。

    給料計算の表なんですが、  A1  B1      C1     D1     E1      F1 日付 始業時刻 終業時刻 勤務時間 休憩時間 実働時間 と項目をつくりました。 終業時刻ー始業時刻=勤務時間とし、休憩時間は1時間と決まっているので、日付を入れた時点で自動入力されるように=IF(A1<>"","1:00","")といれました。すべてうまくいったと思ったんですが、E1のタテの合計が空白になってしまいます。 どう解消したらいいでしょうか? いい方法をご教授ください。お願いします。