[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『有給休暇の付与日を自動計算する方法』(999)
有給休暇の付与日をエクセルで管理したいと思います。 当社は、入社日によって発生日が異なります。そこで、付与日と終了日をエクセル関数で管理したいと思います。 ちなみに、付与日は作成日(当日)より下回るようにしたいです。
例えば 作成日 入社日 付与日 終了日 H24.5.20 H22.4.1 H23.10.1 H24.9.30
作成日 入社日 付与日 終了日 H24.5.20 H23.10.3 H24.4.3 H25.4.2
作成日 入社日 付与日 終了日 H24.5.20 H24.4.23
といった具合に作成日と付与日の関係は、付与日が下回り、上回る場合は空白になるように出来ればと思います。どなたか、宜しくお願いします。
付与年月日は 作成年-1年 + 入社月日+6ヶ月 ってルールなの?
では、
作成日 H24.12.1 、 入社日 H24.4.1
の場合はどうなるの?
ルールがイマイチよくわからない。。。
(GobGob)
1.以下の入社日ですと、どうなればいいですか?
行 ____A____ ____B____ ____C____ ____D____ 1 作成日 入社日 付与日 終了日 2 H24.5.20 H22.8.30 3 H24.5.20 H22.8.31 4 H24.5.20 H20.2.28 5 H24.5.20 H20.2.29
> ちなみに、付与日は作成日(当日)より下回るようにしたいです。 2.「作成日が、第一回付与日以後じゃない時は、空白にする」と同じ意味ですか?
(半平太) 2012/05/21 13:25
作成日 H24.12.1 入社日 H24.4.1 付与日 H24.10.1 終了日 H25.9.30
to 半 平太様
説明不足で申し訳ありません。
1
2. 付与日 H24.3.1 終了日 H25.2.28
3. 付与日 H24.3.1 終了日 H25.2.28
4.付与日 H24.8.28 終了日 H25.8.27
5. 付与日 H24.8.28 終了日 H25.8.27
2 第1回目の付与日で作成日より上回る時は空白で、第2回目以降は表示されるようにしたいです。【作成日>=付与日】
作成日 H24.5.20 入社日 H17.4.1 付与日 H23.10.1 終了日 H24.9.30
ややこしい説明で申し訳ないです。
(999)
半平太さん例の2行目が H24になるのなら 999さん例の1つ目 は H23でなくH24でないの???
ぜんぜんルールがわからない。。。。
(GobGob)
999さんの回答内容(抜粋) 行 ____A____ ____B____ ____C____ 1 作成日 入社日 付与日 7 H24.5.20 H20.2.28 H24.8.28 8 H24.5.20 H20.2.29 H24.8.28
疑問 (1)7,8行目の付与日の年度がH24となっていますが、H23のミスですね? 24年8月は、作成日(24年5月)より後ですけど。。。 (2)8行目の付与日が28日になっていますが、この根拠(考え方)はなんですか?
(半平太) 2012/05/21 17:11
憶測だけどルール。
@付与日は入社日 〜 作成日の間にある「入社日+6ヶ月の『月日』」の最大年月日 A入社日 2月29日 は 2月28日 で処理 B入社日 8月29日〜8月30日での付与日は 2月末日でなく3月1日を返す。 C付与日<=作成日は空白。 D終了日は 付与日より年度末日 (閏年はそのまま表示)
こんな感じでダラダラっと
A B C D 1 作成日 入社日 付与日 終了日 2 H24.5.20 H22.4.1 H23.10.1 H24.9.30 3 H24.5.20 H23.10.3 H24.4.3 H25.4.2 4 H24.5.20 H24.4.23 5 H24.5.20 H22.8.30 H24.3.1 H25.2.28 6 H24.5.20 H22.8.31 H24.3.1 H25.2.28 7 H24.5.20 H20.2.28 H23.8.28 H24.8.27 8 H24.5.20 H20.2.29 H23.8.28 H24.8.27 9 H24.5.20 H20.2.28 H23.8.28 H24.8.27 10 H24.5.20 H20.2.29 H23.8.28 H24.8.27 11 H24.5.20 H22.8.29 H24.3.1 H25.2.28 12 H24.12.1 H24.4.1 H24.10.1 H25.9.30 13
C2 =IF(COUNTIF(A2:B2,">"&DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)),MONTH(B2)-6,IF(TEXT(B2,"mdd")*1=229,28,IF(OR(TEXT(B2,"mdd")*1={829,830,831}),30,DAY(B2)))))=1, DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)),MONTH(B2)-6,IF(TEXT(B2,"mdd")*1=229,28,IF(OR(TEXT(B2,"mdd")*1={829,830,831}),30,DAY(B2)))),"") D2 =IF(C2="","",DATE(YEAR(C2)+1,MONTH(C2),DAY(C2))-1)
C2:D2 下へコピー。
※これ以外の日付試してないので不具合あるかも。
(GobGob)
※13:49 不具合あったんで削除しました。すんません!
(GobGob)
C2 =IF(COUNTIF(A2:B2,">"& DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)), (TEXT(B2,"mdd")*1={829,830,831})+MONTH(B2)-6, SUM((TEXT(B2,"mdd")*1={229,829,830,831})*{-1,-28,-29,-30})+DAY(B2)))=1, DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)), (TEXT(B2,"mdd")*1={829,830,831})+MONTH(B2)-6, SUM((TEXT(B2,"mdd")*1={229,829,830,831})*{-1,-28,-29,-30})+DAY(B2)),"")
訂正案。
お騒がせしました。
(GobGob)
GobGob様
お返事が遅くなり、大変申し訳ありません。
GobGob様 の関数式、大変参考になりました。
これだけの式を扱えるなんてホント凄いです。
有難うございました。
半 平太様 のご指摘もっともです。
(1)は H23の誤りでした。 申し訳ありません。
(2)は2月29日と2月28日は会社の規程上、同じ扱いとしています。
ご説明足らずばかりでご迷惑をお掛けしました。
みなさんのご指摘やアドバイスに感謝×2です。
(999)
思っていた管理表が今、出来ました。
本当に有難う御座いました。
(999)
当方数式、間違い発見(またまた)。
C2 =IF(COUNTIF(A2:B2,">"& DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)), OR(TEXT(B2,"mdd")*1={829,830,831})+MONTH(B2)-6, SUM((TEXT(B2,"mdd")*1={229,829,830,831})*{-1,-28,-29,-30})+DAY(B2)))=1, DATE(YEAR(A2)+(YEAR(A2)=YEAR(B2)), OR(TEXT(B2,"mdd")*1={829,830,831})+MONTH(B2)-6, SUM((TEXT(B2,"mdd")*1={229,829,830,831})*{-1,-28,-29,-30})+DAY(B2)),"")
「OR」消してました・・・・なので修正を。
(GobGob)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.