- ベストアンサー
ファイルメーカーPro7で勤務時間計算を簡単に!
- ファイルメーカーPro7を使用している初心者の方へ。勤務時間の計算を簡単にする関数を紹介します。
- 勤務時間で始業時間の遅刻は1~29分で30分に繰り上げ、30分~59分は1時間に繰り上げる関数の使い方をご説明します。
- また、終業時間以降の残業も30分未満は0として扱い、30分以上は30分として計算する関数もご紹介します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
分からない部分がありますので、アドバイスになりますが参考にしてください。 始業時間、終業時間は時刻フィールドで作成しておられると仮定しています。数字フィールドの場合はまた計算方法が変わって来ます。 まず始業時間ですが、 ・遅刻の基準になる時間を入力するフィールドを「始業」とします。 (時刻フィ-ルド) ・始業時間を入力するフィールドを「始業_入力」とします。 (時刻フィールド) ・始業の計算を行うフィールドを「始業_計算」とします。 (計算フィールド:タイプ 時刻) 「始業_計算」の計算式は、下記のようにします。 Case ( 始業_入力 > 始業 and Minute ( 始業_入力 ) ≠ 0 ; Time ( Hour ( 始業_入力 ) ; 30 * Div ( Minute ( 始業_入力 - 始業 ) + 30 ; 30 ) ; Seconds ( 始業_入力 ) ); 始業_入力 ) 次に終業時間ですが、 ・残業の基準になる時間を入力するフィールドを「終業」とします。 (時刻フィ-ルド) ・終業時間を入力するフィールドを「終業_入力」とします。 (時刻フィールド) ・終業の計算を行うフィールドを「終業_計算」とします。 (計算フィールド:タイプ 時刻) 「終業_計算」の計算式は、下記のようにします。 Case ( 終業_入力 > 終業 ; Time ( Hour ( 終業_入力 ) ; 30 * Div ( Minute ( 終業_入力 - 終業 ) ; 30 ) ; Seconds ( 終業_入力 ) ) ; 終業_入力) 59分より多い残業時間の場合はどうされるのか、記述がありませんでしたので、1時間と29分までは1時間としています。 ざっと検証しただけですので、不備があるかもしれませんが、お役に立てたなら幸いです。
お礼
ご回答有難うございます。実はご回答を得る前に関数辞典片手に何個か試してみたら出来てしまいました(case関数使用)。ただこれでいいのかなと不安もありましたが、ご回答を拝見し納得できました。有難うございました。