Introduction
Ver. all 2010 2013 2016 2019 2021 365
エクセルでデータを日付だと認識させるには、「年」「月」「日」を「-」か「/」で区切って入力します。
この「-」や「/」を省略して、数字だけを入力して後から日付データに変更する方法です。
エクセルの日付は「1900/1/1」から始まる数値(シリアル値)として扱われています。
※日付のシリアル値に関する説明はこちらからどうぞ。
例えば、「2023年8月1日」を入力して、
書式を「標準」に変更すると、
「45139」と表示されます。
これは、「2023年8月1日」は、「1900年1月1日」から「45138」日後ということです。
逆に、数値の「45139」を入力して、後から書式を「日付表示」することもできるということ。
「お、数値だけで日付を入力できる!」と言いたいところなのですが、「2023年8月1日」を入力したい時に「45139」を頭に浮かべるのは無理ですね・・・。
そうなると、日付を「-」や「/」を省略して数値として入力するのは無理なように思えます。
しかし、「区切り位置」機能を使用することで何とかなります。
ここで紹介する方法は、普通に「20230808」と本来の日付を入力して、その数値データを後からExcelに日付として認識してもらう方法です。
まとめて入力する時に便利だにゃ
日付を数字だけで入力する方法
下の表は数字だけ入力したデータです。
一番上が「2023年8月1日」です。
今回の方法を使用するに以下の2点に注意が必要です。
- 年月日を入力する際の月日は2桁で入力する
- 日付としてありえない数値は入力しない
例えば「2023年8月1日」であれば、「20230801」と入力します。「202381」では後で変換できません。
また、月の位置の数値が「12」を超えていたり、日付の位置の数字が「40」「50」のようにありえない数値のときは変換できません。
では、変換してみます。使用する機能は「区切り位置」機能。
まず、日付に変換したい範囲を選択します。
※列全体のデータを変換したい場合は、「A」「B」「…」と表示されている列番号をクリックして列選択しましょう。
[データ]タブ → [区切り位置]をクリック。
[区切り位置ウィザード]の画面が表示されます。
最初の画面は、何もせずに[次へ]をクリック。
2番目の画面も、何もせずに[次へ]をクリック。
3番目の画面が大切です。
[日付]の場所にチェックを入れ、右側で[YMD]が選ばれているのを確認して[完了]をクリック。
これで数字を日付に変更完了です。
ちなみに「YMD」の他の書式も選べます。
※それぞれ「YMD」が「年月日」に対応しています。
年月日を他の順番で入力していたとしても、年・月・日の桁数や日付としてありえない数値が入力されていたときは変換されません。
もし、「#」が表示された時は、列の幅が狭くて表示しきれていません。
※間に「/」が入るので2桁の月や日付のセルは文字数が増えることになります。
列番号の間にマウスを移動して列幅を広げると、
表示されます。
変換されないときの原因
下のデータをご覧ください。
最初と最後は日付として問題ありませんが、中央3か所はおかしなデータになっています。
これらデータを選択して、
同じように「区切り位置」機能を使用して日付に変換すると・・・。
日付としてExcelが認識できないデータは変換されません。
一番上のデータがおかしな場合は、その下全てのデータが変換されないので注意が必要です。
年を省略した場合
年を省略して入力したデータを変換すると、
下の結果になります。
つまり、2桁のものは日付として認識されるのですが、1桁のものは変換されません。
しかし、入力範囲の表示形式を「文字列」に変更して、
無理やり、2桁で日付を入力してから変換すると、
ちゃんと日付にできます。
ちなみに、その際の「年」は入力時の年が自動で設定されています。
まとめ
今回の方法を使用する際は、一定のルールを守ってデータ入力しておく必要があります。
基本は、年月日をそれぞれ4桁2桁2桁で入力しておくこと。
例えば、2023年8月1日であれば下のようになります。
- 202381 → ×
- 20230801 → 〇
また、日付としてありえない数値は変換されないことにも注意です。
「年」が今年だけのデータで入力を省略したい際は、最後に紹介した方法を参考にしてください。
区切り位置機能は結構使えるんだにゃ