Excelで2つの日付を使って期間を求めるというケースもあるでしょう。
こういうときはDETEDIF関数がシンプルでおすすめです。
日付と日付から経過期間を知りたい
Excelで日付から日付の差をとって期間を計算したい場合もあるかと。
たとえば、過去のとある日付から現在の日付までで経過した年数や月数といったことです。
こういうときは、DATEDIF関数が便利です。
たとえば、B1セルに過去の日付(起算日)、B3セルに基準とした日付(基準日)を入力します。
で、B5セルに「=DATEDIF(B1 , B3 ,”Y”)」を入れると「5」と年数が表示されます。
「”Y”」にすることで、経過期間を年数で表示できます。
言葉にすると、「=DATEDIF(起算日, 基準日 ,”単位”)」と表せます。
ここを「”M”」に変えると、このように月数に。
「”D”」に変えると、日数がわかります。
ただ、「〇年〇ヶ月」のように表示したいというケースもあります。
月数によって、切り捨てや切り上げが必要という場合もありますので。
こういうときは、DATEDIF関数にひと手間加えてみましょう。
DATEDIF関数で〇年〇ヶ月と表示するには
たとえば、前述のケースの月数は63か月でした。
これを5年3か月と表示することもDETEDIF関数1つできます(63か月=5年+3か月)。
関数を書くとこうなります。
=DATEDIF(B1 , B3 , “Y”)&DATEDIF(B1, B3 ,”YM”)
年数のDATEDIFと月数DETEDIFを「&」でつなげるわけです。
末尾の「”YM”」は単位、年月でという意味です。
ただ、このままでは期間を求めたいB5セルに意味をもたない数字が。53….。
年数の5と月数の3が合わさっての53なのはわかりますが、ぱっと見ただけでは「53?」と混乱してしまいます。
ということで、このようにひと手間加えます。
関数を書くとこうなります。
=DATEDIF(B1 , B3 , “Y”)&”年”&DATEDIF(B1, B3 ,”YM”)&”か月”
DATEDIF前半の末尾に「&”年”」、後半末尾に「&”か月”」というようにひと手間加えてあげると、B5セルの期間にも「5年3か月」というようにぱっと見ても意味がわかる表示になります。
このように、「&」のひと手間を加えてあげると便利に使える関数も多いです。
INT関数、CEILING関数で月数を切り捨て・切り上げ
前述の関数にINT関数を組み合わせることで、月数を切り捨て年数だけ表示することもできます。
「=INT(DATEDIF(B1 , B3,”M”)/12&”年”」と書いてみます。
INTは端数を切り捨てる関数。「”M”」で月数表示した63か月を12ヶ月で割った端数を切り捨てることで「5年」を表しています。
起算日からちょうど1年後を基準日にすると6年0か月→6年に変わります。
逆に、切り上げたいときは「CEILING」関数を使います。
今回はDATEDIF関数を使って日付から期間を求める方法を挙げてみましたが、日付データを使って加工する、関数を組み合わせて算出したいことも多いです。
こういった関数はChatGPTでも教えてくれますし、全体で見ると複雑に見える関数でも、じぶんで1つずつ分解して見てみると、勉強しやすくもなりおすすめです。
■編集後記
昨日は朝のタスクなどの習慣のあと息子の通学の付き添い、ブログなど。午後は公会計セミナーを受講(オンライン)でした。
■息子(9歳)
昨日は学校から帰ると、明日は臨時休校になったようです(大寒波が来る予報で)。
「あしたどうなるの?」と不安そうだったので、「じゃあパパが宿題だすからね」と言うと「楽しみにしてるね」と。
夜、こくごの書き取りの宿題を作ることに(夜にキャラクターの写真を添えてつくりました)。
明日宿題を渡すときに反応が楽しみです。
■昨日の1日1新
・はこだて恋いちご いちごぷりん