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

 エクセルで勤続年数を出す方法を教えてください。
過去の質問を見ましたが、どう組み合わせたらいいのか分からず。。。

勤続年数を次のように算出したいのです。
「(1)15年まで55歳まで」「(2)15年以上55歳まで」「(3)55歳以上」
 例えば
  基準日   H20.4.1
  生年月日  S26.6.20(56才9カ月12日)
  入社日   S53.4.1(30年)
  「(1)15年」「(2)13年2ヵ月18日」「(3)1年9カ月12日」

  基準日   H20.4.1
  生年月日  S24.4.29(58才11カ月3日)
  入社日   H7.4.1(13年)
  「(1)9年0カ月27日」「(2)」「(3)3年11カ月3日」

というような結果が出るように式を作りたいのです。
datedif等でいろいろ考えたのですが、いい方法がわかりません。
よろしくお願いします。

A 回答 (4件)

 A     B


1 基準日   H20.4.1
2 生年月日  S26.6.20
3 入社日   S53.4.1
4 55歳の前日 =DATE(YEAR(B2)+55,MONTH(B2),DAY(B2)-1)
として

(1)=MIN(DATEDIF(B3,MIN(B1,B4),"Y"),15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")<15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),"")

(2)=(DATEDIF(B3,MIN(B1,B4),"Y")-15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")>=15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),"")

(3)=IF(B1>B4,DATEDIF(B4,B1+1,"Y")&"年"&TEXT(DATEDIF(B4,B1+1,"YM"),"0ヶ月;;")&TEXT(DATEDIF(B4,B1+1,"MD"),"0日;;"),"")
    • good
    • 0
この回答へのお礼

式の組み立て方がわからなかったので、ここまでしていただき感謝してます。
この通りにしたら思うような結果を出すことができ、非常に参考になりました。ありがとうございました。

お礼日時:2008/06/18 14:24

こんな内容の質問はこんなところへ質問しないで、直ちにWEB(例Google)で「エクセル 勤続年数」で照会したら何万と関連記事がでる。


http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituy …
http://www.rericca.com/qa/ex3.htm
ほか
このコーナーのOKWAVEやおしえてGOOへの過去質問回答も出ることを覚えておくと良い。
    • good
    • 0

この手の問題は「何ヶ月」の定義をどうするかという問題が計算式以前


に介在します。次のような場合、何か月何日と判断するんですか?

5月1日~5月31日
5月30日~6月30日
5月31日~6月30日

とりあえず、この問題は隅において、何日、だけで判断してみます。
式をそのまま出すと妙に長い式になるので考え方を書けば

1.55才になる日を計算する(C列)
2.C列-入社日を計算する(D列)
3.D列が15年以上ならC列-(入社日+15年)を計算、未満なら0にしておく(E列)
4.基準日-C列を計算する

2.が(1)、3.が(2)、4.が(3)に該当するはずです。
    • good
    • 0

2つの例の結果を出すために、どのような条件分けとどのような計算をしたのでしょうか?



1つの計算式を作ろうとせずに、作業列(作業セル)をいくつも使って、泥臭くても良いので、まずは結果を出してみましょう。
きれいに1つの計算式で処理するのは、それからです。
    • good
    • 0

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