アプリ版:「スタンプのみでお礼する」機能のリリースについて

社員の勤続年数について、エクセルでの計算について知恵を貸して下さい。
基準日は毎年4月1日現在で勤続年数を計算します。ただし、60歳に達した者については、60歳に達した日後の最初の4月1日以降の勤続年数は計算しない。なお、55歳に達した日後の最初の4月1日から60歳に達した日後の最初の3月31日までの勤続年数は実勤続年数の1/2とします。
単純な採用日から4月1日までの計算はDATEDIFを使ってできるのですが、55歳(60歳)に達した日後の最初の4月1日(3月31日)に手こずっております。
よろしくお願いします。

A 回答 (4件)

No2です。

早生まれの人とそうでない人を区別する必要があるのですね。
参考までに、TEXT関数で誕生日の月と日にちを出して
=TEXT(A2,"mm/dd")*1<("04/01")*1
の式で誕生日が4月1日より前か後か判断できると思います。
55歳最初の4月1日
=IF(TEXT(A2,"mm/dd")*1<("04/1")*1,DATE(YEAR(A2)+54,4,1),DATE(YEAR(A2)+55,4,1))
では回答になりませんでしょうか。
    • good
    • 0
この回答へのお礼

何度も回答していただいてありがとうございます。
TEXT関数で4月1日前後の判断助かりました。
回答していただいた式の一部を変更、作業列として55歳到達日を求めて
=IF(TEXT(生年月日,"mm/dd")*1<=("04/1")*1,DATE(YEAR(55歳誕生日),4,1),DATE(YEAR(55歳誕生日)+1,4,1))
に修正したらできました。
本当にありがとうございます。

お礼日時:2008/12/12 09:05

次のような数式(式の立て方)は如何でしょう?



=IF("年齢の数式">=60,"勤続年数の数式"-"60歳に達した日以降の最初の勤続年数の数式"+2.5,IF(”年齢の数式”>=55,"勤続年数の数式"-"55歳に達した日以降の最初の勤続年数の数式"/2,"勤続年数の数式"))
    • good
    • 0

年齢が関係するので、誕生日もデータであるのですよね。



 A   B    C    D     F
誕生日 入社日 55歳の日 60歳の日 年齢
・・・
と作業列で考えては如何でしょうか
後はIF文で、55歳以下の場合はDATEDIF関数で入社日から基準日まで
以外で、60歳以下の場合はDATEDIF関数で入社日から55歳の日まで+55歳の日から基準日までの半分
以外はDATEDIF関数で入社日から60歳の日まで
55歳の日は DATE(YEAR(誕生日)+55,4,1) とかで得られると思います。
一つのセルに式をまとめることも出来ますが、相当長くなりますので、
最初は作業列でミスがないか確認しながら作成してまとめると良いと思います。

この回答への補足

ありがとうございます。
55歳の日、60歳の日は計算できたのですが、55歳の日を迎えた後の最初の4月1日(60歳の日を迎えた後の最初の3月31日)の求め方が分かりません。
例えば、4月1日生まれですとその年が最初の4月1日ですが、4月2日生まれは翌年の4月1日が55歳到達後最初の4月1日となります。
よろしくお願いします。

補足日時:2008/12/11 07:45
    • good
    • 0

ここより、エクセルについてのサイトで聞いてみた方が


詳しく教えてもらえそうな気がしますょ。

下記のURL参考にしてみてはいかがでしょうか?

もちろん、よくある質問や過去記事から検索して
挑戦してみてから、分からなければ質問でお願いしますね。

参考URL:http://www.excel.studio-kazu.jp/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!