• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel:入力した時間が正当か判断する方法)

Excel:時間有給の正当性を判断する方法

このQ&Aのポイント
  • 勤務表に時間有給を導入する際、正しい入力を判断する方法について教えてください。
  • 有給時間の開始または終了時間の入力がうまくいかない場合、条件付き書式を使用して間違いを知らせたいです。
  • 勤務時間の頭または尻尾に時間有給の時刻を入力させ、正当性を確認したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.3

>>私の考えと同じで、条件書式に作ったからダメだったのか?  多分何らかの設定ミスや入力ミスだとは思います。ただこのあたりの切り分けのためにも、別個に判定セルを置くのがオススメでもあります。 (判定部分のミスか条件付き書式のミスかすぐ分かる)

hooue100
質問者

お礼

別枠で以下のような数式を設定し、それを条件付き書式で見るようにすると、うまく動いてくれているようです ありがとうございました =IF(OR(ISBLANK(H10),OR(H10=D10,H10<C10)),1,0) 開始時間

hooue100
質問者

補足

そうですね そのほうがわかりやすいし、メンテしやすい 肝心の条件書式はどうしたらいいか? 有給開始時間:勤務時間内はNGだけど、勤務終了時刻だけはOK 有給終了時間:勤務時間内はNGだけど、勤務開始時刻だけはOK これでいけるだろうか?

その他の回答 (3)

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.4

#2です。すみません。 (有給終了時刻-勤務開始時刻)*(有給開始時刻-勤務終了時刻)≧0 の間違いでした。

hooue100
質問者

お礼

正しいパターンでは必ず有給時間は、勤務開始または終了のどちらかと一致するから0になり正しいというわけですね それ以外はどんな数字(負の数字でも)になろうが片方が0になれば、ANDだから0になるという理論?

hooue100
質問者

補足

数式にしたのですが、うまくいきませんでした 別枠で、以下の数式(有給開始時間)を設定して、それを条件書式で見る 方法で行きます(正常動作確認) =IF(OR(ISBLANK(H10),OR(H10=D10,H10<C10)),1,0)

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.2

日をまたぐような入力がないこと 有給開始時刻<有給終了時刻と入力されていること 勤務開始時刻<勤務終了時刻と入力されていること を前提とすれば (有給終了時刻-勤務開始時刻)*(勤務終了時刻-有給開始時刻)≧0 となっていればOK

hooue100
質問者

補足

ありがとうございます しかし、その前提はあっても この条件では勤務時間内に有給時間が入力されても 正の数になり、要求は満たさない 10時~18時の勤務で、13時~15時の有給だと 5*5=25となる 勤務時間中の有給はNGです

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.1

 条件付き書式だけでやるよりも、if関数で判定セルを作った方がいいと思います。条件付き書式を作り込むと、何か変更になった時に修正が面倒なので。  Excelではif関数と比較演算子で簡単に時刻の前後判定ができますから、それで計算させてしまえば判定は可能です。  例えば条件ないなら〇、違反していれば×と表示させるようにif関数を組んで、そのセルが×なら赤くするように条件付き書式で設定、というのがベターです。 https://daitaideit.com/excel-time-compare/

hooue100
質問者

お礼

いいアイデアありがとうございます たしかに、面倒ですね 段階的にやってやったほうが、変更は数式だけですみますね ところで リンク先を閲覧すればわかるかと思ったのですが 私の考えと同じで、条件書式に作ったからダメだったのか?

関連するQ&A