クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【エクセルの教科書】日付が正しく出ない?

エクセルでは日付関係の関数が複数用意されています。

主にどんなものがあるか、こちらでまとめていきます。

日付関数の種類

Calendar

エクセルでは日付をシリアル値というもので管理します。

 

シリアル値は、1900年1月1日を「1」、1900年1月2日を「2」...と数字を割り振って表現しているものです。

 

書式設定で日付フォーマットにしないと、日付のシリアル値が表示されることあるので注意しましょう。

 

日付でよく利用されるのは以下のものです。

 

現在日付を取得する

NOW

f:id:apicode:20190616110722p:plain

  • 機能:現在の日付時刻を表示
  • 書き方:「NOW()」
  • 使い方:「=NOW()」とすると「 2019/6/16 10:06」のように現在の日付と時間が表示されます。

 

TODAY

f:id:apicode:20190616110730p:plain

  • 機能:現在の日付時刻を表示
  • 書き方:「TODAY()」
  • 使い方:「=TODAY()」とすると 「2019/6/16」のように現在日付を表示します。

NOWと違って、TODAYは現在日付は返しますが、現在時刻は返しません。

 

 

日にちや曜日を調べる

用意された関数を使わなくてもセル内で計算してx日後を算出できます。

 

例えば3日後を出したい場合、A1に日付が入っていれば「=A1+3」で計算できます。

前日なら 「=A1-1」で計算できます。

 

2週間後を計算したい場合には、1週間は7日ですから「7*2」のように計算できます。

つまり、A1に日付が入っていれば「=A1+7*2」で計算できます。

 

WEEKDAY

f:id:apicode:20190616110737p:plain

  • 機能:曜日番号を返します。日曜日なら1、月曜日なら2を返します。 
  • 書き方:「WEEKDAY(日付[またはセル])」
  • 使い方:日付がA1セルにある場合、「=WEEKDAY(A1)」で曜日番号を返します。

 

 

EDATE

f:id:apicode:20190616110747p:plain

  • 機能:日付のx月後を表します。
  • 書き方:「EDATE(日付[またはセル], 月)」
  • 使い方:「=EDATE("2019/5/1",3)」とすると「 2019/8/1」のように3か月後の日にちを示します。

 

ただし「=EDATE("2019/5/31",1)」とすると、6月は30日までなので「2019/6/30」という表示になります。

 

EOMONTH

f:id:apicode:20190616110755p:plain

  • 機能:日付のx月後の月末を表します。
  • 書き方:「EOMONTH(日付[またはセル], 月)」
  • 「=EOMONTH("2019/5/1",3)」とすると「 2019/8/31」のように3か月後の月の最終日を示します。

 

日数をカウントする

NETWORKDAYS
  • 機能:開始日と終了日を指定して、土日以外の日数を取得できます。
  • 書き方:「NETWORKDAYS(開始日付、終了日付)」
  • 使い方:「=NETWORKDAYS("2019/1/1","2019/12/31")」とすると「261」と算出されます。

 

 

日付関数の不具合

vinyl calendar

 

動かない?うまく 作動しない?変な値を返す?

「=EDATE(10,2)」のように数字の引数だけしていすると「70」という数字だけ返ってくる場合がありました。

 

これはシリアル値と呼ばれるもので、1900年1月1日を「1」としてあらわすものです。

試しにセルを選択後、書式設定を使って日付表示に変更します。すると「1900/3/10」と表示されました。

 

書式設定で日付に設定していないと、「日付が出ない?」と困る場合があるので注意しましょう。

 

令和にならない?

ウィンドウズアップデートが実施され、ウィンドウズで令和と自動で表記されるようになりました。

エクセルでも「書式設定」で日付を和暦で表示させると「令和」になります。

 

ただし一部の古いOS(マックのシエラなど)は令和に未対応のため、書式設定だけでは「令和」にはなりません。VBAを使って自分でカスタマイズする必要はあります。

  

#NAMEエラー

「=NOW()」とすべきところを「=NOW」としてしまうなど、書き方が正しくない場合にこのようなエラーになります。

 

EDATEがない?

古いエクセルの場合EDATE関数が実装されていないことがありました。

最新、または比較的新しいバージョンのエクセルでは利用可能となっています。

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ