初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2020-09-15 17:19:54

ねね
ゲストユーザー

[解決] 深夜時間の出し方でお聞きしたいです・・・

深夜時間を出す計算式を下記のように入れています。

この式だと、
(例)22:00~3:00だと5時間と表示されます。
   ですが、22:30~3:00だと「4時間」と表示されてしまいます。「4.5時間」と出したいです。
   ※おそらく、開始時間が22:00~ではないと、正しい時間が表示されません。

   どのようにしたら、よろしいでしょうか?ご回答宜しくお願い致します。


If ( 従業員区分 = "社員" ; "";

Let(
[
   #出社時刻=開始時間+Time((開始時間<Time(5;0;0))*24;0;0);
   #退社時刻=終了時間+Time((#出社時刻>終了時間)*24;0;0);
   #深夜始点=Time(22;0;0);
   #深夜終点=Time(5+24;0;0);
   #is深夜=(#出社時刻<#深夜終点) and (#退社時刻>#深夜始点);
   #深夜休息=Max(0; GetAsTime(休憩*60*60) - (#深夜始点-#出社時刻));
   #深夜勤務=Case(#is深夜; Min(#退社時刻;#深夜終点) - Max(#出社時刻;#深夜始点) - #深夜休息)
];
   (Div(#深夜勤務;15*60)*15*60) / (60*60)
))

#2 2020-09-15 17:27:15

ねね
ゲストユーザー

Re: [解決] 深夜時間の出し方でお聞きしたいです・・・

追記です。

0:00~2:00で入力すると、「0時間」と表示されます。
0:00~3:00だと、「1時間」と表示されます。

どのようにしたらよろしいでしょうか・・・
ご回答宜しくお願い致します。

#3 2020-09-15 21:20:45

Hiro
メンバー

Re: [解決] 深夜時間の出し方でお聞きしたいです・・・

「深夜休息」時間が、「無」指定や「深夜勤務」時間を超えるミス指定の対策が不備でした。
補正式は、

If ( 従業員区分 = "社員" ; "";
   Let(
   [
      #出社時刻=開始時間+Time((開始時間<Time(5;0;0))*24;0;0);
      #退社時刻=終了時間+Time((#出社時刻>終了時間)*24;0;0);
      #深夜始点=Time(22;0;0);
      #深夜終点=Time(5+24;0;0);
      #is深夜=(#出社時刻<#深夜終点) and (#退社時刻>#深夜始点);
      #深夜休息=Max(0; Min(GetAsTime(休憩*60*60); GetAsTime(休憩*60*60)-(#深夜始点-#出社時刻)) );
      #深夜勤務=Case(#is深夜; Min(#退社時刻;#深夜終点) - Max(#出社時刻;#深夜始点) - #深夜休息)
   ];
      (Div(Max(0;#深夜勤務);15*60)*15*60) / (60*60)
   )
)

編集者 Hiro (2020-09-16 12:23:33)

オフライン

#4 2020-09-16 10:56:02

ねね
ゲストユーザー

Re: [解決] 深夜時間の出し方でお聞きしたいです・・・

深夜時間、正しく表示されるようになりました!
いつも本当にありがとうございます!本当に助かりました・・・
ありがとうございました!

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer