Excelで日付のセルの値を yyyymmdd形式の文字列に変換する

飯田悟朗
質問:yyyymmdd形式の日付文字列にしたい
Excelのシートのデータをシステムにインポートするのだが、システムはyyyymmdd形式の日付データの必要がある。 Excelの日付形式のセルをyyyymmdd形式の日付にしてCSV出力してインポート用のデータを作りたい。 簡単かつ、まとめて日付形式のセルをyyyymmdd形式の日付文字列にする方法を教えてくれ。

概要

TEXT関数を利用する方法、YEAR, MONTH, DAY 関数を利用する方法で日付のセルを yyyymmdd 形式の文字列にする方法を紹介します。

補足
逆の処理である、"yyyymmdd"形式の文字列を日付形式のセルに変換する場合はこちらの記事を参照してください。

TEXT関数を利用する方法

Excelを起動し、下図の表を準備します。B列の書式設定は日付にします。
Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像1

C2セルに下記の数式を入力します。

=TEXT(B2,"yyyymmdd")

Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像2

入力を確定すると、C2セルに"20161008" の値が表示されます。B2セルの日付の値を"yyyymmdd"形式にした文字列がC2セルに表示されます。
Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像3

C2セルの数式をコピーし、C3セル以下にペーストします。B列の日付の値を"yyyymmdd"形式の文字列に変換した値がC列に表示されます。
Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像4

YEAR, MONTH, DAY 関数を利用する方法

YEAR,MONTH,DAY関数を利用して"yyyymmdd"形式の文字列に変換する方法もあります。
下図の表を準備します。C2セルに下図の数式を入力します。

=TEXT(YEAR(B2),"0000")&TEXT(MONTH(B2),"00")&TEXT(DAY(B2),"00")


YEAR,MONTH,DAY関数を利用することで、日付セルの日付値から年、月、日の数値を取り出すことができます。取り出した数値を結合して"yyyymmdd"形式の文字列を生成しますが、そのまま結合すると"yyyymd"形式の文字列になってしまうため、TEXT関数を利用して0で桁を埋めて、2桁で桁揃えをした文字列を連結して"yyyymmdd"形式の文字列を作成します。
0で桁を埋めて桁揃えする動作の詳細はこちらの記事を参照してください。

Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像5

入力を確定すると、C2セルに"20161008" の値が表示されます。B2セルの日付の値を"yyyymmdd"形式にした文字列がC2セルに表示されます。
Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像6

C2セルの数式をコピーし、C3セル以下にペーストします。B列の日付の値を"yyyymmdd"形式の文字列に変換した値がC列に表示されます。
Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像7

A.W.S (Another World Story)

Excelで日付のセルの値を yyyymmdd形式の文字列に変換する:画像8

窓いっぱいに午後の陽光が差し込む iPentec のオープンスペース。 ガラス張りの壁越しに見える並木は、新緑が風に揺れている。長い木製テーブルの上には試作品のガジェットと書きかけのメモ、 そして湯気の立つペーパーカップ。コーヒーの香りとキーボードの軽いタッチ音が、ゆっくり流れる BGM に溶け込んでいた。

そこへ、頭にキャップをかぶったエンジニアのジョニーが現れる。手にはいかにも大電力を消費しそうな巨大なワークステーションノート PC

「かもーる、ちょっと助けてくれ。納品用のデータなんだけどさ、日付を yyyymmdd の文字列に変換しろってクライアントから急に言われたんだ」
呼ばれた「かもーる」は、いつもどおり首から ID カードをぶら下げ、耳にはワイヤレスイヤホン。彼はタッチパッドを二度ほど叩き、ジョニーのシートの隣に椅子を引き寄せた。

「じゃあ――セル B 列を空けて、こう入力しよう」
かもーるはセル B2 に

=TEXT(A2,"yyyymmdd")

と打ち込み、エンターキーを押す。セルには「20250522」と表示された。
「ここまでは基本。でも“結果を値として貼り付け”しないと、ただの数式表示になるから注意だ」
そう言って Ctrl+C → 右クリック → 値貼り付け をテキパキと実演。貼り付けたセルを F2 で編集して見せる。
「ダブルクォートも先頭アポストロフィも付いてないだろ? これで純粋な文字列さ」
ジョニーが安心してため息をついた瞬間、奥のホワイトボード前で会話を聞いていたマーケター兼コーポレートサイト担当のあつこが声を上げた。
「ねぇ、それ間違えると“20250230”とか、ありえない日付も通っちゃうんじゃない? 請求書がタイムスリップしちゃう!」
場がどっと湧く。ジョニーは目を丸くし、かもーるはニヤリ。
「じゃあ IFERROR でチェックするか、Power Query で検証用列を追加だな」
あつこはスマホを振りながら駆け寄ってくる。
「お願い! そのやり方を Internal Doc にまとめて。“文字列化したあとに日付妥当性をチェックする方法”って感じで」
「追加の原稿料はコーヒー一杯で」
「決まり! ジョニーのおごりね」
ジョニーは「えぇ!?」と叫びつつも、渋々 POS 端末を取り出して自販機連動の QR をかざす。
──かもーるは再びキーボードに向かい、Internal Doc 更新画面に追記を書き終え、保存ボタンを押した。すると画面の右下に小さなポップアップが現れる。
全員がほぼ同時に「早っ!」と声を上げる。ジョニーはコーヒーカップを掲げて乾杯のポーズを取り、かもーるは得意げに腕を組むが腕が短く組みづらそうだ。

「しかしさ……」ジョニーがふと真顔になる。
「もしクライアントが“和暦”で出してって言い出したら?」

一同が黙り込む中、あつこがポツリ。

「……そのときは“昭和64年1月8日”をどうするかで、Internal Doc がまた分厚くなるわね」
ジョニーは吹き出し、コーヒーを机に戻してこう締めくくった。
「よし、次のタイトルは――『Excel で和暦を令和表記に変換したら昭和が出てきた件』だな!」
一拍置いて、オープンスペースに笑いがはじけた。変換を巡る騒動は、見事に“オチ”まで 文字列 としてきっちり決まったのだった。

AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2016-08-22
改訂日: 2024-12-12
Copyright © 1995–2025 iPentec all rights reserverd.