- ベストアンサー
エクセルで勤続年数を出す数式と空白時の処理方法
- エクセルで勤続年数を出すための数式を作成しましたが、セルにデータが無い場合にマヌケな値が表示されます。
- 入社日と退社日を元に勤続年数を求める数式は、空白の場合にも対応する方法を知りたいです。
- 入社日が空白の場合、勤続年数を0か空白にしたいです。どうすれば良いでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
次の様な関数にされると良いと思います。 =IF(ISNUMBER(1/DAY(T1)/DAY($AP$1)),IF(ISNUMBER(1/DAY(U1)),IF(T1>U1,"日付が間違っています",DATEDIF(T1,U1,"Y")&"年"&DATEDIF(T1,U1,"YM")&"ヶ月"&DATEDIF(T1,U1,"MD")&"日"),IF(T1>SUM($AP$1),"日付が間違っています",DATEDIF(T1,$AP$1,"Y")&"年"&DATEDIF(T1,$AP$1,"YM")&"ヶ月"&DATEDIF(T1,$AP$1,"MD")&"日")),"")
その他の回答 (4)
- bunjii
- ベストアンサー率43% (3589/8249)
>入社日T1が空白の場合 勤続年数も0か、空白にしたいのですが、あと一歩わかりません どうか教えてください。 難しく考える必要はありません。 IF関数を入れ子にすれば良いでしょう。 =IF(T1="","",質問の数式) 今日の日付(AP1)を =IF(U1="",TODAT(),U1) とすれば式を簡素化できます。 =IF(T1="","",DATEDIF(T1,$AP$1,"Y")&"年"&DATEDIF(T1,$AP$1,"YM")&"ヶ月"&DATEDIF(T1,$AP$1,"MD")&"日")
お礼
分かりやすい解説ありがとうございます。
- 久保 泰臣(@omi3_)
- ベストアンサー率24% (254/1030)
>試したのですが T1が空白の時は良いのですが >入社日に入力があるとエラーが出るのですが、 >私の入力ミスでしょうか、 ・・・ >スミマセン U1の退職日を入力するとエラーが出ます。 >申し訳ありません 何か良い方法ありますか。 =IF(OR(U1<3000,400000<U1)+OR(T1<3000,400000<T1),"0",IF(U1="",DATEDIF(T1,$AP$1,"Y")&"年"&DATEDIF(T1,$AP$1,"YM")&"ヶ月"&DATEDIF(T1,$AP$1,"MD")&"日",DATEDIF(T1,U1,"Y")&"年"&DATEDIF(T1,U1,"YM")&"ヶ月"&DATEDIF(T1,U1,"MD")&"日") ) を試してください。 入社日T1、 退社日U1、 今日の日付AP1 のセルは表示形式が日付になっていますか?、 大失敗しですね、視線を向けてはいけなかったのだぁ。 U1 → A1、T1 → B1、$AP$1 → C1 に置き換えて 一般的な式にする配慮をお願いします。
お礼
何度も考えていただき ありがとうございました。 おかげさまで解決しました。
補足
遅い時間まですみません ありがとうございます。おやるとうり 配慮が足りませんでした。 ご迷惑かけついでに ・・・今度は、入社日に日にちは出てるのですが、値が0になります。
- 久保 泰臣(@omi3_)
- ベストアンサー率24% (254/1030)
=IF(OR(T1<3000,400000<T1),"0",・・・) ですかね、ごまかしですけど。 =IF(OR(T1<3000,400000<T1),"0",IF(U1="",DATEDIF(T1,$AP$1,"Y")&"年"&DATEDIF(T1,$AP$1,"YM")&"ヶ月"&DATEDIF(T1,$AP$1,"MD")&"日",DATEDIF(T1,U1,"Y")&"年"&DATEDIF(T1,U1,"YM")&"ヶ月"&DATEDIF(T1,U1,"MD")&"日") )
補足
ありがとうございます。 スミマセン U1の退職日を入力するとエラーが出ます。 申し訳ありません 何か良い方法ありますか。
- keithin
- ベストアンサー率66% (5278/7941)
もうちょっとやることを整理してみましょう。 入社日が空白なら空白 そうでないとき 退社日が空白なら今日まで そうでない時退社日までのDATEDIF =IF(T1="","" ,DATEDIF(T1,IF(U1="",TODAY(),U1),"Y")&"年" &DATEIDF(T1,IF(U1="",TODAY(),U1),"YM")&"ヶ月" &DATEDIF(T1,IF(U1="",TODAY(),U1),"MD")&"日")
お礼
ありがとうございました。 おかげさまで解決しました。
補足
早々の回答ありがとうございます。 試したのですが T1が空白の時は良いのですが 入社日に入力があるとエラーが出るのですが、 私の入力ミスでしょうか、 スミマセン よろしくお願いします。 入社日に入力するとエラーになりますが
お礼
考えていただき有難うございました。 そのまま使わせていただきます。 無事解決しました。