プロが教えるわが家の防犯対策術!

時間の計算ですが 出社時刻が12時以前に来た場合はお昼を1時間取って欲しいので
就労時間から1時間マイナスしたいのです。
同じく夜20時以降に居る場合は夜食で30分マイナスしたいのです。
このような 計算式が分りましたら教えてください
お願いします

A 回答 (3件)

A1に出社時刻、B1に退社時刻が入っているとして、



=IF(AND(A1<"12:00"/1, B1>"20:00"/1),B1-A1-"1:30"/1,IF(A1<"12:00"/1,B1-A1-"1:00"/1,IF(B1>"20:00"/1,B1-A1-"0:30"/1,B1-A1)))


セルの表示形式は、「時刻」にします。

Excelでの計算に参考になりそうなサイトを挙げておきます(参考URL)

参考URL:http://pcgaz.nikkeibp.co.jp/pg/pcgaz/excel/index …
    • good
    • 0
この回答へのお礼

ありがとうございます 大変参考になりました
早速URLもチェックしてみます 
エクセルって凄いですねー

お礼日時:2001/11/29 16:17

Excelと仮定し、A1に出社時刻、B1に退社時刻が入っているとします。



また、
12時から13時の間の出社は13時からの
19時半から20時の間の退社は19時半までの
時間だけを計算するようにしました。

=IF(B1>19.5/24,MAX(19.5/24,B1-0.5/24),B1)-IF(A1>13/24,A1,MIN(A1+1/24,13/24))
    • good
    • 0
この回答へのお礼

ありがとうございます
ちゃんとこの式で出来ました。
大変助かりました
又何か有りましたらよろしくお願いします

お礼日時:2001/11/29 16:18

こんにちは。

maruru01です。
まず、どんなアプリケーションで作ろうとしているのかを教えて下さい。ExcelとかAccessとか。
さらにそこで、どういう状況でその式を使用するのかもわからないと・・・
これだと一般的な回答になってしまいますが、一応。
出社時刻をA、退社時刻をBとすると、
A<12:00の場合は
  就労時間a = B-A-1時間
A>=12:00の場合は
  就労時間a = B-A
さらに、
B>20:00の場合は
  就労時間 = 就労時間a-0.5時間
B<=20:00の場合は
  就労時間 = 就労時間a
この程度しか書けません。
式の表し方や時間を計算に組み込む方法は、使用するアプリ(言語)で変わります。
では。

この回答への補足

はい ありがとうございます
エクセルで計算しようと思っています。
結局 したいことは従業員のタイムカードの整理なのですが
タイムカードがCSVデータで来るのですがフレックスがあるため一概に就労時間8時間以上で1時間マイナスとは出来ないのです。従業員が始業した時間によりお昼が決まり就業時間が8時を超えると夜食時間30分マイナスすることとなっています。

maruru01さんが書いてくださった方程式がまさにその通りです。
これをエクセルで使えるものが知りたいのです。

説明不足ですみませんがよろしくお願いします

補足日時:2001/11/29 14:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!