日付の関数の使い方:Excel関数

スポンサードリンク


更新: 2024/1/14

日付の計算 今日の日付[TODAY()]
現在の日時[NOW()] シリアル値から数値へ(YEAR,MONTH,DAY)
数値からシリアル値へ(DATE) 文字列をシリアル値へ(DATEVALUE)
期間の計算(DATEDIF) 日付の表示形式
日付の表示を和暦に変換する(DATESTRING)
月末の日付を返す(EOMONTH) 指定した月数分だけ前後した日付(EDATE)
日付の差を求める(DAYS) 日付の差を求める(DAYS360)
1年間に対して占める割合(YEARFRAC)  

日付の計算    topへ

日付時刻を表示する   topへ
 トゥデイ
=TODAY() :今日の日付を表示する。ショートカットキーでは[Ctrl]+[;] (セミコロン)
 ナウ
=NOW()   :今日の日付と時刻を表示する。ショートカットキーでは[Ctrl]+「:」(コロン)

【問題】

  1. 今日の日付をB2セルに、今の時刻をC2セルに表示しなさい。
  2. B3セルに明日の日付を表示しなさい。
  3. C3セルに1時間後の時刻を表示しなさい。

【解答例】

【補足説明】

再計算について

開始日と終了日との日数差を調べて、指定した単位で表示します    topへ
 デイトディフ
=DATEDIF(開始日,終了日,"単位")
      開始日と終了日との日数差を調べて、指定した単位で表示します
    ”単位” Y:年数  M:月数  D:日数
         YM:年数表示での端数の月数
         YD:         端数の日数
         MD:月数表示での端数の日数

     (注)単位は「 ” 」(二重引用符)でくくります。

【問題1】次の人の年齢を求めましょう。基準日はF2セルです。
  B C D E F G
2 氏名 生年月日 年齢 2020/5/10 現在
3 山田太郎 1970/10/11 49 6 ヶ月
4 鈴木一郎 1975/12/21 44 4 ヶ月

【問題1の解答例】

【Step Up】

DATEDIF関数に関しての注意事項
  •  (注)この関数はHELPに記載されていません(Excel2002)。LOTUSとの互換用に採用された関数です。
     (注)”YD"や”MD"で日数を計算させると、間違った値になるバグがあるようです。注意してください。(Excel2016でも再現されます。記:.2018/8/4)

              この例ではC列の答えは「10」が正解です。
  • [参考資料]
    • [特定のシナリオで誤った計算結果を返すことがあります。]と注意書きがあります。
      DATEDIF 関数 - Office サポート
      https://support.office.com/ja-jp/article/DATEDIF-%E9%96%A2%E6%95%B0-25dba1a4-2812-480b-84dd-8b32a451b35c
    • [XL2002]ヘルプおよび関数ウィザードに表示されない関数について
      http://support.microsoft.com/kb/418360/ja
  • Excel2007とExcel2003以前とでDATEDIF関数の結果が異なるようです
    なんかややこしいことになっているようです。角田さんのサイトの「Excel2003以前と、Excel2007では DATEDIF 関数の算出結果が異なります」に解説などがありますのでそちらを参照してください。

日付データ(シリアル値)から「年」「月」「日」を取り出す  topへ
 イヤー
=YEAR(日付)
  :『年』を返します。1900 〜 9999 (年) の範囲の整数となります。
 マンス
=MONTH(日付)
 :『月』を返します。1 〜 12 (月) の範囲の整数となります。
 デイ
=DAY(日付)
  :『日』を返します。1 〜 31 の範囲の整数となります。

【問題1】

【解答1例】

文字列の日付から年月日を取出す

空白セルを参照する時の注意

元号の数値(和暦)を求めたい時

「年」「月」「日」の数値を日付データ(シリアル値)に変える   topへ
 デイト
=DATE(年,月,日)  :シリアル値を返します。

【問題1】

【問題1の解答例】


【問題2】

【問題2の解答例】

日付を表す文字列をシリアル値に変換する   topへ
 デイトバリュー

=DATEVALUE(日付文字列)

【問題】

【解答例】

同じセルで文字列の日付をシリアル値に変更する

日付の表示を和暦に変換する   topへ
 デイト ストリング
=DATESTRING(日付のシリアル値)
(注)他の表計算アプリケーションとの互換を保つために用意された関数のため、ヘルプおよび関数ウィザードには表示されません。
  日本語版 Excel でのみ追加されたものです。

月末の日付を求めます   topへ
 エンドオブマンス
=EOMONTH(開始日,月数)
      開始日から指定した月数分だけ前後した月末の日付を求めます。
      求めた日付はシリアル値ですので、
表示形式を日付に変更します
 (注) Excel2003以前のバージョンでは、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。

【問題】2003年2月10日に請求書を発行します。
支払期限は翌月末です。C2セルに支払期限日を表示しなさい。

【解答例】C3セルがシリアル値で表示されたら、[ホーム]タブの数値グループの[セルの書式設定]で表示形式を日付に変更します。
セルの書式設定ダイアログを開く、ショートカットキーは[Ctrl]+[1]です。

【他の解答例】

土日、祝日を除いた月末を求めるには

指定した月数分だけ前後した日付   topへ
 イーデイト
=EDATE(開始日,月数)
   開始日から起算して、指定された月数だけ前または後の日付に対応するシリアル値を返します。
 (注) Excel2003以前のバージョンでは、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。

【問題】2003年2月10日に請求書を発行します。
支払期限の3ヶ月後の日付を表示しなさい。 【解答例】

【Memo】月末からの計算は下表のように、該当日が無い場合は月末の日付となります。

終了日と開始日の差を求めます。   topへ
 デイズ
=DAYS(終了日,開始日)
(注)Excel2013で追加された関数です。

終了日と開始日の差を求めます。   topへ
 デイズ 360
=DAYS360(開始日,終了日,[方式])

2つの日付の間の日数が 1年間に対して占める割合を求めます。   topへ
 イヤー フラクション
=YEARFRAC(開始日, 終了日, [基準])

シリアル値と日付システム

パソコンの日付と時刻の変更方法    topへ

スポンサードリンク



よねさんのWordとExcelの小部屋 »  エクセル関数一覧表 »  日付の関数

PageViewCounter
Counter
Since2006/2/27