Excelでdatedif関数を使用するにはどうすればよいですか?
スプレッドシートのセルに「DATEDIF」と入力してみてください。その名前を持つものは見つかりません。
ヘルプシステムを見てもその名前は載っていません。
ただし、Excel 2000 ヘルプ システムに戻ると、そこに DATEDIF 関数が記載されていることがわかります。そうですね、なぜ Microsoft が関数リストから DATEDIF 関数を非表示にしなければならないのかは謎です。
私に言わせれば、DATEDIF は 2 つの日付の差を取得するのに最適な関数です。その最良の例の 1 つは年齢の計算です。
ここで問題は、この関数が存在しない場合、すべての新しいバージョンの Excel でどのようにして使用できるのでしょうか?
その答えは、Excel のすべての関数を使用するのと同じように使用できるということです。唯一の違いは、これを挿入しようとしても、Excel では構文引数が表示されないことです。そこで今日は、この記事で DATEDIF 関数について詳しく説明したいと思います。
構文
DATEDIF(日付1,日付2,間隔)
- Date1:間隔の計算を開始する日付。簡単に言えば、これは間隔の開始日です。
- Date2:間隔を計算したい日付。簡単に言うと、これはインターバルの終了日です。
- 間隔:関数から返される時間の和集合を表します。さまざまな時間単位を表す 6 つの特定のテキスト文字列があります。
異なる間隔を使用する
2 つの日付の差を計算するには、6 つの異なるタイプの間隔があります。
1. 年を表す「y」
超過した月と日を無視して、開始日と終了日の間の完全な年数を返します。
上の例では、「y」を使用して 2 つの日付間の間隔を計算しました。これら 2 つの日付の差が 25 年 (37 日以上) を超えていることを確認すると、しかし、彼は完了した年数、つまり 25 年だけを返しました。
2.「m」は月を表します
余分な日数を無視して、開始日と終了日の間の完全な月数を返します。
結果では 301 か月が返されました。これは、超過 7 日を無視した丸月の合計です。
3. 日数を表す「d」
開始日と終了日の間の合計日数を返します。日は 2 つの日付間の最小単位であるため、ここでは合計日数が取得されます。
上の例では、開始日と終了日の間の合計日数が得られます。
4. 数年以上の月を表す「ym」
丸1年にわたる丸の月の数値を返します。簡単に言うと、2 つの日付間の合計間隔が 25 年 1 か月と 7 日の場合、結果では 1 か月が返されます。
上の例では、開始日と終了日の間の同年後の残りの丸月数を計算しました。
5. 年単位の日数を表す「yd」
完了した年数の日数を返します。簡単に言うと、2 つの日付間の合計間隔が 25 年と 37 日である場合、結果では 37 日が返されます。
上の例では、開始日と終了日の間の 1 年間が経過した後の残りの日数を計算しました。
6. 月単位の日数を表す「md」
月全体の超過日数が返されます。簡単に言うと、2 つの日付間の合計間隔が 301 か月と 7 日の場合、結果では 7 日が返されます。
上の例では、開始日と終了日の間の 1 か月が経過した後の残りの日数を計算しました。
Excelファイルを取得する
例: DATEDIF を使用して Excel で年齢を計算する
ここでは、年、月、日を個別に表示できる形式で年齢を計算する必要があります。たとえば、26 年と 8 か月と 17 日です。このためには、DATEDIF を 3 回結合する必要があります。
手順は次のとおりです。
1. 人の満年齢を計算する
まず、誕生日から今日の日付までの合計年数を計算する必要があります。そして、この場合、式は次のようになります。
=DATEDIF(Date-of-Birth,TODAY(),"y")
これにより、2 つの日付の間に完了した年が返されます。
2. 満年齢後の満月を計算します。
次に完了月を計算します。つまり、あなたの年齢が 26 歳 5 か月と 19 日の場合、5 か月を取り戻す必要があります。
以下の式が使用できます。
=DATEDIF(Date-of-Birth,TODAY(),"my")
これにより、完了した年後の誕生日から今日の日付までの完了した月が返されます。
3. 満年と満月を経た人の年齢の満日
最終的には、年と月を完了した後の残りの日数を計算する必要があります。式は次のとおりです。
=DATEDIF(Date-of-Birth,TODAY(),"md")
これは、年と月を完了した後、生年月日から今日の日付までの残りの日数を返します。
4. 3 つの式を組み合わせて実際の年齢を求めます
次に、これらすべてを組み合わせて正確な年齢を作成します。スプレッドシートのセルに以下の数式を入力し、「生年月日」を実際の生年月日に置き換えます。
="You age is "& DATEDIF(Date-of-Birth,TODAY(),"y") &" Year(s), "& DATEDIF(Date-of-Birth,TODAY(),"ym")& " Month(s) & "& DATEDIF(Date-of-Birth,TODAY(),"md")& " Day(s)."
それだけです。
Excelファイルを取得する
注意事項
- 日付内の時刻は無視されます。
- 終了日 (Date2) は開始日 (Date1) よりも後の日付である必要があります。
関連する式
- Excel で 2 つの日付を比較する
- Excelで日付を数値に変換する
- Excel でテキストを日付に変換する
- Excelで日付範囲を作成する
- Excel のカスタム日付形式