プロが教える店舗&オフィスのセキュリティ対策術

よろしくお願い致します。
ソフト上でエクスポートした時に、
エクセルでA1に退職日「20190510」
     B2に入職日「19810111」という表記が出ますが、
C1に勤続年数を「38年」と表示させたいと考えております。
具体的な関数をご教示願います。

質問者からの補足コメント

  • 早々にご回答いただきありがとうございます。
    二つのセルからDATEDIFを用いて年数を算出したいと考えており、
    それぞれのセルをシリアル値とかに変換できれば・・・と考えております。
    よろしくお願い致します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/07/01 16:43
  • 早々にご回答いただき、ありがとうございました。
    上記の関数にて、算定ができ、大変助かりました。
    ちなみに、退職していない場合A1が空欄になります。
    その時、当日まで(Now()になるのでしょうか?)の年数をCに表示させたいのですが、
    どのようになるのでしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/07/01 17:52

A 回答 (8件)

単純に西暦を引き算するだけなら


[C1]=INT(A1/10000)-INT(B2/10000)&"年"

入職日も考慮して満勤務年数とする場合は
[C1]=INT(A1/10000)-INT(B2/10000)-IF(RIGHT(A1,4)>RIGHT(B2,4),0,1)&"年"
この回答への補足あり
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。
教えていただいた方法にて、解決いたしました。
皆様の回答、大変、勉強になりましたが、こちらの回答をベストアンサーとさせていただきます。

お礼日時:2019/07/02 10:20

退職日が空欄なら今日現在ってことで、


=datedif(text(入職日, "00-00-00")*1, text(退職日, "00-00-00;;!0)+isblank(退職日)*today(), "Y")
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:24

No.2をいじったもので・・・


A1が空欄の場合、今日の日付で計算するとして

単純に西暦を引き算するだけなら
[C1]=IF(ISBLANK(A1),YEAR(NOW()),INT(A1/10000))-INT(B2/10000)&"年"

入職日も考慮して満勤務年数とする場合は
[C1]=IF(ISBLANK(A1),YEAR(NOW()),INT(A1/10000))-INT(B2/10000)-IF(IF(ISBLANK(A1),TEXT(NOW(),"mmdd"),RIGHT(A1,4))>RIGHT(B2,4),0,1)&"年"

長くなっちゃいましたね。
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:24

A1が空欄の時は当日までということなら



=DATEDIF(TEXT(B1,"0-00-00"),MAX(TEXT(A1,"0-00-00;;!0"),TODAY()),"Y")
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:24

=DATEDIF(TEXT(B1,"0-00-00"),TEXT(A1-1,"0-00-00"),"Y")



とすればいいでしょう。
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:24

こんばんは!



>DATEDIFを用いて・・・

A1・B2セルの数値をシリアル値にする必要がありますね。
少し長くなりますが

=DATEDIF(DATE(INT(B2/10000),INT(MOD(B2,10000)/100),MOD(B2,100)),DATE(INT(A1/10000),INT(MOD(A1,10000)/100),MOD(A1,100)),"y")

としてみてはどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:23

A1とB2が日付の値(シリアル値)であれば、


単に、C1=B2-A1とし、C1の表示形式を「年」にすればよいです。
関数は、特には入りません。

A1、B2が単なる数値列であれば、左4文字を年、中2文字を月、右2文字を日、
としてシリアル値に変換すればよいです。
関数は、DATE、LEFT、MID、RIGHT、になります。
    • good
    • 0
この回答へのお礼

ご回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:23

関数ってあった?



引き算して365でも365.25で割ればいい。

年をつけるは書式でも、数式でもいい。
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答いただき、ありがとうございました。

お礼日時:2019/07/02 10:18

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