Excel・表計算を整える
初級Excel日付関数を整える。
= 勤続年数・支払期日・営業日を、関数と一緒に計算できる
「勤続何年?」「支払期日はいつ?」「10営業日後は?」——実務の日付計算を、答えと一緒に Excel の完成数式で覚えられる体験ツールです。日付を入れるとその場で計算し、コピーしてそのまま貼れる数式(DATEDIF・EOMONTH・WORKDAY・NETWORKDAYS・TEXT)を生成します。すべてこの端末の中で完結(送信ゼロ)。
TLDR — 30秒で分かる
勤続年数はDATEDIF、支払期日はEOMONTH、10営業日後はWORKDAY。実例で計算して、数式をコピーして持ち帰る。
主な機能
- DATEDIF:2つの日付から年数・月数・日数(勤続年数・年齢)
- EOMONTH:月末締め・翌月末払いの支払期日
- WORKDAY / NETWORKDAYS:営業日の加算・日数(祝日リスト対応)
- TEXT:日付の表示形式(yyyy年m月d日(aaa) 等)
- 各機能で完成数式を自動生成してコピー
- シリアル値の考え方をやさしく解説・送信ゼロ
DATEDIF
① 期間を数える — DATEDIF
2つの日付の間が「何年・何ヶ月・何日」かを数える関数。勤続年数・年齢・記念日からの経過はぜんぶこれ一本です。3つ目の引数("Y" や "YM")で数え方を切り替えます。
実例プリセット
RESULT
計算中…
—
※ 端数の「日」("MD")がマイナスになっています。月末またぎで起こる Excel 本体の癖(Microsoft も公式に注意喚起)で、このツールも Excel と同じ値を出しています。
| 単位 | 意味 | 結果 |
|---|---|---|
"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。祝日リストを渡せば祝日も除けます。
祝日リストは空です(土日だけを除いて計算します)。
Excel も日本の祝日を自動では知りません。実務では祝日を縦に並べた列を作って第3引数で渡します(内閣府の「国民の祝日」一覧などからコピペ)。
—
—
— 開始日は数えず、翌営業日から1・2・3…と数えます(Excel と同じ)。マイナスの営業日で「納期から逆算」もできます。
—
—
— 開始日・終了日の両方を含んで数えます。「今月の稼働日数」「有給まであと何営業日」などに。
💡 豆知識:土日休みじゃない職場は「.INTL」
WORKDAY / NETWORKDAYS が除くのは土日固定。火水休みのお店などは WORKDAY.INTL ・
NETWORKDAYS.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
期間は DATEDIF(勤続年数・年齢)
単位 "Y" で満の年数、"YM"・"MD" と組み合わせれば「◯年◯ヶ月◯日」。誕生日や記念日が来ていない年は数えない、実際の暦どおりの計算です。入力補完に出ない隠し関数ですが、手で打てば動きます。
- 2
締め・支払いは EOMONTH(月末日)
「今月末締め・翌月末払い」は
=EOMONTH(請求日,1)の一発。2月が28日か29日かも、月が30日か31日かも自動で判断してくれます。 - 3
営業日は WORKDAY と NETWORKDAYS
「10営業日後」を出すのが WORKDAY、「間に何営業日あるか」を数えるのが NETWORKDAYS。土日は自動で除きますが、日本の祝日は自分で祝日リストを渡す必要があります。ここが実務でいちばん忘れやすいポイント。
- 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
続けて整える