本文へスキップ
totonoe

Excel・表計算を整える

初級

Excel日付関数を整える

= 勤続年数・支払期日・営業日を、関数と一緒に計算できる

「勤続何年?」「支払期日はいつ?」「10営業日後は?」——実務の日付計算を、答えと一緒に Excel の完成数式で覚えられる体験ツールです。日付を入れるとその場で計算し、コピーしてそのまま貼れる数式(DATEDIF・EOMONTH・WORKDAY・NETWORKDAYS・TEXT)を生成します。すべてこの端末の中で完結(送信ゼロ)。

i

TLDR — 30秒で分かる

勤続年数はDATEDIF、支払期日はEOMONTH、10営業日後はWORKDAY。実例で計算して、数式をコピーして持ち帰る。

主な機能

  • DATEDIF:2つの日付から年数・月数・日数(勤続年数・年齢)
  • EOMONTH:月末締め・翌月末払いの支払期日
  • WORKDAY / NETWORKDAYS:営業日の加算・日数(祝日リスト対応)
  • TEXT:日付の表示形式(yyyy年m月d日(aaa) 等)
  • 各機能で完成数式を自動生成してコピー
  • シリアル値の考え方をやさしく解説・送信ゼロ

DATEDIF

① 期間を数える — DATEDIF

2つの日付の間が「何年・何ヶ月・何日」かを数える関数。勤続年数・年齢・記念日からの経過はぜんぶこれ一本です。3つ目の引数("Y" や "YM")で数え方を切り替えます。

2つの日付を入れる 入力するそばから計算(送信ゼロ)

実例プリセット

RESULT

計算中…

単位 意味 結果
"Y" 満の年数 勤続年数・年齢はこれ
"M" 満の月数(通算) 「通算◯ヶ月」を出したいとき
"D" 日数 日付同士の引き算と同じ
"YM" 年数を除いた端数の月 「◯年◯ヶ月」の◯ヶ月部分
"YD" 年数を除いた端数の日 1年未満の日数
"MD" 年・月を除いた端数の日 「◯年◯ヶ月◯日」の◯日部分(癖あり)

完成数式(あなたの日付入り・セルに貼るだけで動く)

2本目は「◯年◯ヶ月◯日」を1つのセルで出す定番レシピ。セル参照で使うなら A2 に開始日・B2 に終了日を入れて、上の表の数式をどうぞ。

💡 豆知識:DATEDIF は入力補完に出ない「隠し関数」

セルに「=DATE」と打っても候補に DATEDIF は現れず、関数の挿入ダイアログにも載っていません。昔の表計算ソフト Lotus 1-2-3 との互換のためだけに残されている関数だからです。でも 手で最後まで打てば Excel でも Google スプレッドシートでもちゃんと動きます。「候補に出ない=使えない」ではないので安心してください。

EOMONTH

② 月末日を出す — EOMONTH

基準日から◯ヶ月後の「月末日」を返す関数。月によって28日・30日・31日と変わる月末を自動で当ててくれるので、請求書の「今月末締め・翌月末払い」の支払期日づくりの定番です。

基準日と「何ヶ月後」を入れる 入力するそばから計算(送信ゼロ)

RESULT

計算中…

前月末(-1)

当月末(0)=締め日

翌月末(1)=支払期日の定番

翌々月末(2)

完成数式

結果が「46356」のような数字で出たら、それは日付の中身(シリアル値)。セルの表示形式を「日付」に変えれば直ります(下の🔰参照)。「◯ヶ月後の同じ日」が欲しいときは兄弟関数の EDATE をどうぞ。

💡 実務例:請求書の支払期日

「今月末締め・翌月末払い」なら、請求日のセルが A2 のとき支払期日は =EOMONTH(A2,1)。 7月4日の請求 → 7月末で締めて、支払期日は 8月31日。月末が 28日でも 31日でも自動で合わせてくれます。

WORKDAY / NETWORKDAYS

③ 営業日で数える — WORKDAY と NETWORKDAYS

土日を除いた「営業日」の計算。◯営業日後の日付を出すのが WORKDAY、2つの日付の間の営業日数を数えるのが NETWORKDAYS。祝日リストを渡せば祝日も除けます。

祝日リスト(任意・下の2つの計算の両方で使います) 1行に1日・空欄なら土日だけ除外

祝日リストは空です(土日だけを除いて計算します)。

Excel も日本の祝日を自動では知りません。実務では祝日を縦に並べた列を作って第3引数で渡します(内閣府の「国民の祝日」一覧などからコピペ)。

◯営業日後はいつ?(WORKDAY) 入力するそばから計算(送信ゼロ)

開始日は数えず、翌営業日から1・2・3…と数えます(Excel と同じ)。マイナスの営業日で「納期から逆算」もできます。

2つの日付の間は何営業日?(NETWORKDAYS) 入力するそばから計算(送信ゼロ)

開始日・終了日の両方を含んで数えます。「今月の稼働日数」「有給まであと何営業日」などに。

💡 豆知識:土日休みじゃない職場は「.INTL」

WORKDAY / NETWORKDAYS が除くのは土日固定。火水休みのお店などは WORKDAY.INTLNETWORKDAYS.INTL を使うと週末の曜日を自由に指定できます。

TEXT

④ 見た目を整える — TEXT

日付を「2026年7月4日(土)」のような好きな見た目の文字列に変える関数。表示形式コード(yyyy・m・d・aaa …)をここでミニ体験できます。

日付と表示形式を入れる 入力するそばから計算(送信ゼロ)

よく使う形式(押すと上の欄に入ります)

RESULT

計算中…

完成数式

⚠️ TEXT の結果は「文字列」。見た目は日付でも、足し算や並べ替えには使えなくなります。計算は日付のまま・見た目だけ TEXT、と列を分けるのがコツ。

コード 意味(2026年7月4日の場合)
yyyy 西暦4桁(2026)
yy 西暦下2桁(26)
m / mm 月(7 / 07)
d / dd 日(4 / 04)
aaa 曜(土)
aaaa 曜日(土曜日)
ggge 和暦(令和8)
ddd / dddd 英語曜(Sat / Saturday)

🔰 かんたんに言うと:Excel の日付は「通し番号」

Excel は日付を「1900年1月1日を 1 とした通し番号(シリアル値)」で覚えています。 今日()は 番。 だから「日付の引き算=ただの数字の引き算」で日数が出るし、DATEDIF も EOMONTH もこの番号の上で動いています。 セルに 46207 のような数字が出たら、それは日付の中身が見えているだけ——表示形式を「日付」に変えれば直ります。

おまけ:Excel は実在しない「1900年2月29日」を 60 番として持っています。昔のソフト Lotus 1-2-3 の間違いに合わせたまま今日まで残っている有名な仕様ですが、1900年3月1日以降の日付には影響しません。

使い方と読み方

日付計算の「実務の型」は、この4関数でほぼ足りる。

  1. 1

    期間は DATEDIF(勤続年数・年齢)

    単位 "Y" で満の年数、"YM"・"MD" と組み合わせれば「◯年◯ヶ月◯日」。誕生日や記念日が来ていない年は数えない、実際の暦どおりの計算です。入力補完に出ない隠し関数ですが、手で打てば動きます。

  2. 2

    締め・支払いは EOMONTH(月末日)

    「今月末締め・翌月末払い」は =EOMONTH(請求日,1) の一発。2月が28日か29日かも、月が30日か31日かも自動で判断してくれます。

  3. 3

    営業日は WORKDAY と NETWORKDAYS

    「10営業日後」を出すのが WORKDAY、「間に何営業日あるか」を数えるのが NETWORKDAYS。土日は自動で除きますが、日本の祝日は自分で祝日リストを渡す必要があります。ここが実務でいちばん忘れやすいポイント。

  4. 4

    見た目だけ TEXT、計算は日付のまま

    「2026年7月4日(土)」のような表示は TEXT 関数で。ただし結果は文字列になり計算に使えなくなるので、計算用の列と表示用の列を分けるのが崩れない表の作り方です。

このページの計算は Excel の実挙動に合わせています。DATEDIF の "MD" が月末またぎでマイナスになる癖や、シリアル値の「1900年2月29日」まで含めて、Excel に貼ったときに同じ答えになることを優先しました。Google スプレッドシートでもここで生成した数式はそのまま使えます(TEXT の和暦 ggge のみ Excel 専用)。

🔒 計算はすべてあなたのブラウザの中(純JavaScript)で完結します。入力した日付や祝日リストはサーバに送られません(送信ゼロ)。

よくある質問

Q. DATEDIFが入力候補に出てきません。

A. DATEDIFは古いLotus 1-2-3互換のために残されている「隠し関数」で、入力補完に出ませんが手で打てばちゃんと動きます。=DATEDIF(開始日, 終了日, "Y") のように使います。

Q. 勤続年数や年齢はどう計算しますか?

A. =DATEDIF(入社日, TODAY(), "Y") で満年数が出ます。"YM" を使えば「◯年◯ヶ月」の端数の月も出せます。本ツールにプリセットがあります。

Q. 「月末締め・翌月末払い」の期日は?

A. =EOMONTH(請求日, 1) で翌月末が出ます。0なら当月末、2なら翌々月末。EOMONTHは「◯ヶ月後の月末」を返す関数です。

Q. 「10営業日後」はどう出しますか?

A. =WORKDAY(開始日, 10) で土日を除いた10営業日後が出ます。祝日も除きたい場合は第3引数に祝日リストの範囲を渡します。逆に2つの日付の間の営業日数は NETWORKDAYS です。

Q. 日付を「2026年7月5日(日)」のように表示したい。

A. =TEXT(A1, "yyyy年m月d日(aaa)") で文字列として作れます。aaa が曜日の短縮形です。表示形式(セルの書式)で見た目だけ変える方法との違いも本ツールで解説しています。

Q. Excelの日付の「シリアル値」とは何ですか?

A. Excelは日付を「1900年1月1日を1とした連番」で持っています。だから日付同士の引き算ができ、45000のような数字が出てきたら日付の書式が外れただけ、と分かります。

Q. 入力した日付はどこかに送られますか?

A. いいえ。すべてブラウザ内で計算します(送信ゼロ)。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

RELATED TOOLS

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト