Excel日付関数を完全攻略してミスと残業をゼロにしよう!超時短テクニックを大公開

エクセル

あれ?この日付、手計算で出したけど合ってるかな…

関数は難しそうだし、ネットの情報もどれが正しいか分からない…

慣れないExcelでの日付計算、不安になりますよね。

しかも、手作業でやるとミスも起こりやすいし、時間もかかって他の仕事が滞ってしまう…。

毎日仕事に追われて時間がないのに、これじゃ悪循環です。

この記事では、そんな悩みを抱えるあなたに向けて、Excelを使った日付計算のコツを分かりやすく解説します!

・計算ミスをゼロに近づける方法
・日付計算を自動化して時間を大幅に節約するテクニック
・複雑な関数も簡単に使いこなせるようになる方法

この記事を読めば、日付計算のストレスから解放され、今まで悩んでいたのが嘘のようにスムーズに作業ができるようになります。

業務効率もアップして、心に余裕も生まれますよ。

さあ、日付計算マスターへの第一歩を踏み出しましょう!

日付計算の悩みから解放!ミスなし・時短・自信アップへの道

日付計算の悩みから解放!ミスなし・時短・自信アップへの道

「手作業でのミスが怖い…」時間泥棒から解放される方法

日付計算、手作業でやっていると、どうしてもミスが心配になりますよね。入力ミスや計算間違いは、後々大きな問題に発展する可能性もあるんです。

例えば、納期計算を間違えて、顧客との信頼関係にヒビが入ったり、プロジェクトが遅延してしまったり…考えただけでもゾッとしますね。

それに、手作業での計算はとにかく時間がかかるので、他の重要な業務に集中できなくなってしまいます。

でも大丈夫。

ゆうま
ゆうま

日付計算を自動化すれば、こんな悩みから解放されるんです!

Excelを使えば、正確かつスピーディーに日付計算ができます。

「ミスを減らして、時間も有効活用できる」まさに一石二鳥の方法ですね。

「関数って難しそう…」複雑な日付計算もラクラクこなせる学習法

Excelには日付計算に役立つ関数がたくさんあります。でも、種類が多くて複雑そうに見えるので、苦手意識を持っている方もいるかもしれません。

実は私もそうでした。「関数って難しそう…」って思って、なかなか手を出せずにいたんです。

関数を使いこなせないと、いつまでも手作業での計算から抜け出せず、業務効率が悪くなってミスも増える…まさに悪循環ですよね。自信もなくなってしまいます。

ゆうま
ゆうま

安心してください。日付計算に使う関数は、一つ一つ丁寧に学習すれば誰でもマスターできますよ!

基本的な使い方から応用テクニックまで、段階的に学ぶことで複雑な関数も使いこなせるようになります。

エクセル日付操作の基礎から応用までステップアップ!

エクセル日付操作の基礎から応用までステップアップ!

「まずはここから!」日付入力と表示形式をマスターしよう

Excelで日付を入力するときには、ルールがあります。

2024/5/15
2024-5-15

このように、スラッシュ (/) やハイフン (-) で区切って入力するのが一般的ですね。

Excelは日付をシリアル値という数値で管理しているので、数値を入力して表示形式を変更することで日付として表示することも可能です。

Excelは日付をシリアル値という数値で管理

また、表示形式は「短い日付形式」や「長い日付形式」など色々な種類があり、用途に合わせて使い分けられますので覚えておきましょう。

表示形式は「短い日付形式」や「長い日付形式」など色々な種類

他には、書式設定で表示形式を「yyyy年m月d日」にカスタマイズすることで「2024年5月15日」と表示することもできますし、「yyyy/mm/dd (aaa)」とすれば「2024/05/15 (水)」のように曜日も一緒に表示できます。

「足し算・引き算もコツがある!」注意点を押さえて正確に計算

日付の足し算や引き算は、数値を足したり引いたりするだけなので超簡単。

A1セルに入力されている「2024/5/15」に10日を足したい場合は、他のセルに「=A1+10」と入力すれば「2024/5/25」という結果が得られます。

A1セルに入力されている「2024/5/15」に10日を足したい場合

ただし、月をまたぐ計算や月末の日付の計算には注意しましょう。

月末の日付に1ヶ月を足す場合、単純に数値を足すと存在しない日付が表示されることがあります。

ゆうま
ゆうま

そんな時は、EDATE関数のような専用の関数を使うと、正確な計算ができますよ!

例えば、2024年3月31日に1ヶ月を足すと、単純計算では2024年5月1日になってしまい、4月の日付がスキップされてしまいます。

でも、EDATE関数を使って

PowerShell
=EDATE("2024/3/31",1)

と入力すれば、2024年4月30日という正しい結果が得られます。

EDATE関数

2024年5月31日に1ヶ月を足す場合も、EDATE関数で

PowerShell
=EDATE("2024/5/31",1)

と入力すれば、2024年6月30日という正しい結果が得られます。

EDATE関数は月末の日付を含む計算でも正確な結果を出してくれるので、とても便利ですよ!

「時短テクニックも伝授!」知って得するショートカットキー集

Excelには日付入力や編集に役立つショートカットキーがたくさんあります。

Ctrl + ;

今日の日付を入力したいときに。

Ctrl +

現在時刻を入力したいときに。

Ctrl + 1

セルの書式設定ダイアログボックスを開きたいときに。

例えば、大量の日付データを入力する場合、一つ一つ手入力するのは大変ですよね。

でも、最初のセルに今日の日付を「Ctrl + ;」で入力し、フィルハンドルをドラッグすれば、連続した日付を簡単に作成できます。

最初のセルに今日の日付を「Ctrl + ;」で入力し、フィルハンドルをドラッグ

日付の表示形式を変更する場合も、マウスでメニューを操作するより、「Ctrl + 1」で書式設定ダイアログボックスを開いてキーボード操作する方がずっと楽だし速いです。

日付の表示形式を何回も変更するなら、クイックアクセスツールバーに書式設定のショートカットを登録しておくとさらに便利ですよ!

日付計算の強い味方!関数を使いこなして作業効率アップ

日付計算の強い味方!関数を使いこなして作業効率アップ

「基本の関数をおさらい!」DATE、YEAR、MONTH、DAYを解説

Excelには日付を操作するための関数が豊富に用意されています。その中でも基本となるDATE、YEAR、MONTH、DAY関数について解説しますね。

  • DATE関数
  • YEAR関数
  • MONTH関数
  • DAY関数

指定した年、月、日に対応する日付を返します。例えば、

PowerShell
=DATE(2024,5,15)

と入力すると「2024/5/15」という結果が得られます。

日付から年を取り出します。

PowerShell
=YEAR("2024/5/15")

と入力すると「2024」という結果が得られます。

日付から月を取り出します。

PowerShell
=MONTH("2024/5/15")

と入力すると「5」という結果が得られます。

日付から日を取り出します。

PowerShell
=DAY("2024/5/15")

と入力すると「15」という結果が得られます。

これらの関数を組み合わせることで、日付から必要な情報を取り出したり特定の日付を作成したりできるので、ぜひ覚えておきましょう!

合わせ技としては、これらの関数を組み合わせて「2024年5月15日」という形式で表示したい場合、

PowerShell
=YEAR("2024/5/15")&"年"&MONTH("2024/5/15")&"月"&DAY("2024/5/15")&"日"

と入力します。

関数を組み合わせて「2024年5月15日」という形式で表示したい場合

この長ったらしい関数を記入するくらいなら直接手入力するほうが速いですが…。

「こういうこともできます!」と捉えておいてくださいw

「期間計算も自由自在!」DATEDIF、EDATE、EOMONTHでレベルアップ

日付の間隔を計算するには、DATEDIF、EDATE、EOMONTH関数が便利です。

  • DATEDIF関数
  • EDATE関数
  • EOMONTH関数

2つの日付間の期間を年、月、日で計算します。

PowerShell
=DATEDIF("2023/1/1","2024/5/15","Y")

と入力すると、2つの日付の間の年数である「1」という結果が得られます。

指定した月数だけ前か後の日付を返します。

PowerShell
=EDATE("2024/5/15",3)

と入力すると、3ヶ月後の日付である「2024/8/15」という結果が得られます。

月末の日付の計算に特に便利ですね。

指定した月の月末の日付を返します。

PowerShell
=EOMONTH("2024/5/15",0)

と入力すると、2024年5月の月末の日付である「2024/5/31」という結果が得られます。

これらの関数を使いこなせば、複雑な期間計算も正確かつ効率的に行えますよ!

例えば、ある従業員の入社日が2023年4月1日、退職日が2024年3月31日だとして、この従業員の勤続年数を計算するには

PowerShell
=DATEDIF("2023/4/1","2024/3/31","Y")

と入力します。結果は「0」となり、勤続年数が1年に満たないことが分かりますね。

勤続月数を計算したいなら、

PowerShell
=DATEDIF("2023/4/1","2024/3/31","M")

と入力しましょう。結果は「11」となります。

また、商品の保証期間が購入日から6ヶ月後の月末までだとします。

購入日が2024年5月10日の場合、保証期限は

PowerShell
=EOMONTH(EDATE("2024/5/10",6),0)

と入力することで計算でき、結果は2024年11月30日です。

このように、期間計算関数を使えば様々な期間を正確に計算できます!

「曜日表示も思いのまま!」WEEKDAYとTEXT関数でワンランク上の表現

曜日を表示するには、WEEKDAY関数とTEXT関数を使うのが便利です。

  • WEEKDAY関数
  • TEXT関数

日付に対応する曜日を数値で返します。

PowerShell
=WEEKDAY("2024/5/15")

と入力すると「4」という結果が得られます。

これは2024年5月15日が水曜日であることを示しています(日曜日が1、土曜日が7)。

数値を指定した表示形式の文字列に変換します。

WEEKDAY関数と組み合わせることで、曜日を数値ではなく「月」や「火」などの文字列で表示できます。

PowerShell
=TEXT(WEEKDAY("2024/5/15"),"aaa")

と入力すると「水」という結果が得られます。

表示形式を工夫すれば、「水曜日」や「(水)」など、様々な形式で曜日を表示できますのでお試しあれ。

例えば、イベントの開催日が2024年6月20日だとします。

この日が何曜日かを知りたい場合は、

PowerShell
=WEEKDAY("2024/6/20")

と入力します。結果は「5」で、木曜日だと分かります。

しかし、数値だけでは分かりづらいので、

PowerShell
=TEXT(WEEKDAY("2024/6/20"),"aaaa")

と入力すれば「木曜日」と表示されます。

また、

PowerShell
=TEXT(WEEKDAY("2024/6/20"),"aaa")

と入力すれば「木」と短く表示できますし、

PowerShell
=TEXT(WEEKDAY("2024/6/20"),"(aaa)")

と入力すれば「(木)」のように括弧付きで表示することも可能です。

さらに、

PowerShell
=TEXT(TODAY(),"今日はaaaaです")

という内容にすれば「今日は木曜日です」のように、文章に曜日を組み込むこともできますよ。

実践テクニックで差をつけよう!営業日・期間計算の極めかた

実践テクニックで差をつけよう!営業日・期間計算の極めかた

「土日祝も怖くない!」WORKDAYとNETWORKDAYSで営業日計算を制覇

WORKDAY関数

WORKDAY関数は、指定した開始日から指定した営業日数だけ後(または前)の日付を計算する関数です。

土日や祝日などの非営業日を考慮してくれるので、納期計算やプロジェクトのスケジュール管理にとても役立つ優れもの。

基本構文は =WORKDAY(開始日, 営業日数, [祝日]) です。

開始日に営業日数を加算(または減算)し、その間の土日と指定した祝日を除いた日付を返します。

例えば、

PowerShell
=WORKDAY("2024/5/15", 3)

と入力すると、2024年5月15日から3営業日後の「2024/5/20」が返されます(土日を除く)。

WORKDAY関数

祝日も考慮したい場合は、祝日のリストを作成し、WORKDAY関数の第3引数に指定しましょう。

↓祝日リストの作り方はこちら

NETWORKDAYS関数

NETWORKDAYS関数は、指定した2つの日付間の営業日数を計算する関数です。こちらも土日や祝日などの非営業日を考慮してくれるので、プロジェクトの進捗管理や勤務日数の計算に役立ちます。

基本構文は NETWORKDAYS(開始日, 終了日, [祝日]) で、開始日から終了日までの期間に含まれる土日と指定した祝日を除いた営業日数を返します。

例えば、

PowerShell
=NETWORKDAYS("2024/5/15","2024/5/31")

と入力すると、2024年5月15日から2024年5月31日までの期間の営業日数である「11」が返されます(土日を除く)。

NETWORKDAYS関数

祝日も考慮したい場合は、WORKDAY関数と同様に祝日のリストを作成し、NETWORKDAYS関数の第3引数に指定しましょう。

プロジェクトの開始日が2024年5月15日で、作業日数が10営業日だとします。

祝日リストがSheet2のA1セルからA5セルに登録されている場合、納期は

PowerShell
=WORKDAY("2024/5/15",10,Sheet2!A1:A5)

で計算できます。

同じプロジェクトが2024年6月30日に完了した場合、実際に要した営業日数は

PowerShell
=NETWORKDAYS("2024/5/15","2024/6/30",Sheet2!A1:A5)

で計算できます。

このように祝日も考慮することで、より正確なスケジュール管理ができるのでおススメです!

「DATEDIF関数を極める!」年・月・日を自由自在に操る方法

DATEDIF関数は2つの日付間の期間を年、月、日で計算する関数ですが……実は、Excelのヘルプには記載されていない隠れた関数なんです。

基本構文は =DATEDIF(開始日, 終了日, 単位) で、開始日と終了日を受け取り、指定した単位で期間を計算します。

単位について
  • “Y”: 開始日と終了日の年の差を返します。開始日と終了日の月と日は無視されます。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “Y”) → 1 (1年)
      =DATEDIF("2023/4/1","2024/5/15","Y")
  • “M”: 開始日と終了日の月の差を返します。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “M”) → 13 (13ヶ月)
      =DATEDIF("2023/4/1", "2024/5/15", "M")
  • “D”: 開始日と終了日の日の差を返します。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “D”) → 410 (410日)
      =DATEDIF("2023/4/1", "2024/5/15", "D")
  • “YM”: 年の差を無視し、開始日と終了日の月の差を返します。つまり、両方の日付を同じ年にして計算した月の差です。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “YM”) → 1 (1ヶ月)
      =DATEDIF("2023/4/1","2024/5/15","YM")
    • 例:=DATEDIF(“2023/10/1”, “2024/2/15”, “YM”) → 4 (4ヶ月)
      =DATEDIF("2023/10/1", "2024/2/15", "YM")
  • “YD”: 年の差を無視し、開始日と終了日の日の差を返します。つまり、両方の日付を同じ年にして計算した日の差です。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “YD”) → 44 (44日)
      =DATEDIF("2023/4/1", "2024/5/15", "YD")
  • “MD”: 月と年の差を無視し、開始日と終了日の日の差を返します。つまり、両方の日付を同じ月と年にして計算した日の差です。
    • 例:=DATEDIF(“2023/4/1”, “2024/5/15”, “MD”) → 14 (14日)
      =DATEDIF("2023/4/1","2024/5/15","MD")

ポイントは、“YM”と”YD”は年の差を無視し、”MD”は年と月の差を無視して計算を行うということですね。

「表示形式でさらに見やすく!」期間を「〇年〇ヶ月〇日」で表現する方法

DATEDIF関数で計算した年数、月数、日数を「〇年〇ヶ月〇日」の形式で表示するには、表示形式を工夫しましょう。

例えば、

PowerShell
=IF(DATEDIF(A1,B1,"y")>0,DATEDIF(A1,B1,"y")&"年","")&IF(DATEDIF(A1,B1,"ym")>0,DATEDIF(A1,B1,"ym")&"ヶ月","")&IF(DATEDIF(A1,B1,"md")>0,DATEDIF(A1,B1,"md")&"日","")

のように、DATEDIF関数と文字列を組み合わせることで実現できます。

DATEDIF関数で計算した年数、月数、日数を「〇年〇ヶ月〇日」の形式で表示

開始日と終了日の値を変更すれば、それに合わせて表示も自動的に更新。なお、0年、0ヶ月、0日の場合は表示されないようにIF関数で制御しています。

「条件に合わせて表示を変える!」IF関数との合わせ技で複雑な計算もOK

IF関数とDATEDIF関数を組み合わせることで、より複雑な期間計算ができます。

例えば、「1年未満の場合は月数と日数を表示し、1年以上の場合は年数と月数を表示する」といった条件分岐を設定できます。

A1セルに開始日、B1セルに終了日が入力されている場合、

PowerShell
=IF(DATEDIF(A1,B1,"Y")<1,DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日",DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月")

この数式を入力すると、期間が1年未満の場合は「○ヶ月○日」のように、1年以上の場合は「○年○ヶ月」のように表示されます。

「1年未満の場合は月数と日数を表示し、1年以上の場合は年数と月数を表示する」といった条件分岐

また、以下を入力すると、期間が1年未満の場合は「○ヶ月○日」のように、1年以上の場合は「○年○ヶ月○日」のように表示されます。

PowerShell
=IF(DATEDIF(A1,B1,"y")<1,DATEDIF(A1,B1,"ym")&"ヶ月"&DATEDIF(A1,B1,"md")&"日",DATEDIF(A1,B1,"y")&"年"&IF(DATEDIF(A1,B1,"ym")>0,DATEDIF(A1,B1,"ym")&"ヶ月","")&IF(DATEDIF(A1,B1,"md")>0,DATEDIF(A1,B1,"md")&"日",""))
期間が1年未満の場合は「○ヶ月○日」のように、1年以上の場合は「○年○ヶ月○日」のように表示

まとめ

まとめ

この記事では、Excelを使った日付計算の様々なテクニックをご紹介しました。

日付の入力方法から、足し算・引き算、関数を使った計算。これらをしっかり理解できれば、もう日付計算で悩まされることはなくなるはずです。

・日付の入力と表示形式
・足し算・引き算の注意点
・DATE、YEAR、MONTH、DAY関数の使い方
・DATEDIF、EDATE、EOMONTH関数で期間計算
・WEEKDAY、TEXT関数で曜日表示
・WORKDAY、NETWORKDAYS関数で営業日計算
・DATEDIF関数を活用した期間表示
・IF関数との組み合わせ技

まずは簡単なものから実践し、徐々にステップアップしていきましょう!

この記事が、あなたのExcelスキル向上と日々の業務の効率化に役立てば幸いです。最後までお読みいただき、ありがとうございました!

「帰宅したら23:00か…」

毎日の残業、本当に仕方ないことなのでしょうか?

「帰宅すると家族は寝てる…」
「冷たくなったご飯を1人で食べて寝るだけ…」
「自分の時間なんて一切ない…」

ガマンし続けたその先に、あなたの望む未来はホントにありますか?

私が経験した驚きの変化

  • 2時間の残業が【完全消滅】
  • 手作業の99%が自動化
  • 出社1時間で仕事がほぼ完了

すべては、ある”気づき”から始まりました

大手企業の管理職として10年。
最初はエクセルの知識ゼロから始めた私。

  • パソコン苦手
  • 機能が多すぎてパニック。
  • 「電源どうやってつけるの?」状態
  • ブラインドタッチどころか指一本で入力
  • 悩んでる時間がムダすぎて残業が月70時間
  • 20時間かけて作った資料が間違いだらけでやり直し

そんな私でも、ある方法に出会い、驚くほどの「ヒマ」を手に入れることができました。

※このページは近日中に非公開となります

著者プロフィール
この記事を書いた人

2024年10月から個人ブログを運営。本業で管理職をやる傍ら、趣味として会社に頼らずに生きるためのスキル磨きをしています。将来の夢は、家族と田舎で半自給自足しながらのんびり生きること。出社後1時間で仕事が終わるエクセルの使い方や、その他個人的なおススメなどを紹介していきます!

ゆうまをフォローする
エクセル時短知識
シェアする
ゆうまをフォローする
タイトルとURLをコピーしました