PR

 ここからは「請求書」を例に、日付計算をしてみよう。

 請求書の日付計算といえば、ポイントは「振込期日」の算出だ。例えば「起票日の翌月10日」「翌月10日が休日なら翌営業日に」、あるいは「20日締めで、起票が20日以前なら翌月10日、20日以降なら翌々月10日に」といった条件がある場合、いちいちカレンダーを対照して調べるのは面倒。これが関数を活用すれば、「起票日を入力するだけで振込期日を自動表示する」仕掛けが自在に作成できるのだ。

「翌月10日」を求めるには
日付を分解して「今月+1」

 まずは、起票日の「翌月10日」が振込期日の場合。その日付を自動算出してみよう(図1)。

図1 請求書の起票日(=今日の日付)の、翌月10日を振込期日としたい。関数を使って、「起票日の翌月10日」を自動的に表示しよう
図1 請求書の起票日(=今日の日付)の、翌月10日を振込期日としたい。関数を使って、「起票日の翌月10日」を自動的に表示しよう

 もし1カ月が必ず30日間なら、翌月10日は「起票日の40日後」と特定され、「起票日+40」で算出できる。しかし1カ月の日数は月によって違うので、単純な足し算では対応できない。

 こうした日付計算のポイントはズバリ、関数を使って日付を“分解”すること。具体的には、基準となる起票日をいったん「年」「月」「日」に分解してから、振込期日の条件に合わせてそれぞれの値を計算し、改めて日付データに戻すという手法だ(図2、図3)。

図2 起票日をいったん「年」「月」「日」に分解して考える。すると、「翌月10日」とは、起票日の「月」に「1」を加え、「日」は常に「10」の日付と定義できる
図2 起票日をいったん「年」「月」「日」に分解して考える。すると、「翌月10日」とは、起票日の「月」に「1」を加え、「日」は常に「10」の日付と定義できる
図3 必要な作業を整理する。まず起票日の「年」「月」「日」を数値として取り出す。それぞれに必要な処理をして、最後に日付データとして再生すれば振込期日になる
図3 必要な作業を整理する。まず起票日の「年」「月」「日」を数値として取り出す。それぞれに必要な処理をして、最後に日付データとして再生すれば振込期日になる

この記事は会員登録で続きをご覧いただけます

日経クロステック登録会員になると…

新着が分かるメールマガジンが届く
キーワード登録、連載フォローが便利

さらに、有料会員に申し込むとすべての記事が読み放題に!
日経電子版セット今なら2カ月無料