[[20120520185650]] 『有給休暇の付与日を自動計算する方法』(999) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『有給休暇の付与日を自動計算する方法』(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

to GobGob様
説明不足で申し訳ありません。

  作成日 H24.12.1  入社日 H24.4.1 付与日 H24.10.1 終了日 H25.9.30

to 半 平太様
説明不足で申し訳ありません。


  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)

to 半 平太 様
     GobGob様 

お返事が遅くなり、大変申し訳ありません。
GobGob様 の関数式、大変参考になりました。
これだけの式を扱えるなんてホント凄いです。
有難うございました。

半 平太様 のご指摘もっともです。
(1)は H23の誤りでした。 申し訳ありません。
(2)は2月29日と2月28日は会社の規程上、同じ扱いとしています。
   ご説明足らずばかりでご迷惑をお掛けしました。

みなさんのご指摘やアドバイスに感謝×2です。
(999)


to GobGob様

思っていた管理表が今、出来ました。
本当に有難う御座いました。
(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.