この記事では、DATEDIF 関数について紹介します。 DATEDIF 関数は、年齢、勤続年数、給与勤続年数、プロジェクト サイクルの計算に使用できるだけでなく、誕生日のカウントダウン リマインダー、プロジェクト完了日のカウントダウン リマインダーなどの作成にも使用できます。これがあれば、愛する人の誕生日、プロジェクトの完了日、息子や娘の卒業式など、大切な日をもう忘れることはありません。
DATEDIF 関数は、通常見られる関数とは異なります。ご存知のとおり、通常、EXCEL では関数の最初の数文字を入力するだけで、関数が自動的にポップアップ表示されますが、関数のすべての文字を入力しても、EXCEL にはプロンプトが表示されません。 。そんな機能があるのかと疑問に思う友人もいるかもしれません。実は、DATEDIF 関数は EXCEL の隠し関数であり、ヘルプや挿入式では使用できず、手動でのみ入力できます。
非隠し関数の入力を求めるプロンプトがあります
隠し関数の入力を求めるプロンプトはありません
DATEDIF 関数は次のことができます。年齢、勤続年数、年功給与、プロジェクトサイクルの計算に使用できるだけでなく、誕生日のカウントダウンリマインダー、プロジェクト完了日のカウントダウンリマインダーなどとしても使用できます。以下でそれを理解しましょう。
1. DATEDIF の最初の概要
DATEDIF 関数は、2 つの日付の差を計算し、2 つの日付間の年数、月数、および日数を返すために使用されます。
関数構造: DATEDIF (開始日、終了日、戻り値の型)
1. パラメータの説明
1) 開始日と終了日
開始日と終了日は、差異を計算する必要がある 2 つの日付です。
これら 2 つの日付の入力方法は次のとおりです。
① 「2017/10/16」のように、日付を引用符で囲んで直接入力することもできます。開始日は 1900 年より前にすることはできず、終了日は開始日よりも後の日付にする必要があることに注意してください。
② セル内の日付を直接参照することもできます
③ 他の関数を使用して取得することもできますTODAY () など (注: この例の日は 2019 年 2 月 15 日です)
#2) 戻り値の型
# 戻り値の型は決済結果の型を設定するために使用されます。戻り値の型はテキストであり、入力時に二重引用符が必要です。
y: 2 つの日付の間の整数を返します (1 年未満の場合はカウントされません)
m: 整数の月数を返します (1 か月未満の場合) )
d: 2 つの日付間の日数を返します。
ym: 整数年の差を省略した後、2 つの日付間の整数月の差を計算します。たとえば、2 つの日付 (2017-4-20、2019-2-20) が 1 年と 10 月だけ異なり、年全体が省略されてその差が 1 年である場合、ym の結果は 10 月になります。別の例として、2 つの日付 (2018-4-20、2019-2-20) が 10 か月離れている場合、ym の結果は 10 月になります。
yd: 整数年の差を省略した後、2 つの日付の間の日数の差を計算します。たとえば、2 つの日付 (2017-4-20、2019-2-20) の差が 1 年と 306 日で、年全体の差が省略された場合、ym の結果は 306 日になります。
md: 年全体と月全体の差を省略した後、2 つの日付の間の日数の差を計算します。たとえば、2 つの日付 (2017-4-20、2019-2-25) の差が 1 年 10 か月と 5 日で、1 年 10 か月の差が省略された場合、md の結果は 5 になります。日々。
2. 小さな栗
栗をください
DATEDIF("2017/2 / 15","2019/2/15","y")、「2017/2/15」と「2019/2/15」の間の整数年の差を計算します。ここでの差は完全に 2 年分であるため、2 に等しくなります。
DATEDIF("2017/1/6","2019/2/15","d")、「2017/1/6」と「2019/」を計算します。 2/15 インチ間の日数は 770 に相当します。
DATEDIF("2017/1/6","2019/2/15","ym")
、2 つの日付の差を計算します。丸一年から離れた月数。 2 つの日付の実際の違いは、丸 2 年 (24 か月) を含む 25 か月であるため、ym タイプの戻り値は 25-24=1 になります。 <p><img src="https://img.php.cn/upload/article/000/000/024/aa1797dd147f6cfd77fe45e33627e0b4-10.png" style="max-width:90%" style="max-width:90%" alt="Excel関数学習でのDATEDIF()の使い方" ></p>
<p><code>DATEDIF("2017/1/6","2019/2/15","yd")
, 2 つの日付の間の期間を計算します。 year 間の日数。 2 つの日付の実際の差は、丸 2 年 (730 日) を含む 770 日であるため、yd タイプの戻り値は 770-730=40 となります。
3. 重要なポイントを使用する
1) ここまでは二重引用符
, 私の友人はすでに DATEDIF 関数について予備的な理解を持っていると思いますので、いくつかの数式を書いて練習することができます。数式を記述するときは、二重引用符の使用に注意してください。
(1) 1 番目と 2 番目のパラメータに日付を直接入力する場合は、日付を二重引用符で囲む必要があります。
(2) 3 番目のパラメータはテキストなので、必ず二重引用符を含めてください。
2) エラーの種類
DATEDIF 関数でエラーが発生した場合、通常は次の 3 つのカテゴリがあります。
エラーコード |
エラー理由 |
NUM! |
①関数の第 3 引数の戻り値の型の入力値が正しくありません
②第 1 引数が第 2 引数より大きいです
|
##VALUE!
|
開始日または終了日は、日付形式ではないセル形式を参照しています
|
NAME? |
①関数の入力が間違っています ②テキスト型データにダブルクォーテーションがありません
|
#2. DATEDIF 関数の具体的な応用例
1. 生年月日から年齢を計算する
生年月日が与えられると、次の従業員の今年の年齢を調べます。
答えを覗く必要はありません~
式: =DATEDIF(D2,TODAY() , "y")
#TODAY() 関数はシステムの現在の日付を取得します。記載例は 2019/2/15 の計算結果であり、実際の日付を取得するものではありません。それは私の友人が得た結果と一致するはずです~はどうですか?とても簡単なことではありませんか?
2. ID 番号に基づいて年齢を計算する
前の例にはすでに生年月日が含まれているため、DATEDIF を直接使用します。それを適用する関数 TODAY 関数は年齢を計算できます。 ID番号しかない場合、年齢を計算するにはID番号から生年月日を抽出して計算する必要があります。式は次のとおりです。
① ② ③
式の分析:
①MID関数を使用してIDカード番号の中の生年月日8桁の数字を抽出します。
② TEXT関数を使用して、これらの8桁の数字を「0-00-00」の形式で表示し、日付形式のテキストを取得して追加します。 TEXT 関数の前 テキストを日付に変換する負から正への演算。
③ 最後に、上記で取得した日付を DATEDIF 関数の開始日として使用し、TODAY() を終了日として使用し、戻り値の型を "y" に設定します。 2 つの日付の間の整数の年数、つまり年齢を計算します。
3. 入社日から従業員の勤続年数を計算します(年、月、日の形式で表示されます)
ケース 1 の方法を使用して計算します従業員の入社時期がわかっている場合、つまり従業員の勤続年数を満年で計算することができます。しかし、従業員の勤続年数を何年、何月、何日など詳細に計算する必要がある場合はどうすればよいでしょうか。答えは次のとおりです。
#式は長いですが、非常に理解しやすいです。まず、3 つの DATEDIF 関数を使用して 2 つの日付間の年、月、日の差を計算し、最後にテキスト コネクタ「&」を使用して接続して結果を取得します。
4. 年功賃金の計算
2019 年に国が公布した年功賃金規定によると、1 年間継続して勤務した従業員は月 50 元です。 2 年継続勤務の場合は 100 元/月、3 年連続で 150 元/月、4 年連続で 180 元/月など、累積上限は 10 年です。 ######混乱していますか?大丈夫です。ステップバイステップで始めましょう。まず勤続年数 (満年で計算) を計算します。
式:
=DATEDIF(C2,D2,"y")
次に、ハイライト部分に進み、長さを計算します。勤務給のこと。
ここでは、IF 関数と MIN 関数を使用します。 2019年に州が発行した年功賃金規定によると、勤続1~3年の給与は年間50円、勤続4〜10年の給与は年間30円ずつ増加する。 IF関数を使って個別に判定することも可能です。
まず、年功 E2 が 4 未満かどうかを判断します。4 未満の場合は、従業員の年功給与が毎年 50 ずつ増加することを意味し、「
」の結果が返されます。年功 E2 が 4 以上の場合、年功給は 150 年ごとに 30 ずつ増加し、「」の結果が返されます。
年功給与は 10 年間のみ累積でき、10 年を超える年功給与は 10 年間の年功給与と一致するため、MIN 関数を使用して 10 の間の最小値を返します。そして年功序列としてE2。
5. 従業員の誕生日リマインダーを作成する
次は従業員情報テーブルです。従業員に誕生日が近づいていることを 7 日前に通知する誕生日リマインダーを作成したいと考えています。
# ヒント: IF 関数と組み合わせて使用してください。考えてみてください~
# # ########## を通して私たちは通常、次の誕生日の日付から今日の日付を引くことによって誕生日までの日数を計算します。この計算式は私たちの習慣とは異なり、今日の日付から生年月日を引いて計算し、さらに誕生日を7日減らす計算式です。
なぜこのようなことができるのでしょうか?
まず、yd 戻り値の型で現在の日付と生年月日の間の日数を見てみましょう。次の表は、1999年2月22日の誕生日を例に、昨日、今日、明日、明後日…から誕生日までの日数を示しています。
#N16 セル数式 =
DATEDIF($J$13,N15,"yd")、$J$13 は生年月日を表し、N15 は別の現在の日付を表します。
明らかに、誕生日の間隔は 0 です。誕生日の日付より小さい場合は日付が誕生日に近づき、間隔が大きくなるほど 365 に近づきます。誕生日の日付より大きいほど、日付が誕生日に近づくほど間隔は小さくなり、0 に近づきます。 2 番目に、この場合は、IF 関数を直接適用して、間隔が 7 以下であるかどうかに基づいて誕生日リマインダーの式を与えます =IF(DATEDIF($J$13,N15,"yd")もうすぐ誕生日が近づいています (La","") は 7 日前にリマインダーを実現できません。逆に、次のように、誕生日と誕生日の 7 日後にのみリマインダーを実現できます。
#最後に、何ですか? 7 日前にリマインドできますか? 方法は 2 つあります。1 つ目は、間隔日 0 ~ 7 を 7 日前に表示するようにすることです。このとき、どちらかを減らすことです。開始日を 7 日 ($J$13-7) 単位で変更するか、終了日を変更します。次のように 7 日 (N15 7) を追加します。
後の日数開始日を 7 日短縮します
開始日を 7 日短縮した後の誕生日リマインダー2 つ目の方法は、判定条件を次のように変更することです。 >=358. 以下の通り:
## 変更条件を判断した後、誕生日のリマインダーは行われません。
OK、ここでは皆さんを信じています。前の式を理解します。これに基づいて、リマインダーをより人道的にするために式を変更できます。 =IF(DATEDIF(D3-7,TODAY(),"yd")only"&7-DATEDIF (D3-7,TODAY(),"yd")&"私の誕生日です","")
さらにいくつかの言葉: 通常の考えを使用すると、次の誕生日の日付から現在の日付を引いて誕生日までの日数を計算する場合、誕生日リマインダーの式はどのように記述すればよいでしょうか?答えは次のとおりです。 =IF(DATEDIF(TODAY(),IF(TEXT(D3,"M月DD日")月DD日"),YEAR(TODAY() 365) ,YEAR( TODAY()))&"年"&TEXT(D3,"M月DD日"),"yd")もうすぐあなたの誕生日です","")(today(),"m
これは非常に長い式です!!!長い式は、次の誕生日の日付から抽出されます。IF(TEXT(D3)数式では、"M 月 DD 日")
月 DD 日"),YEAR(TODAY() 365),YEAR(TODAY()))&"年"&TEXT(D3,"M 月 DD 日")次の誕生日の日付を取得するために使用されます。意味: 生年月日の月日が今日の月日よりも小さい場合、今年の誕生日は過ぎており、新しい誕生日は YEAR(TODAY() 365)& である必要があることを意味します。 Year"&TEXT(D3,"M 月 DD 日 "; 逆に、今年の誕生日はまだ過ぎていないことを意味し、誕生日の日付は YEAR(TODAY())&"年"&TEXT(D3,"M月 DD 日". (today(),"m
YEAR(TODAY()) は、今年の年を抽出し、365 を加算して来年の年を取得します。
TEXT(D3,"m月dd日")は、生年月日の月と数字を抽出します。
この時点で、DATEDIF 関数の導入は完了です。年齢、勤続年数、年功賃金を計算する場合でも、誕生日のリマインダーを与える場合でも、DATEDIF を使用できます。もちろん、DATEDIF を使用して、プロジェクトの時間や完了までの日数を計算し、完了のカウントダウン リマインダーを提供することもできます。人事・給与・プロジェクト管理の仕事をしている人は、今すぐ実践してみましょう!
関連する学習の推奨事項: Excel チュートリアル
以上がExcel関数学習でのDATEDIF()の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。