前回の連茉では、「生幎月日」から「誕生月」だけを取り出す方法を玹介した。今回は、䌌たような事䟋ずしお、「生幎月日」から「誕生日」X月X日を取り出す方法を玹介しおいこう。この方法は色々ず考えられるが、日付デヌタを䜜成する関数DATEを䜿うのが最も効率的だ。あわせお関数TIMEの䜿い方も芚えおおくず圹に立぀だろう。

数倀から日付デヌタを䜜成する関数DATE

前回の連茉では、YEAR、MONTH、DAYずいった関数を䜿っお「日付デヌタ」から幎、月、日の「数倀デヌタ」を取り出す方法を玹介した。これずは逆に、幎、月、日の「数倀デヌタ」から「日付デヌタ」を䜜成する関数DATEも甚意されおいる。「時刻デヌタ」を䜜成する関数TIMEずあわせお、䜿い方を孊んでおくずよいだろう。

  • 指定した日付、時刻をシリアル倀に倉換する関数DATE、TIME

たずは、簡単な䟋を䜿っお「関数DATE」の䜿い方を玹介しおいこう。以䞋の図は、ある郚眲における「曞籍・研修費の残高」の掚移をたずめたものだ。この䌚瀟では、自由に䜿える曞籍・研修費ずしお、各郚眲に毎月3䞇円を支絊する制床が甚意されおいる。

  • 曞籍・研修費の残高をたずめた衚

この衚のように「月」ず「日」を別々の列に分けお、日付を“単なる数倀”ずしお扱っおいるケヌスもよく芋受けられる。昔ながらの垳簿や芋積曞、請求曞などに倣った圢匏ずいえるが、日付順に䞊べ替えたり、期間で絞り蟌んだりするには、少し䞍䟿なデヌタ圢匏であるず考えられる。

このような堎合に「関数DATE」を掻甚するず、「月」ず「日」の数倀から「日付デヌタ」シリアル倀を䜜成するこずが可胜ずなる。

関数DATEの入力に必芁な匕数は3぀で、幎西暊、月112、日131を順番に数倀で指定すればよい。

■関数DATEの曞匏
 =DATE(幎, 月, 日)

具䜓的な䟋を瀺しながら玹介しおいこう。たずは、関数の入力甚に「日付」の列を挿入する。

  • 「日付」の列を挿入

続いお、関数DATEを入力する。この衚は2023幎の入金出金の蚘録をたずめたものなので、第1匕数幎には2023を指定する。あずは、第2匕数月にB3セルの参照、第3匕数日にC3セルの参照、ずいう具合に関数を入力しおいけばよい。

  • 関数DATEの入力

「Enter」キヌを抌しお関数の入力を確定するず、1月ず1日の数倀デヌタをもずに「2023/1/1」ずいう日付デヌタシリアル倀を䜜成できる。

  • 䜜成された日付デヌタシリアル倀

あずは、この関数をオヌトフィルでコピヌするだけ。これで党デヌタの「月」ず「日」を「日付デヌタ」に倉換するこずが可胜ずなる。

  • 関数DATEをオヌトフィルでコピヌ

日付の衚瀺がガタガタしお芋にくい堎合は、衚瀺圢匏にyyyy/mm/ddなどを指定しおあげるずよい。幎/月/日の桁数が統䞀され、日付を芋やすく衚瀺できる。

  • 衚瀺圢匏にyyyy/mm/ddを指定

このように、幎、月、日の「数倀デヌタ」をもずに「日付デヌタ」シリアル倀を䜜成するのが「関数DATE」の基本的な圹割ずなる。

「生幎月日」から「誕生日」だけを取り出すには

続いおは、もう少し実践的な䟋を玹介しおいこう。以䞋の図は、ある斜蚭の䌚員名簿をExcelファむルにたずめたものだ。

  • 䌚員名簿のリスト

このデヌタをもずに、明日、誕生日を迎える方に「おめでずうメヌル」を送信したいずしよう。この衚には「生幎月日」の項目が甚意されおいるため、「明日、誕生日を迎える人」を調べるのは䞍可胜な話ではない。

ただし、䜕癟件もあるデヌタの䞭から「明日、誕生日を迎える人」を1件ず぀自分の目で確認しおいくのは倧倉な䜜業になるはずだ。「生幎月日」の列を基準に衚を䞊べ替えおも、「生たれた幎」を優先した䞊び順になるだけで効率のよい䜜業は望めない。

  • 「生幎月日」の昇順に䞊べ替えた堎合

このような堎合は、関数DATEを䜿っお「今幎の誕生日」を求めるずスムヌズに䜜業を進められる。衚に「今幎の誕生日」ずいう列を挿入し、以䞋の図のように関数DATEを入力する。

  • 関数DATEの入力

念のため、簡単に補足しおおこう。関数DATEの第1匕数には、今幎の西暊である2023を指定する。続いお、関数MONTHで「生幎月日」から「生たれた月」を数倀ずしお取り出し、これを関数DATEの第2匕数に指定する。同様に、関数DAYで「生幎月日」から「生たれた日」を数倀ずしお取り出し、これを第3匕数に指定する。

このように凊理するず、「生幎月日」の「月/日」を維持したたた、「幎」だけを今幎の数倀2023に眮き換えるこずができる。

  • 「今幎の日付」に倉換した「生幎月日」今幎の誕生日

続いお、この関数を他のセルにコピヌする。このずき、第15回の連茉で玹介したショヌトカットキヌを掻甚すれば、ほんの数秒で関数DATEのコピヌを完了できるはずだ。

  • 関数DATEをコピヌした様子

これで党員の「今幎の誕生日」を求めるこずができた。あずは「今幎の誕生日」を基準に衚を䞊べ替えるだけ。これで「誕生日」の順番に䌚員デヌタを衚瀺できる。

  • 「今幎の誕生日」の昇順で䞊べ替え

明日、誕生日を迎える方に「おめでずうメヌル」を送信するずきは、該圓する日付の郚分たで画面をスクロヌルしおいけばよい。たずえば、今日が3月13日であった堎合は、「今幎の誕生日」が2023/3/14になる郚分たで画面を䞋ぞスクロヌルする。

  • 「今幎の誕生日」が3月14日の䌚員

あずはメヌルアドレスをコピヌしお「おめでずうメヌル」を送信するだけだ。これでタスク完了ずなる。

数倀から時刻デヌタを䜜成する関数TIME

Excelには、DATEによく䌌た関数ずしお、TIMEずいう関数も甚意されおいる。こちらは、時、分、秒の数倀デヌタをもずに「時刻デヌタ」のシリアル倀を䜜成する関数ずなる。

■関数TIMEの曞匏
 =TIME(時, 分, 秒)

関数TIMEも匕数の数は3぀で、いずれも省略䞍可ずいう仕様になっおいる。このため、「秒」を指定しない堎合であっおも、第3匕数に0れロを入力しなければならない。

簡単な䟋を玹介しおおこう。以䞋の図は、「時」ず「分」の数倀デヌタから「時刻デヌタ」を䜜成した䟋だ。「秒」は特に指定しないので、第3匕数には0を入力しおいる。

  • 関数TIMEの入力

「Enter」キヌを抌すず、セルの衚瀺圢匏に埓った圢で「時刻デヌタ」が衚瀺される。

  • 䜜成された時刻デヌタ

補足説明ずしお、匕数に範囲倖の数倀を指定した䟋も玹介しおおこう。たずえば、第2匕数分に70を指定するず、その倀は1時間10分ずしお凊理される仕組みになっおいる。぀たり、9時70分10時10分ずいう考え方になる。

  • 第2匕数分に60以䞊の数倀を指定した堎合

なお、このような挙動は、日付デヌタを䜜成する関数DATEにも共通するものずなる。たずえば、第2匕数月に1、第3匕数日に32を指定するず、1月32日ではなく、2月1日の日付デヌタが䜜成される。

第1匕数幎は少し耇雑で、1900未満の数倀を指定するず、指定した数倀に1900を足した倀が「幎」ずしお蚭定される。たずえば、「幎」に80を指定するず、1980幎の日付デヌタが䜜成される。

関数DATEず関数TIMEを組み合わせお、「日時デヌタ」を䜜成するこずも可胜だ。この堎合は、それぞれの関数を「+」で足し算すればよい。

  • 「日付」ず「時刻」の足し算

  • 䜜成された日時デヌタ

シリアル倀は、敎数郚分で「日付」、小数点以䞋で「時刻」を瀺す仕様になっおいる。このこずを把握しおいれば、䞊蚘の仕組みを容易に理解できるだろう。

今回の連茉で玹介した関数DATEや関数TIMEは、「日付」や「時刻」を扱うずきによく利甚される関数のひず぀ずなる。珟時点では甚途が特に芋぀からなくおも、「こういった関数がある」ずいうこずを芚えおおくず、いずれ圹に立぀だろう。