• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで入社・退社年月日を入力して、勤続年数表示したい)

Excelで入社・退社年月日を入力して、勤続年数表示したい

このQ&Aのポイント
  • Excelで入社年月日と退社年月日を入力すると、勤続年数が表示できるようにしたいのですが、方法が分かりません。
  • DateDifという関数があると過去の質問を検索してみたらでてきましたが、どのように使ったらよいのかが分かりません。
  • 入社年月日⇒14年4月1日 退社年月日⇒16年4月20日 勤続年数⇒2年1ヶ月という具合に、一ヶ月未満の日数がある場合は1ヶ月に繰上げて表示したいです。そして、休業期間がある場合は同様に休業期間を表示して、勤続年数からマイナスして結果的に勤続年数-休業期間=在職期間と表示できるようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hakone
  • ベストアンサー率54% (40/73)
回答No.2

○年□ヶ月△日 =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月" &DATEDIF(A1,B1,"MD")&"日" ですが、 入社年月日⇒14年4月1日 退社年月日⇒14年4月30日 と書いた場合、DATEDIFの仕様として「初日不算入」です ので、4/2~4/30にちまでを数えることになります。 →【0年0ヶ月29日】 と表示されるはずです。 =DATEDIF(A1,B1+1,"Y")&"年"&DATEDIF(A1,B1+1,"YM")&"ヶ月" &DATEDIF(A1,B1+1,"MD")&"日" で多少マシになるかもしれませんが、上記の式は 使わないほうがよいです。なぜなら、 DATEDIF(A1,B1,"MD") と DATEDIF(A1,B1,"YD") には、うるう年に絡む不具合があり正しく計算されない ことが知られていますので。 例えば、 A1に 1998/10/31 B1に 2000/03/01 と入力した場合など。 詳しくは角田さんのページの http://www.h3.dion.ne.jp/~sakatsu/ktfunc_ref0206.htm#DATEDIF をご覧いただき、【kt関数アドイン】導入することを お勧めします。

参考URL:
http://www.h3.dion.ne.jp/~sakatsu/index.htm
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hakone
  • ベストアンサー率54% (40/73)
回答No.1

入社年月日と退社年月日がA1,B1だとして、 =INT((DATEDIF(A1,B1,"m")+1)/12)&"年" &MOD((DATEDIF(A1,B1,"m")+1),12)&"ヶ月" #入社年月日⇒14年4月1日 #退社年月日⇒16年4月1日 #でも2年1ヶ月と表示します。 # #退社年月日⇒16年3月31日 #なら2年0ヶ月と表示します。 もうひとつのほうは、 休業開始がC1,休業終了がD1として =INT((DATEDIF(A1,B1,"m")-DATEDIF(C1,D1,"m"))/12)&"年" &MOD((DATEDIF(A1,B1,"m")-DATEDIF(C1,D1,"m")),12)&"ヶ月" かな? こっちは、細かい条件が書いていないので、適当です。

Oceans12
質問者

補足

早速の解答ありがとうございます。勤続年数ばっちり表示できました。 ちなみに、この勤続年数を○年□ヶ月△日という具合に日数まで表示したい場合はどうしたらいいのでしょうか? 1日付けで入社した人が末日で退職すると日数の端数はないはずですが、 =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日" でやってみると、日数があいません。 休業がある場合の計算は、 たとえばC1に勤続年数(2年0ヶ月10日)C2に休業期間(6ヶ月15日)があるとしたら、 C3に(1年6ヶ月5日)=1年7ヶ月と表示できるようにしたいのです。 教えていただいた方法でやってみましたが、うまくいきませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで勤続年数をだす。

    エクセルで勤続年数を出す数式を作ったのですが セルにデータが無い場合 114年1か月19日などのマヌケな値が出ます。 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 入社日T1が空白の場合 勤続年数も0か、空白にしたいのですが、 あと一歩わかりません どうか教えてください。

  • 勤続年数の平均値の求め方

    こんにちは、エクセルについて教えてください。 ある会社での各社員の勤続年数の計算でA列に入社年月日、B列に本日の年月日があり、C列にAとBの期間(勤続年数)計算を =DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"で ●年●月で表示させています。 さて、この各社員の勤続年数の平均を出すために通常のAvarage関数を使うと「ゼロで割りました」のメッセージが出て計算してくれません。勤務年数の平均を求める方法を教えてください。

  • エクセルで勤続年数を計算しているのですが・・

    いつもお世話になっております。 今回はエクセルの計算式について、ご指導の程お願い致します。 勤続年数の計算をexcel2007で管理したいと思っています。 例えば2011/12/21入社で、2012/3/20退社とします。 今までの計算からしますと、「0年3か月と0日」の勤続年数としたいのですが DATEDIFで計算しましたところ、「2か月と28日」となりました。 下記は現在の計算式です。 「=DATEDIF(A6,B6,"Y")&”年”&DATEDIF(A6,B6,"YM")&"ケ月"&(DATEDIF(A6,B6,"MD"))&"日"」 極端な話ですが、1/1入社で1/2退社ですと勤続年数は「2日」としていますので 単純に計算式に「+1」を加えると「2か月と29日」でカレンダーで勘定したところ正解ではあるのですが、「3か月と0日」にしたいと思っています。 基本的な考え方に問題があるのでしょうか? 色々調べてみたのですが、解決に至らず困っております。 ご指導の程、宜しくお願い致します。

  • 勤続年数の出し方で詰まっています・・・。

    勤続年数を書類作成日から求めるっていう数式で、 DATEDIF関数を使って H3  =書類作成日(yyyy/mm/dd) F27 =入社年月日(yyyy/mm/dd) F28 =勤続年数 (○年 と表示したい) *H3,F27、いずれかが空白の場合はF28は空白表示 if文でネストすると F28=if($H$3="","",if(F27="","",DATEDIF(F27,$H$3,"y")&"年")) でOK・・・なのですが、勤続年数が1年未満だと「0年」と表示されて しまい、じゃあ、「▲ヶ月」で表示・・・と思ったら、 ExcelのヘルプでDATEDIF(F27,$H$3,"ym")では だせないみたいです。 どなたか「▲ヶ月」と表示が出来る方法を教えて 頂けませんか?仕事の書類なので、とりあえずは 「▲ヶ月」の従業員はベタ打ちにしてしまってますが、 1年後にこの書類を開きH3の日付を打ち変えれば 「1年」と表示がなると助かる、という書類なので。 よろしくお願いします。

  • エクセルで、簡単に勤続年数を表示させたい

    エクセルで、「入社年月日」を入力すると、自動的に勤続年数が表示される計算式を探しています。 例:入社年月日 【2000.01.01】   勤続年数 【6】 上記のような表示方法です。 そうすると、何日現在を決めなければいけなくなると思いますが、 その年の1月1日現在でも、今日現在でも、どちらが適当なのか分かりませんが、 実際にお仕事で使っている方、教えて下さい。 宜しくお願い致します。

  • EXCELで勤続年数を出したいのですが…

    入社が毎日のようにようにあります。 会社の締日は、25日です。 たとえば、10月26日~11月25日の間で入社した人は、一日でも勤務したなら、すべて1ヶ月と計算して、あとは、締日で区切って、計算したいのです。 11月10日~11月25日 1ヶ月(入社日~締日) 11月26日~12月25日 2ヶ月(締日~締日) 12月26日~ 1月25日 3ヶ月(締日~締日) A列…入社日、B列…入社日、C列…勤続年数(年)、D列…勤続年数(月)とします。 A ・ B   ・ C ・ D 1 名前 ・ 入社日   ・勤続年数(年) ・ 勤続年数(月)  2 太郎 ・ 2006/11/10 ・ 0 ・ 2 3 花子 ・ 2006/10/25 ・ 0 ・ 3 10 検索日 2006/12/25 DATEDIFでは、納得できなかったので、よい方法は、ありまあせんか? そのあとに、勤続年数が6ヶ月の人と3年の人を検索して一覧表で印刷したいのですが、方法は、ありますか?

  • 勤続年数の求め方

    Access2003+SQLServer2005を使っています。 Accessのクエリでは勤続年数(2007年3月20日現在の勤続年数)を求めるのに以下を使っていました。 勤続年数: DateDiff("m",[入社年月日],#2007/03/20#)\12 & "年" & DateDiff("m",[入社年月日],#2007/03/20#) Mod 12 & "ヶ月" これを、ストアドプロシージャで行うにはどのように記述すればよいでしょうか? よろしくお願いします。

  • エクセルでの勤続年数算出は?

     エクセルで勤続年数を出す方法を教えてください。 過去の質問を見ましたが、どう組み合わせたらいいのか分からず。。。 勤続年数を次のように算出したいのです。 「(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等でいろいろ考えたのですが、いい方法がわかりません。 よろしくお願いします。

  • 勤続年数の平均の出し方を教えて下さい。

    エクセルで勤続年数の表を作成しました。 左のセルから 名前:生年月日: 年齢(=DATEDIF(E3,$I$1,"Y")&"歳"&DATEDIF(E3,$I$1,"YM")&"ヶ月"):入職日:勤続年数(=DATEDIF(G3,$I$1,"Y")&"年"&DATEDIF(G3,$I$1,"YM")&"ヶ月") という表です。 その中で勤続年数の平均を出したいのですが、 勤続年数を足して、人数で割るという形では駄目なようです・・・。 何か方法はないでしょうか? よろしくお願いします。

  • エクセルで勤続年数を計算

    エクセルを使って勤続年数を計算しようと思っています。 入社年月日を入力し、TODAYで今日までの勤続年数を計算しようと思ったのですが、うまくいきません。 どのように入力をして、どのような式にしたらよいでしょうか。 勤続年数は、できれば年と月まででればいいなと思っています。日にちまではいりません。 どなたかわかる方教えてください。      1      2      3   A 入社年月日        勤続年数 B H15.8.1   TODAY   ●年●月

布が進まない
このQ&Aのポイント
  • ブラザーミシンLV2000 computerで布が進まず困っています。
  • 針は上下に動きますが、同じところを縫っている状態です。
  • 試したことやトラブルの経緯についても教えてください。
回答を見る

専門家に質問してみよう