いまさら聞けないExcelの使い方講座

Excel方眼紙にありがち…エクセルで分割入力されている年月日を日付データに変換するテク

 Excel(エクセル)は、仕事や普段の生活で使う機会の多い、最も身近なアプリケーションのひとつです。しかし、「イマイチよくわからないまま使っている」「実は少し苦手……」という人も多いのではないでしょうか? この連載では、いまさら人に聞けないけど、知っていれば必ず役に立つ、Excelを使いこなすためのノウハウを紹介します。

年月日が別々のセルに入力されていると日付として扱うのが面倒!

 業務の中で、他の人が作ったExcelファイルを引き継いで使う機会も少なくないのではないでしょうか? 特に、名簿は長い間引き継がれて使われることの多いファイルのひとつです。

 例えば、名簿の中で年、月、日がそれぞれ別のセルに入力されていると、そのままでは日付データとして数式で扱えないため、社員の年齢などを計算することが面倒です。

 今回は、他の人から引き継いだファイルに一手間掛けて、別々のセルに入力された年月日を数式で扱える日付データに変換する簡単な方法を解説します。

数値を日付データに変換できる「DATE関数」

 入社年、入社月、入社日がそれぞれ別々のセルに入力された社員名簿の例で考えてみましょう。他の人から引き継いだファイルがExcel方眼紙の場合……そこから説明するのは大変なので、ある程度は方眼紙の呪縛を解いたあとの例となります。

 B列からD列に入力された「入社年・入社月・入社日」(①)を基に、E列に「入社年月日」をこれから表示します。この例では前もって、E列に「入社年月日」を入力する列を挿入しておきました。

 別々に入力された数値を日付データに変換するには、「DATE関数」を使います。

 このDATE関数は「=DATE(年,月,日)」の書式で入力することにより、別々のセルに入力されている年、月、日から日付データを作成することができます。

 セルE3に、DATE関数を使った数式を入力してみましょう。セルE3を選択し、半角で「=DATE(」(②)と入力します。関数のアルファベットは大文字小文字どちらでも構いませんが、「=d」のように途中まで入力するとリスト表示される候補の中から「=DATE(」をダブルクリックすれば、スペルミスなども防げます。

 [Enter]キーなどは押さずセルE3にカーソルがある状態で、続けて入社年が入力されているセルB3(③)をクリックします。

 すると、セルB3の周囲に色付きの枠が表示され、セルE3に自動で「B3」(④)が追加されます。

 さらに続けて「,」(⑤)と入力します。

 同様にして、入社月と入社日が入力されたセルを数式内で指定しましょう。

 セルC3をクリックしたあとに「,」を、セルD3をクリックしたあとに「)」(⑥)を入力し、最後に[Enter]キーを押します。

 セル範囲B3:D3に入力された個々の数値が日付データに変換され、セルE3に「1989/4/1」(⑧)と表示されました。

 今回は、数式を入力するときに参照するセルをクリックして選択しましたが、セルE3に直接「=DATE(B3,C3,D3)」と入力して[Enter]キーを押しても同じ結果になります。

数式をオートフィルで他のセルにコピーする

 関数を使った数式を複数のセルに毎回入力すると手間がかかりますし、入力ミスにつながる恐れもあります。隣り合ったセルに一度にセルの内容をコピーできる「オートフィル」機能を使って、数式を他のセルにコピーしましょう。

 先ほど入力したDATE関数の数式を、同じE列のセルにコピーします。セルE3をクリックし、セルの右下に表示されるフィルハンドル(■)にマウスポインターを合わせると、マウスポインターの形が十字に変わります(①)。

 十字の形になったマウスポインターをセルE10までドラッグ(②)します。

 数式がコピーされ、E列のセルにそれぞれの社員の入社年月日(③)が表示されました。

 このように、セルに入力した数値データを参考にして、隣り合ったセルに自動で入力する機能を「オートフィル」といいます。オートフィルを使えば、数式のコピーも一気にできて便利です。

DATE関数で数値から日付のデータが作れるワケは?

 DATE関数を使うと、別々のセルに入力されている年月日の数値から日付データを作れるということがおわかりいただけたと思います。

 では、なぜDATE関数でこのような処理ができるのでしょうか。今回のテーマは「DATE関数」ですが、もうひとつ重要なキーワードとしては「シリアル値」です。

 Excelでは、日付や時刻のデータは「シリアル値」として取り扱います。日付データのシリアル値は1900年1月1日を基準日として「1」、翌日を「2」のように、基準日から1日経つごとに1ずつ増える連番で表した数値です。例えば、基準日から42855日後のシリアル値「42856」を日付データに置き換えると2017年5月1日となります。

 DATE関数は、別々に入力された年月日の数値からシリアル値を求めて日付として表示してくれる関数なのです。DATE関数で求めた日付データは他の数式に組み込むことができるので、「2017年4月1日時点での年齢を計算する」といった用途にも利用可能です。

DATE関数を使えば入力のしやすさとデータの扱いやすさを両立できる!

 今回は、DATE関数を使って既存の名簿にひと工夫を加え、日付データとして扱いやすくするテクニックを紹介しました。

 年月日を別々のセルに入力することにメリットもあるでしょう。しかし、日付データとして数式で扱うのが面倒というデメリットがあります。DATE関数を使えば、別々に入力された年月日から簡単に日付データを作成できるので、このデメリットを回避可能です。

 今回の記事を参考にして、入力のしやすさと日付としてのデータの扱いやすさを両立した、使いやすい資料を作ってみてくださいね。