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

このQ&Aに関連する最新のQ&A

A 回答 (3件)

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

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

こんにちは。

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で質問しましょう!

このQ&Aと関連する良く見られている質問

Qエクセル2003 2時間15分20.11秒をシリアル値にして2時間15分20.11秒と表示する方法

エクセル2003です
TIMEを合計するため
2時間15分20.11秒と入力したセル(文字列)をシリアル値に変えて2時間15分20.11秒と表示したいのです。
よろしく御願いします。

Aベストアンサー

◆A1に文字列が入力されていて、別のセルに
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"時間",":"),"分",":"),"秒",)*1
★表示形式をユーザー定義で、 h"時間"mm"分"ss.00"秒" とします

Qエクセルの時間計算表示で、( 0時間45分 ⇒ 45分 )と表示したい。

所要時間計算で、計算結果が 0時間45分となります。 45分としたいのですが 関数.設定?で可能でしょうか教えて下さい。 
また、60分以上の場合は (例 1時間45分)と表示したいので宜しくお願い致します。
・エクセル計算方法は、到着時刻-出発時刻=所要時間で計算しています。
・ユーザー定義は [h]" 時間" mm"分" です。

※(1時間以内の場合)
出発時刻 13時45分
到着時刻 14時30分
所要時間 0時間45分 ⇒ 45分としたい
(1時間以上の場合)
出発時刻 13時45分
到着時刻 15時30分
所要時間 1時間45分 ⇒ 1時間45分
以上、1時間以内の場合の時間表示(0時間)削除方法を教えて下さい。
宜しくお願い致します。

Aベストアンサー

No.1 の訂正です。「分」が抜けてしまいました。

書式設定を以下のどちらかに設定してください。
①「[<=0.0416][mm]"分";[h]"時間"mm"分"」
②「[<=0.0416][m]"分";[h]"時間"mm"分"」
①と②の違いは10分未満、たとえば9分の時、①は「09分」②は「9分」と表示されます。お好きなほうをお使い下さい。

ついでなので、説明です。
「0.0416」は「1」を「24」を割った物です。これはエクセルが24時間を「1」としている事を使っています。

Q7時間15分を1日と換算する計算について

恐れ入ります。
エクセルで以下の計算をしたいのですが、お知恵をお貸しください。

年次休暇の計算をエクセルでしたいと思います。
まず前提として、7時間15分をもって「1日休」と換算します。

そこで、ある人が16時間の時間休をとったとします。
セルに「16」と入力すると自動的に2日と1時間30分という「回答」をさせたいのです。

どのような計算式になるか教えていただけるとたすかります。

どうぞよろしくお願いします。

Aベストアンサー

A1=16なら
=TEXT(INT(TIME(A1,0,0)/"7:15")+MOD(TIME(A1,0,0),"7:15"*1),"d日とh時間m分")

A1=16:00なら
=TEXT(INT(A1/"7:15")+MOD(A1,"7:15"*1),"d日とh時間m分")

Q残業時間を計算し且つ足りない分はマイナス表示したい

労働時間のセルより所定労働時間(8h)を引いて、
残業時間のセルに計算結果を表示させたいのですが、
その値がマイナスだった場合はマイナス表示させたいのです。


頑張って調べて、どちらかなら関数を適用できるのですが、
上記両方の条件を満たす関数がどうしてもわかりません。。。
至急のご回答がほしいです。。。

宜しくお願いします!!

Aベストアンサー

>残業時間のセルに計算結果を表示させたい
>その値がマイナスだった場合はマイナス表示させたい

具体的にどんなデータでエクセルを作成しているのかの情報がご相談に書かれていませんが,残業時間(就業時間)を,どんな数字で計算したいのかによっても,やり方が色々変わります。

時間数をたとえば
123.5
とか
8.25
といった「時間単位の数字」で計算したい(実際には分単位の数字で計算する場合も多くあります)なら,話は結構簡単で

A1に例えば
10.5
とか
6.0
のように残業時間を計算してあれば
=A1-8
と計算するだけで十分です。



時間数を例えば
123:10
とか
8:30
といった「時:分形式の時刻の値」で計算したいなら,エクセルのオプションで「1904年形式で計算する」にチェックを入れることで

=A1-"8:0"
と計算する事で,たとえば-2:30といったマイナスの時間数の計算結果も表示できます。

この設定を行ったブックと,そうしてないブックの間でまたいで日付の計算をすると,計算結果が間違える事だけ注意が必要ですが,時間数の計算するだけなら特に支障となる事はありません。

>残業時間のセルに計算結果を表示させたい
>その値がマイナスだった場合はマイナス表示させたい

具体的にどんなデータでエクセルを作成しているのかの情報がご相談に書かれていませんが,残業時間(就業時間)を,どんな数字で計算したいのかによっても,やり方が色々変わります。

時間数をたとえば
123.5
とか
8.25
といった「時間単位の数字」で計算したい(実際には分単位の数字で計算する場合も多くあります)なら,話は結構簡単で

A1に例えば
10.5
とか
6.0
のように残業時間を計算し...続きを読む

Q8時間以上だったら1時間マイナスする関数

勤務時間が8時間を越えると、1時間マイナスするという関数を作りたいのですがうまくいきません。
開始 終了 勤務時間
20:00 05:00 8:00

としたいと思っています。

どういう関数を使えば良いのでしょうか。

Aベストアンサー

20:00~29:00(翌日05:00)ということでしょうか?
B2が29:00と入力なら
=B2-A2-((B2-A2)>1/3)/24
解説:
(B2-A2)>1/3の部分が終了-開始と1/3日(24時間/3で8時間)の比較で
8時間を越えると1(TRUE)、8時間以内なら0(FALSE)となります。
時間からすると1は1日(24時間)を表すので24で割ってます。

B2が05:00と入力なら
=B2-A2+(B2<A2)-((B2-A2+(B2<A2))>1/3)/24
解説:
追加した(B2<A2)が時刻が逆転の判定で1日(24時間)を追加しています。

※29:00と表示したい場合は、セルの書式設定の表示形式をユーザー定義にして
[hh]:mm
としてください。24時間以上の時刻が表示できます。


このカテゴリの人気Q&Aランキング

おすすめ情報