エクセルで日付を入力する場面は思いのほか多いのではないでしょうか。
一度で連続して入力したり、理想の形式で日付を入力したりしたいのに、思うようにいかず面倒になってしまうこともありますよね。
今回は、文字列を日付に変換する様々な方法についてご紹介します。
用途にあわせて、ぜひ使いこなしてくださいね!
目次
エクセルで日付を入力する方法
エクセルでセルに日付を入力したい場合、たとえば2021年10月1日を入力するときは「10/1」、もしくは「2021/10/1」と入力してみてください。
通常であれば、自動的に日付として判別されるようにプログラミングされているため、西暦を入力せずに「10/1」と入力をしても、西暦が入った日付に変換してくれます。
しかし、上記のような「2021/10/1」という形式ではなく、「2021年10月1日」といった文字列で日付を入力したい場合もありますよね。
それらは関数を利用したり、設定を施したりすることで、日付の入力形式を自由に変更できます。
難しいことはありません!
さっそく、様々な日付の入力方法について確認していきましょう。
書式設定を利用して日付を入力する
基本的な日付入力の手順といえば、「書式設定」を利用した方法です。
セルに日付を入力して、思い通りの形式で表示されない場合は、セルの上で右クリックをして「セルの書式設定」を選択します。
ボックス左の分類にある「日付」から任意の表示形式を選択し、「OK」をクリックしましょう。
そうすると、選択したセルの日付のみ「2021年10月1日」と、設定した表示形式に変更されましたね。
複数の日付を変更したい場合は、下記の画像のように、「セルの書式」を選択する前に範囲選択をしておきましょう。範囲選択をすると、簡単に指定したすべてのセルの日付を変更できます。
勝手に日付入力される数値を文字列に直す
日付として表示したくないのに、数字の間にスラッシュ「/」を入力すると、自動的に日付に変換されて困った経験がある人も多いのはないでしょうか。
たとえば、上記の画像のように、「10/1」と入力をしてみます。
Enterキーを押すと「10月1日」という日付形式に変換されましたね。
下記の画像をご覧ください。「10-1」と入力をしてみても、先程と同じように日付に変換されました。有り難い機能でもありますが、「日付を入力したいわけではない」という場面もあると思います。
そんな時に役立つ方法を紹介します。方法は簡単です。「ホーム」タブ内にある「数値の書式」のプルダウンメニューから「文字列」を選択しましょう。
そうすると、勝手に変換されることなく「文字列」での表示が可能になりました。
【その他】日付に変換したくないときの対処法
設定を変更しなくても、勝手に日付に変換されないようにする方法もあります。
その方法とは、数字の前に「半角スペース」「’(アポストロフィ)」「0と半角スペース」のいずれかを入力することです。
①数字の前に半角スペースを入力する
数字の前に半角スペースを入力すると、日付と認識されないため、「10月1日」などと勝手に変換されることはありません。
ただ、下記の画像のように、半角スペースはそのまま表示されてしまうため、文字の始まりが他のセルとそろってないと気になる…という方にはあまりおすすめではありません。
②数字の前に’(アポストロフィ)を入力する
半角スペースと同じように、数字の前に「’」アポストロフィを入力すると、日付と認識されなくなります。どのような表示になるかは、下記の画像をご覧ください。
アポストロフィはセルの表示から消え、数字は文字列の左寄りになります。
セルの表示からアポストロフィは消えますが、数式バーには表示されます。
また、MATCH関数などの計算時に、アポストロフィは影響しませんのでご安心ください。
③数字の前に0と半角スペースを入力する
数字の前に0と半角スペースを入力することで、分数として認識されます。
先程までと同じく「10/1」と入力してしまうと、分母が省略されて「10」と表示されてしまうため、今回は「3/4」を例に使っていきます。
セルに「0 3/4」と入力します。
Enterキーを押すと、0と半角スペースはセルの表示から消え、「3/4」と表示されました。
分数は数値なので、セルの表示は右寄りになります。
セルをクリックして数式バーを見てみると、少数が表示されており、きちんと分数として認識されていることが分かります。そのまま計算にも使用することが可能です。
エクセルで8桁の数字を日付に変換する【TEXT関数】
つづいて、数式を利用して、8桁の数字をエクセルが日付だと認識できる形式に変換する方法について紹介します。
元データを使って処理した結果を別のセルに表示したい、元データが変わったら処理結果も更新されるようにしたい、という場合は、数式で処理したほうがよいでしょう。
長い行や列に渡って、たくさんの日付を手動で入力するのは大変ですよね。そんな時に活躍するのが「TEXT関数」です。
下記の画像のように、B2セルの数値を変換させたい場合、日付を表示させたいセルには「=TEXT(B2,”0000!/00!00”)」と入力をします。
「B2セルの数値を”0000/00/00”の形式で表示させてね」という意味合いの指定です。
なぜ合間に「!」が付いているのかというと、「!」を付けないと「/」の記号をエクセルが割り算として認識してしまうからなんです。また、表示形式を「”」 (ダブル クォーテーション) で括ることも忘れてはいけません。
これで8桁の数字が日付形式で表示できるようになりました。
すべて日付形式で表示したい場合は、数式を作成したセルをクリックし、オートフィル機能を使用して下にコピーすることで、他のセルにも反映させることができます。
【その2】エクセルで8桁の数字を日付に変換する方法
8桁の数字を日付に変換するもうひとつの方法が、「区切り位置ウィザード」を活用したものです。
まずは、変換したい数字が並んでいるセルを範囲選択し、「データ」タブ内の「区切り位置」というボタンをクリックしましょう。
「スペースによって右または左に揃えられた固定長フィールドのデータ」にチェックを入れて、「次へ」をクリック。
このページはそのまま「次へ」をクリックします。
「日付」にチェックを入れ、その横が「YMD」になっているかを確認してくださいね。「YMD」になっていれば右下の「完了」をクリックしましょう。
8桁の数字が日付形式に変換されました!
日付から8桁の数字「yyyymmdd」形式に変換する
先程の項目では、8桁の数字から日付に変換する方法をお伝えしました。さらに、TEXT関数を利用すれば、日付形式から「yyyymmdd」へ変換することも可能です。
TEXT関数を利用して変換するには「=TEXT(YEAR(B2),”0000”」から入力をはじめます。
「=TEXT(YEAR(B2),”0000”」という式は、B2セルの「YEAR」にあたる部分を「0000(4桁)」で表示させてね、という意味合いです。
上記の式では西暦の部分しか指定できていないため、「&TEXT(~」と繋いで、月と日付も「00(2桁)」で表示させてね、と指定する必要があります。
とくに月と日付は「2桁で表示させてね」と指定しないと「20211001」ではなく「2021101」というように、1桁の月や日付はそのまま1桁で表示されてしまいますので、yyyymmddの8桁になるように最後まで指定してあげましょう。
西暦を和暦で表示する
日付を和暦で入力したい場合は「セルの書式設定」を利用します。
入力したいセルの上で右クリックし、「セルの書式設定」を選択しましょう。
「表示形式」のタブを開き、分類を「日付」にしましょう。下部にある、カレンダーの種類のプルダウンメニューから「和暦」を選択し、その上の「種類」を和暦表示のサンプルをクリックします。
最後に「OK」を押してくださいね。
設定が完了したセルに「2021/10/1」と入力すると、自動的に和暦へ変換されましたね。
入力した日付の設定を他のセルにも適用する
入力の前に気が付けば、範囲選択をして別のセルに適用することもできますが、上記のようにセルによって表示形式がバラバラなこともありますよね。
そういうときは「オートフィル機能」を活用しましょう。
適用する文字が入力されたセルを選択した状態で、セルの右下の角にポインタを持っていくと「十字」のマークが出てきます。
この表示になったら、適用させたいセルまでドラッグするのです。
そうすると、B2セルで適用されていた和暦での日付表示が、ドラッグした範囲まで適用されましたね。
これは、数字を連続して入力するときや、数式をコピー&ペーストするときにも活用できる便利な機能です。
【おまけ】シリアル値とは?
日付や時刻をセルに入力したときに、入力した数字とは関係のない数字が表示されることがありませんか?
実はバグでもなんでもなく、「シリアル値」と呼ばれるエクセル内での管理コードのようなものなのです。
上記の画像をご覧ください。この「44470」は、とある日付がシリアル値に変換されたものなので、日付に戻してみましょう。
戻し方は非常に簡単です。書式設定から日付の形式を選択して、「OK」をクリックします。
そうすると「2021/10/1」という日付に戻りました。たったこれだけです。
はじめの画像でお伝えした「44470」は、エクセルの中では「2021/10/1」を表すシリアル値だったのですね。
シリアル値は、1900年1月1日をシリアル値「1」としていて、そこから1900年1月2日は「2」…というように番号が割り振られています。
そのため、2021年10月1日は、1900年1月1日を1日目として数えていくと「44470」日目にあてはまるという意味です。
エクセルは日付をシリアル値で認識しているため、「=日付が入力されたセル+1」といった式を入れると、日付の足し算なども簡単にできます。
【おまけ】エクセルで現在の日時を表示させる際に使える関数は?
ここまでは、文字列を日付に変換する方法や、日付を入力する方法を紹介してきました。今回はおまけとして、現在の日時を簡単に入力する方法も紹介します。会社で書類を作成する際には、必ずと言っていいほどその日の日付を記入すると思います。「○○○○年○○月○○日」と記載するだけなので、毎回1分もあれば終わる簡単な作業ですが、いちいち入力方法を英字からひらがなに変更したり、日付を確認して打ち込まなければいけなかったりと、少し手間がかかりますよね。このような少しの手間をかけなくても、自動でその日の日付が反映されるとても便利な方法です。
TODAY関数
自動で日付をエクセルに入力してもらうために使用する、便利な関数は「TODAY関数」です。それでは、さっそく使用方法を説明します。
まずはじめに、今日の日付を表示させたいセルをクリックして選択します。そして、Fxの「関数の挿入」のボタンを押します。カテゴリを「日付/時刻」に合わせると、「TODAY関数」が表示されるので、選択して「OK」ボタンをクリックします。
そうすると、選択したセルに本日の日付が現れます。
NOW関数
上記では、その日の日付が自動で入力できる関数、「TODAY関数」を使用して、日付を入力する方法をご紹介しましたが、「TODAY関数」の他に、「NOW関数」というものがあります。「NOW 関数」は、現在の日付と時刻をワークシートに表示させたり、現在の日付と時刻に基づいて値を計算したりと、ワークシートを開くたびにその値を更新させる必要がある場合に使用できる、とても便利な関数です。
「NOW 関数」を表示させる場合も、やり方は「TODAY関数」と同じです。
まず、現在の日付と時刻を表示させたいセルを選択し、Fxの「関数の挿入」をクリックします。カテゴリーを「日付/時刻」に変更し、スクロールしていくと、TODAY関数のうえに「NOW関数」が出てきます。「NOW」を選択し、「OK」ボタンを押すと、先ほどと同様に現在の日付と時刻が選択していたセルに表示されています。
まとめ
いかがでしたか。今回は、エクセルの文字列を日付に変換するための様々な方法について解説をしました。
エクセルでは、同じ答えでも色々な手段が使えるので、自分の覚えやすい方法を活用するとよいですね。
とくに「日付」はお仕事でもよく使う場面があるかと思いますので、本稿でご紹介したいずれかひとつでも覚えて、効率よくエクセルを利用しましょう!