事務作業の省力化や資料作成に役立つ、Excelの使い方を紹介

Excelの機能を最大限に生かして、業務の省力化や経営状況を分析できる資料の作成方法を解説します。

期限までの日数(残り)を計算する

Excel上の「日付」の実態は「1900年1月1日」を「1」とし、1日に「1」づつ増加する「シリアル値」です

 2019年2月18日はシリアル値で「43514」になります。

 Excel上の「日付」の実態がシリアル値であるため、2つの日付の間の日数計算は、単純な引き算によって求めることができます。

1月1日から1月20日までの日数計算

  日付」で計算    数式「   2019/1/20 - 2019/1/1 = 19   」

    シリアル値」で計算  数式「 43485 - 43466 = 19 


日数を計算する関数を使えば複雑な日数計算をすることができます

 日付を計算する「関数」を使えば、請求書の「支払日」を状況に合わせて表示させることができます。

  • 支払日までの「残日数」土・日を除いた営業日で表示する。
  • 支払期日「土・日(営業日以外)」の場合に、支払日を前(後)にずらして表示する。
  • 請求の「締日」を過ぎた場合に、支払期日を「翌々月」にする。

 

「日付」関連の関数はいろいろなものがあります

  1. 「WORKDAY関数」       土・日と祝日を除いて、終了予定日を計算
  2. 「WORKDAY.INTL関数」  定休日土・日以外にして終了予定日を計算
  3. 「EDATE関数」             「〇カ月後」の日付を計算
  4. 「EDATE関数」             「〇年後」の日付を計算
  5. 「NETWORKDAY関数」   2つの日付の間の日数を求める
  6. 「DATEDIF関数」          2つの日付の間の月数を求める
  7. 「EOMONTH関数」       「20日締め」「翌月10日払い」などの締日を計算
  8. 「EOMONTH関数」       「WORKDAY関数」 支払日が休日の時はその前後の営業日を計算

 

1.土・日を除いた「営業日」で残り日数を計算する

 ExcelWORKDAY関数を使えば、土・日を除いた「営業日」残り日数を計算することができます。

  WORKDAY関数「〇営業日後」の日付を計算することができます。

 

「開始日」2月5日の土・日を除いた6日後の、終了予定日が「何月何日」になるか

   数式「  = WORKDAY ( 開始日 , 日数 )  

   f:id:k-ohmori9616:20190802144841p:plain


2.土・日と祝日を除いて終了予定日を計算する

 「開始日」の2月1日から、土・日と祝日を除いた6日後の終了予定日「何月何日」になるかを計算します。

祝日の一覧表を用意して、休日の日付部分を「休日リスト」の名前で登録します

 「休日一覧」の日付部分を範囲選択し「名前ボックス」「休日一覧」と入力します。

    f:id:k-ohmori9616:20190802104432p:plain


WORKDAY関数祭日「休日リスト」を指定

 WORKDAY関数「祭日」「休日リスト」を指定します。
   数式「  = WORKDAY ( 開始日 , 日数 , 祝日 )  

   f:id:k-ohmori9616:20190802105729p:plain


WORKDAY関数「祭日」を指定します

   f:id:k-ohmori9616:20190802110205p:plain

 

3.定休日土・日以外にすることもできます(WORKDAY.INTL関数)

 「毎週の定休日を土・日以外に設定」する場合は、「WORKDAY.INTL関数」を使います

  • WORKDAY.INTL関数引数が「1(又は省略)」の時は「土・日が週末」になります
  • 数式「  = WORKDAY.INTL ( 開始日 , 日数 , 週末 , 祝日 )  」
「週末」に入力する引数

 「週末」に入力する引数で、休日にする曜日を設定できます。

   f:id:k-ohmori9616:20190218123835p:plain

 

4.EDATE関数「〇カ月後」の日付を求める

 EDATE関数を使えば、指定した月数後の日付を計算することができます。

   数式「  = EDATE ( 開始日 , 月 ) 

   f:id:k-ohmori9616:20190802111315p:plain



5.EDATE関数「〇年後」の日付を求める

 EDATE関数を使えば、指定した年数後の日付を求めることができます。

 「」に12を掛けることで「に変換して計算します。

  数式「  = EDATE ( 開始日 , 月*12

   f:id:k-ohmori9616:20190802111819p:plain

 

6.2つの日付の間の日数を求める

 NETWORKDAY関数TODAY関数を使えば、「作業終了予定日」までの残日数を計算することができます。

  1. 「現在」の項目にTODAY関数を用いて、「当日」を表示します
  2. NETWORKDAY関数で「土・日」と「祭日」を除いた「残日数」を表示します
  3. 数式「 = NETWORDDAYS ( 開始日 , 終了日 , 祭日 ) 」

   定期的な休日が「土・日」以外の場合はNETWORKDAY.INTL関数を使います

   f:id:k-ohmori9616:20190802112507p:plain

 

7.2つの日付の間の月数を求める

  • 数式「  = DATEDIF ( 開始日 , 終了日 , 単位 
  • 引数単位「M」月数を表す

   f:id:k-ohmori9616:20190802113216p:plain


  DATEDIF関数「引数」

   f:id:k-ohmori9616:20190218133542p:plain

 

8.「20日締め」「翌月10日払い」などの締日を自動で表示する

 EOMONTH関数を使えば、指定した日付の「その月の最終日」を計算することができます。

 EMONTH関数の引数(月)を「0」にすれば当月「1」にすれば翌月になります。

 IF関数を使って20日までは「真」それ以降は「偽」にします。

 数式「 = EOMONTH ( C6 , IF ( DAY (C6) <=20 , 0 , 1 )) +10

 ※ 支払日が「10日」なので、EMONTH関数の結果に「10加える」する

  • IF関数20日より小さい場合は「0」そうでない場合「1」とする
  • EOMONTH関数「月」が「0」の場合は「当月末の10日後」「1」の場合は翌月末の10日後」になる

   f:id:k-ohmori9616:20190802114241p:plain

 

締日の20日を過ぎると、支払日が翌々月の10日になります

 納品日の2/21日は締日の2/20日を過ぎているので、支払日は3/10日ではなく、翌々月の4/10日になります。

   f:id:k-ohmori9616:20190802114454p:plain

 

9.支払日が休日の時はその前後の営業日を求める

 EOMONTH関数WORKDAY関数を組み合わせれば、支払日が「休日」になる場合は、その前後の営業日を計算することができます。

 

 数式「 = WORKDAY ( EOMONTH (納品日 , IF (DAY (納品日) <=20 , 0 , 1 )) +9 , 1 , 休日リスト)  」

  • 20日締め翌月10日払い」とした場合、10日が「休み」の場合は翌日を支払日とする
  • WORKDAY関数の引数「日数」「1」を指定すれば、9日の次の営業日が求められる
ネスト(入れ子)構造の複雑な数式になります  

   f:id:k-ohmori9616:20190802171639p:plain

 

 

k-ohmori9616.hatenablog.com