Excel(エクセル)で日付の/を削除する、8桁の数字(yyyymmdd)に整形する方法

pocket IT

日付を管理番号などに使う場合、形式として8桁の数字(20211116など)にすることがよくあります。
では、この番号を日付から求めるには、どのようにすればいいでしょうか?

スポンサーリンク

成果物

deleteslash
こういった日付から、
deleteslash2
8桁の数字を生成します。

方法①書式を変換

deleteslash3
日付は書式を変更すれば見え方を変えることができます。セルまたはセル範囲の上で右クリックし、セルの書式設定を開きます。
deleteslash4
表示形式タブのユーザー定義をクリックすると、日付の書式が種類に表示されているので、
deleteslash5
これをyyyymmddに書き換えてOKを押します。
deleteslash6
すると、このように日付が8桁の数字で表示されるようになります。
元の数値は変わっておらず、見え方以外の書式は日付のままです。

方法①の欠点

deleteslash15
日付の性質として、文字や数字とくっつけると謎の数値(シリアル値)になります。
型番と日付をくっつけて表示したい場合などには適しません。

方法②Text関数

deleteslash7
Text関数は、値を指定した書式の文字列に変換して表示する関数です。
A1セルの日付に対し、=Text(A1,"yyyymmdd")のように記述すれば、
deleteslash8
書式をyyyymmddにした上で、日付を文字列に変換して表示してくれます。
deleteslash9
オートフィルで簡単に複製できます。
deleteslash16
文字列なので、他の文字などと接続しても問題なく表示されます。
文字列とはいえ計算(1加算して翌日にするなど)も効きます。

方法②の欠点

deleteslash17
大した問題ではないですが、コピペするとズレます。絶対参照にするとオートフィルに弊害が出ます。
deleteslash18
他の場所でも使いまわす場合は、値で貼り付けするか、式を参照するなどの対処をとる必要があります。

あとは条件付き書式の日付指定ができなくなるとか、検索(1101など)もオプションかけない限りひっかからないとか、こまごまとしたことがいくつかあります。

文字列を数字に変換

deleteslash11
Text関数で作った文字列をただの数字にしたい場合は、作った関数をさらに値でコピーしてやればOKです。
deleteslash12
不要な式は削除してしまってもかまいません。
ペーストしたセルを見ると、ただの値になっていることが確認できます。
deleteslash13
もしエラー表示が気になるようなら、列/範囲をすべて選択してエラーマーク数値に変換するをクリックします。
deleteslash14
ただの数字が生成できました。

自動化しやすい作業なので、可能ならマクロの記録をしてしまうのも手かと思います。

Excel(エクセル):日付、時間、曜日、シリアル値
Excelの時間関連操作、設定、関数などまとめです。 セルの表示設定、関数 基本 日付をセルに入力したい場合、m/dあるいはm-dの形式で入力すれば、 自動で入力した年のその日付になります。年号も指定したい場合は、y...
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント