PR

 日付がシリアル値で管理されていることの最大の利点は「計算」ができることだ。例えば「日数差」を求めるなら、総論で紹介した図2のように日付同士で引き算をし、「標準」形式で表示すればよい。

 ただし、注意も必要だ。例えば「年齢」を求める場合(図1、図2)。今日の日付から誕生日を引いて「年」単位で表示すると誤差が生じてしまう。引き算の結果はあくまで「日数」なので、単純に「年」に換算しても閏年などが考慮されないからだ(図3、図4)。

図1 リストに入力された誕生日を基に、今日現在の年齢を求めたい。「誕生日-今日の日付」の引き算で求められそうだが、誤差が生じてしまう。関数を使って解決しよう
図1 リストに入力された誕生日を基に、今日現在の年齢を求めたい。「誕生日-今日の日付」の引き算で求められそうだが、誤差が生じてしまう。関数を使って解決しよう
図2 誕生日から今日までの期間を求め、「年」単位で表示するのがポイントだ
図2 誕生日から今日までの期間を求め、「年」単位で表示するのがポイントだ
図3 引き算を試す。まず今日の日付から誕生日を引く(1)。次にセルを右クリックして「セルの書式設定」を選び(2、3)、「年数」を表すユーザー定義の表示形式を指定(4)
図3 引き算を試す。まず今日の日付から誕生日を引く(1)。次にセルを右クリックして「セルの書式設定」を選び(2、3)、「年数」を表すユーザー定義の表示形式を指定(4)
図4 一見、正しそうだが、誕生日に年齢が加算されない場合がある。原因は、Excel内部では日付同士の引き算の結果を「1990年1月1日からの日数」として認識するため。表示だけ「年数」に変えても、本来の日付間にある閏年が勘案されず、ズレが生じてしまう
図4 一見、正しそうだが、誕生日に年齢が加算されない場合がある。原因は、Excel内部では日付同士の引き算の結果を「1990年1月1日からの日数」として認識するため。表示だけ「年数」に変えても、本来の日付間にある閏年が勘案されず、ズレが生じてしまう

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

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

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

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