DATEDIF – インクループ株式会社|神奈川県相模原市 ホームページ制作、WEBマーケティング https://incloop.com インクループ株式会社は、お客様の顧客獲得をマーケティングを活用して支援する会社です。 データ分析、市場調査に基づく企画立案、コンテンツ制作、運用を通じてお客様の目標を実現します。 Thu, 19 Nov 2020 00:59:16 +0000 ja hourly 1 https://wordpress.org/?v=4.9.19 初心者でも簡単!EXCEL DATEDIFを使って、在職と退職者を区別した計算方法とそのエラー対策! https://incloop.com/%e5%88%9d%e5%bf%83%e8%80%85%e3%81%a7%e3%82%82%e7%b0%a1%e5%8d%98excel%e3%81%aedatedif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e8%a8%88%e7%ae%97%e3%81%a8%e3%82%a8%e3%83%a9%e3%83%bc%e5%af%be%e7%ad%96/ https://incloop.com/%e5%88%9d%e5%bf%83%e8%80%85%e3%81%a7%e3%82%82%e7%b0%a1%e5%8d%98excel%e3%81%aedatedif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e8%a8%88%e7%ae%97%e3%81%a8%e3%82%a8%e3%83%a9%e3%83%bc%e5%af%be%e7%ad%96/#respond Tue, 22 Nov 2016 10:56:16 +0000 https://incloop.com/?p=9400

こんにちは。 火曜日ブログ担当の田中です。 前回のブログ 「ExcelのDATEDIFを使って日付の計算をして […]]]>

こんにちは。
火曜日ブログ担当の田中です。

前回のブログ

「ExcelのDATEDIFを使って日付の計算をして経過日数(勤続年数)を求める方法!」

の続きになります。

今回は

「在職と退職を区別した時の計算」と「DATEDIF関数で陥るエラー対策」

です。

(過去記事は下記画像リンクからどうぞ)

こんにちは。火曜日担当の田中です。気づいたら寒い季節になりましたね。野菜も価格が高騰していて中々元に戻りません。野菜を買わずに我慢していたら口内炎が…やっぱり...
ExcelのDATEDIFを使って日付の計算をして経過日数(勤続年数)を求める方法! - incloop.com

在職と退職を区別した時の計算

前回の続きですが、前回DATEDIFという関数を使って、勤続年数を出しました。

前回の計算式ですと、退職者も管理していた場合

退職しているにも関わらず、勤続年数がカウントされていしまいます。

下の表の社員Aと社員Cは同じ日の1984年4月1日に入社し、Cは2000年の3月31日に退職をしています。
ところが勤続年数が同じになってしまっています。
excel_datedif_20161122_003

これを退職した場合は“退職日”で計算をするようにします。

前回の式

=DATEDIF(【入社日(開始日)】,TODAY(),”Y”)&”年”&DATEDIF(【入社日(開始日)】,TODAY(),”YM”)&”ヶ月”

の式に

退職日にデータがあったら、退職日を見て、なければ今日の日付で計算をする

という式を追記します。
追記した式が下になります。

 

退職をした日で計算をする式はこれ!

=IF(【退職日(終了日)】=””,DATEDIF(【入社日(開始日)】,TODAY(),”Y”)&”年”&DATEDIF(【入社日(開始日)】,TODAY(),”YM”)&”ヶ月”,DATEDIF(【入社日(開始日)】,【退職日(終了日)】+1,”Y”)&”年”&DATEDIF(【入社日(開始日)】,【退職日(終了日)】+1,”YM”)&”ヶ月”)

※上の式をコピーして【入社日(開始日)】、【退職日(終了日)】はご自身のエクセルと合わせて使用して下さい。
こちらTEST社員名簿で言いますと入社日はC5、退職日はE5と【入社日(開始日)】、【退職日(終了日)】をそれぞれ書き換えます。

計算すると下のようになります。

社員Aは今日までの日で、社員Cは退職日で計算されています。

excel_datedif_20161122_004

 

式の解説とエラー対策

=IF(【退職日(終了日)】=””,DATEDIF(【入社日(開始日)】,TODAY(),”Y”)&”年”&DATEDIF(【入社日(開始日)】,TODAY(),”YM”)&”ヶ月”,DATEDIF(【入社日(開始日)】,【退職日(終了日)】+1,”Y”)&”年”&DATEDIF(【入社日(開始日)】,【退職日(終了日)】+1,”YM”)&”ヶ月”)の式の解説をします。

大きく分けますと3つに分かれます。

excel_datedif_20161122_005

①IF文

=IF(E5=””)でE5のセル(退職日)が空欄だったら、②の式を、なんらかの値が入っていたら③の式を実行しています。
社員Aは退職していないので空欄になっています。
なので、②の式を実行します。

社員Cは退職しているので退職した日付が入っています。
なので、③の式を実行します。

②入社日から今日の日付で計算

これは前回のブログの記事と同じ計算です。

開始日=入社日
終了日=Today関数
を使う事で、今日までの日付で勤続年数を出す事ができます。

③入社日から退社日で計算

③の式では
開始日 = 入社日
終了日 = 退職日+1
となっています。

これは、これは退社日が3月31日だった場合、DATEDIFでは前日の30日までの計算になってしまいます。
31日を含んでほしいところですが…

通常31日付の退職の場合、31日は働いたという扱いになるはずです。
このままですと31日は働いていない状態になってしまうので、+1して調整をします。

これは実際に見た方が早いと思いますので、比較してみます。

退職日に+1しない計算

excel_datedif_20161122_007

 

退職日に+1した計算

excel_datedif_20161122_006

というように+1としてあげる事で正しく調整する事ができます。

このDATEDIF関数は勤続年数に限らず他にも活用できます
是非活用してみてください。

 

Thank you for reading my blog.
See you next time.
Have a nice day.

【PR】相模原市産業会館パソコン教室

相模原市産業会館パソコン教室では「アットホーム」な雰囲気でパソコンを楽しく分かるまで学ぶことができます。

bana-pasoken-blog

この記事であなたの課題を解決することができましたか?

疑問点があったり、解決できなかったことがありましたら、お気軽にご相談してください。

]]>
https://incloop.com/%e5%88%9d%e5%bf%83%e8%80%85%e3%81%a7%e3%82%82%e7%b0%a1%e5%8d%98excel%e3%81%aedatedif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e8%a8%88%e7%ae%97%e3%81%a8%e3%82%a8%e3%83%a9%e3%83%bc%e5%af%be%e7%ad%96/feed/ 0
ExcelのDATEDIFを使って日付の計算をして経過日数(勤続年数)を求める方法! https://incloop.com/excel%e3%81%aedatedif%e6%97%a5%e4%bb%98%e3%81%ae%e8%a8%88%e7%ae%97%e7%b5%8c%e9%81%8e%e6%97%a5%e6%95%b0%ef%bc%88%e5%8b%a4%e7%b6%9a%e5%b9%b4%e6%95%b0%ef%bc%89%e6%b1%82%e3%82%81%e3%82%8b%e6%96%b9/ https://incloop.com/excel%e3%81%aedatedif%e6%97%a5%e4%bb%98%e3%81%ae%e8%a8%88%e7%ae%97%e7%b5%8c%e9%81%8e%e6%97%a5%e6%95%b0%ef%bc%88%e5%8b%a4%e7%b6%9a%e5%b9%b4%e6%95%b0%ef%bc%89%e6%b1%82%e3%82%81%e3%82%8b%e6%96%b9/#respond Tue, 15 Nov 2016 09:54:55 +0000 https://incloop.com/?p=9308

こんにちは。 火曜日担当の田中です。 気づいたら寒い季節になりましたね。 野菜も価格が高騰していて中々元に戻り […]]]>

こんにちは。
火曜日担当の田中です。

気づいたら寒い季節になりましたね。
野菜も価格が高騰していて中々元に戻りません。
野菜を買わずに我慢していたら口内炎が…
やっぱり、高くても野菜は食べなくてはいけませんね。

塩分がしみる…(´;ω;`)

気分を切り替えて、今日のExcelのテーマは日付です。

「Excelで社員名簿を作っている」もしくは、「これから作ろうとしている」

方にとって参考になると思います。
式もコピーできるようにしていますので、是非読んでみて下さい(^^♪

 

DATEDIFを使って”社歴”(勤続年数)の計算をする

会社によると思いますが、勤続年数による表彰だったり、勤続年数による退職金など、勤続年数を調べる機会があると思います。
アナログな計算もいいですが、Excelでは計算する機能が備わっています。
それを使って計算の仕方を書きます。

使う関数は

DATEDIF()

という関数を使います。

この関数は、日付を2 つの日付の間の日数、月数、年数を計算してくれます。

なんとも便利ですね(^^♪

使い方ですが、

「開始日,終了日,単位」

を入力する事で使う事ができます。

実際にこの関数を下の社員名簿で使ってみます。

employee_list_01

開始日、終了日、単位を指定する。

employee_list_02

①で開始日を設定しています。
社歴を求めるので、開始日は入社日になります。
なので、入社日を入れます。

②にて終了日を設定するのですが、まだ退職していない場合終了日を設定できませんよね。
ここでは、今日までの日付をToday()を使って算出します。
※TODAYの日付ですが、2016年11月15日です。

③単位の設定ですが、「Y」を設定しましたが、これは「年」を表します。
何年働いているのかを出力しています。
これにさらに〇〇年と△△ヶ月という期間も追記したいですよね。
DATEDIFの単位を変えるだけで更に詳しい期間を取得する事ができます。
単位の種類ですが、6種類あります。
次のセクションで説明いたします。

 

DATEDIF関数内の単位の一覧

単位は「Y、M、D、YM、MD、YD」の6種類です。

単位「Y」を設定した場合:

求める期間の年だけを出力します。
2014年1月1日~2016年1月1日であれば、2という値が出力されます。

 

単位「M」を設定した場合:

求める期間の月だけを出力します。
2014年1月1日~2016年1月1日であれば、24という値が出力されます。
期間の月の総数が出力されます。

 

単位「D」を設定した場合:

求める期間の日だけを出力します。
2014年1月1日~2016年1月1日であれば、730という値が出力されます。
(365日×2年間です。)
期間の日の総数が出力されます。

 

単位「YM」を設定した場合:

これは前に記述しました、「M」と同様にを出力します。
ただし、こちらの単位では、2014年1月1日~2016年1月1日を調べると0という値が出力されます。
これは月と月の比較になり、12ヶ月目の次はリセットされ、また0から始まります。
2014年1月1日~2016年1月1日であれば2年0ヶ月というイメージです。

 

単位「MD」を設定した場合:

これは前に記述しました、「D」と同様にを出力します。
こちらも前の「YM」と同様に2014年1月1日~2016年1月1日を調べると0という値が出力されます。
こちらの単位では日付と日付の比較になります。
なので、1日同士の比較なので0になります。
2014年1月1日~2016年1月1日であれば2年0ヶ月0日というイメージです。

 

単位「YD」を設定した場合:

これは前に記述しました、「MD」と同様にを出力します。
MDとの違いは、1月1日と2月1日を比較した時に、「MD」では0になり、YDでは「31」になります。
MDでは月末日を迎えると「0」になります。YDでは1年の末日を迎えると「0」(365もしくは366日を迎える時)になります。

 

社歴(勤続年数)○○年△△ヶ月まで出力する方法

ここから、○○年△△ヶ月の出力の方法を記載します。

数式をコピーしたい方はこの下の式をコピーして使用してください。

=DATEDIF(【開始日】,TODAY(),”Y”)&”年”&DATEDIF(【開始日】,TODAY(),”YM”)&”ヶ月”

※【開始日】のところをお客様のExcelのシートに合わせて修正して使って下さい。

これから式の説明をしていきます。

 

employee_list_03

①でやっている事は、開始日から終了日の間の年数のみを取得しております。

②、④ですが、DATEDIFで出力されるのは数値だけです。
なので、”年”と”ヶ月”を文字列で補っています。

③では、①では年しか求める事ができないので、「何か月なのか」を別に求める必要があります。
①の関数と同様にDATEDIFで算出し、単位だけを”YM”にします。

月を求める”M”を使わない理由は、単位のところで説明をしておりますが、Mを使うと、期間内の総月数が出力されてしまう為、1年の末日でリセットのかかる“YM”の方を使っています。

あとは他の社員にも適用させてあげるので、マウスを右下の+に合わせてドラッグします。

employee_list_07

employee_list_05

という感じになりました。

次回は、「DATEDIF関数で陥るエラー対策」と「在職と退職を区別した時の計算」

を記載したいと思います。

次回の記事はコチラです。

こんにちは。火曜日ブログ担当の田中です。前回のブログ「ExcelのDATEDIFを使って日付の計算をして経過日数(勤続年数)を求める方法!」の続きになります。今回は「在...
初心者でも簡単!EXCEL DATEDIFを使って、在職と退職者を区別した計算方法とそのエラー対策! - incloop.com

 

Datedifはわかったけれど、休日を除いた計算ってできるの?

Datedifは指定した期間の日数を求める事ができますが、休日を除いた計算をしたい時ありますよね。

そんな時はこの記事を読むと解決できると思いますよ。

こんにちは。今日は久しぶりのExcelです。最後に更新したExcelの記事はいつなのかと調べると、2017年6月13日と半年以上前でした。新年初のExcel記事はこの記事です。土...
土日など特定の休日を含まない計算方法 NETWORKDAYS.INTLの使い方① - incloop.com
 
※2018年2月15日追記

Thank you for reading my blog.
See you next time.
Have a nice day.

【PR】相模原市産業会館パソコン教室

相模原市産業会館パソコン教室では「アットホーム」な雰囲気でパソコンを楽しく分かるまで学ぶことができます。

bana-pasoken-blog

この記事であなたの課題を解決することができましたか?

疑問点があったり、解決できなかったことがありましたら、お気軽にご相談してください。

]]>
https://incloop.com/excel%e3%81%aedatedif%e6%97%a5%e4%bb%98%e3%81%ae%e8%a8%88%e7%ae%97%e7%b5%8c%e9%81%8e%e6%97%a5%e6%95%b0%ef%bc%88%e5%8b%a4%e7%b6%9a%e5%b9%b4%e6%95%b0%ef%bc%89%e6%b1%82%e3%82%81%e3%82%8b%e6%96%b9/feed/ 0