excel

【Excel】エクセルで8桁の数字を日付に変換する方法(スラッシュなし・和暦)

エクセルで8桁の数字を日付に変換する方法【DATE関数】 - DATE関数の入力式
当サイトでは記事内に広告を含みます

Excelで管理している「20260401」のような8桁の数字は、見た目は日付らしくても、そのままでは計算や並べ替えに使える正しい日付ではない場合があります。

特にCSVファイルの取り込み後や基幹システムから出力したデータでは、年月日がスラッシュなしの数値として並ぶことも珍しくありません。

8桁の数字をExcelの日付へ変換する際は、表示形式だけを変えるのではなく、日付として認識できる値へ変換することが重要です。

この記事で扱うポイントは、TEXT関数とDATE関数による変換、区切り位置を使う方法、和暦表示、変換できないデータの確認方法です。

サンプルデータは1行目を見出し行とし、A列に8桁の数字が入力されている前提で解説します。

 

エクセルで8桁の数字を日付に変換する方法【DATE関数】

それではまず、8桁の数字を確実に日付へ変えるDATE関数について解説していきます。

A列 元データ B列 変換後
日付コード 日付
20260401 2026/4/1
20251225 2025/12/25

DATE関数は、年・月・日を別々に指定して日付を作成する関数です。

元データが数値でも文字列でも対応しやすく、年月日を明示して変換できるため、実務ではもっとも安定した方法です。

 

DATE関数の入力式

エクセルで8桁の数字を日付に変換する方法【DATE関数】 - DATE関数の入力式

続いては、B2セルに入力する基本の数式を確認していきます。

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))

LEFT(A2,4)は左から4文字を取り出すため、20260401なら「2026」になります。

MID(A2,5,2)は5文字目から2文字を取り出し、「04」を月として取得します。

RIGHT(A2,2)は右端の2文字を取り出し、「01」を日として取得する仕組みです。

DATE関数は、これらの値を組み合わせてExcel内部の日付シリアル値を返します。

セルに「2026/4/1」などと表示されれば成功です。

【操作のポイント】数式はB2セルに入力し、A2のように元データのセルを参照します。

 

オートフィルによる一括変換

続いては、複数行の日付コードをまとめて変換する操作を確認していきます。

B2セルに数式を入力した後、セル右下に表示される小さな四角形であるフィルハンドルを下方向へドラッグします。

データが連続している場合は、フィルハンドルをダブルクリックする方法も便利です。

数式をコピーすると、A2はA3、A4のように自動で変化する相対参照になっています。

元データが数千件あるときでも、手作業でスラッシュを入力する必要はありません。

変換結果を他システムへ渡す場合は、数式をコピーしてから「値として貼り付け」を行うと、数式ではなく固定された日付値にできます。

【操作のポイント】途中に空白行があるとダブルクリックでのオートフィルが途中までになることがあります。

 

日付表示形式の設定

続いては、変換した日付の見た目を整える表示形式を確認していきます。

DATE関数で変換した直後に数値が表示される場合は、セルの表示形式が「標準」または「数値」になっている可能性があります。

B列を選択し、ホームタブの数値グループから「短い日付形式」を選択してください。

または、セルの書式設定からユーザー定義を選び、「yyyy/m/d」と入力すると、2026/4/1のように表示できます。

表示形式を変えても、DATE関数で作成した日付そのものは変わりません。

【操作のポイント】日付の並べ替えや日数計算をするなら、文字列ではなく日付シリアル値の状態を保ちましょう。

 

TEXT関数によるスラッシュなし日付の整形

続いては、8桁の数値へスラッシュを追加して日付形式へ整えるTEXT関数を確認していきます。

A列 日付コード B列 文字列の整形例
日付コード 日付文字列
20260401 2026/04/01

TEXT関数は数値を指定した書式の文字列に変換する関数です。

見た目を素早く整える用途には便利ですが、結果は日付ではなく文字列になる点に注意が必要です。

TEXT関数によるスラッシュなし日付の整形

 

TEXT関数でスラッシュを追加する式

続いては、8桁の数値を年月日らしい文字列にする数式を確認していきます。

=TEXT(A2,”0000/00/00″)

A2に20260401が数値として入力されている場合、結果は2026/04/01になります。

「0000/00/00」は、4桁・2桁・2桁の位置で区切りを表示する書式です。

この方法は桁数が常に8桁であるデータに向いています。

ただし、TEXT関数の結果は文字列なので、日付の差を求める計算や日付順の正確な処理にはDATE関数のほうが適しています。

【操作のポイント】TEXT関数は表示を整える関数であり、日付計算用の値を作る関数ではありません。

 

文字列から日付値へ変換する式

続いては、TEXT関数で整形した文字列を日付として扱いたい場合を確認していきます。

=DATEVALUE(TEXT(A2,”0000/00/00″))

DATEVALUE関数は、2026/04/01のような日付を表す文字列をExcelの日付シリアル値へ変換します。

この式ではTEXT関数がスラッシュ付きの日付文字列を作り、DATEVALUE関数が日付値へ変換します。

実務ではDATE関数だけで完結できるケースが多いものの、取り込んだ文字列の形式を利用したい場合に役立ちます。

日付として認識されたかを確認するには、セルの表示形式を「標準」に変更します。5桁前後の数値が表示されれば、内部的には日付値です。

【操作のポイント】DATEVALUE関数でエラーになる場合は、PCの地域設定や文字列内の区切り記号を確認します。

 

TEXT関数を使う場面

続いては、TEXT関数が適しているケースを確認していきます。

帳票に表示する日付を「2026年04月01日」のように見せたい場合は、TEXT関数が便利です。

=TEXT(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),”yyyy年mm月dd日”)

この数式では、最初にDATE関数で正しい日付を作り、TEXT関数で表示用の文字列へ整えます。

計算用の日付列と、印刷・表示用の文字列列を分ける設計にすると、後から集計しやすくなります。

【操作のポイント】日付を含む文字列を作る列は、集計や日数計算の対象列と分けて管理します。

 

区切り位置機能による日付データの変換

続いては、数式を使わずに8桁の数字を日付へ変換する区切り位置機能について確認していきます。

A列 変換前 処理後の表示
日付コード 日付
20260401 2026/4/1

区切り位置は、本来は1つの列に入った文字列を複数列へ分ける機能です。

ただし、ウィザードの最終画面で列のデータ形式を「日付」に指定すれば、8桁の年月日を日付値に変換できます。

区切り位置機能による日付データの変換

 

区切り位置ウィザードの開始

続いては、変換対象の列を選択して区切り位置を開く操作を確認していきます。

変換したいA列のデータ範囲を選択し、データタブから「区切り位置」をクリックします。

ウィザードの1ページ目では「区切り記号付き」または「固定長」を選ぶ画面が表示されます。

区切り文字のない8桁データでも、この機能は利用できます。

元データを別に残したい場合は、事前に列をコピーしてから作業すると安心です。

【操作のポイント】列全体を変換する前に、数件だけコピーしたテスト用データで結果を確認しましょう。

 

日付形式YMDの指定

続いては、変換の成否を左右する日付形式の指定を確認していきます。

ウィザードを「次へ」で進め、最後の画面にある「列のデータ形式」で「日付」を選択します。

右側の形式一覧からYMDを選びます。

20260401は年・月・日の順番なので、YMDを選択することが必須です。

MDYやDMYを選ぶと、月日年として誤って解釈される可能性があります。

変換先を指定せずに完了すると、選択した元の列が変換結果で置き換わります。

【操作のポイント】日付形式は必ずYMDを選び、変換前の8桁データの並び順と一致させます。

 

数式変換との使い分け

続いては、区切り位置と数式のどちらを選ぶべきか確認していきます。

一度だけ取り込んだCSVデータをまとめて変換する場合は、区切り位置が手早い方法です。

一方、毎月追加されるデータや、入力内容に応じて自動変換したい表では、DATE関数を使うほうが管理しやすくなります。

区切り位置は値を直接変更する操作、DATE関数は元データを残しながら別列で変換する操作です。

元データを監査用に残す必要がある場合は、A列を日付コード、B列を変換後の日付として分ける方法がおすすめです。

【操作のポイント】更新頻度が高い表では、手動処理より数式による自動変換が向いています。

 

和暦表示とユーザー定義の書式設定

続いては、変換した日付を令和・平成などの和暦で表示する設定を確認していきます。

A列 日付コード B列 和暦表示
日付コード 和暦日付
20260401 令和8年4月1日

和暦表示は、DATE関数などで日付値へ変換した後に表示形式を変更して設定します。

元の8桁数字が文字列のままでは、期待どおりに和暦表示できないことがあります。

日付変換.xlsx – Excel ― □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
太字 B
表示形式

セルの書式設定
fx =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
A B C
1 日付コード 変換後の日付
2 20260401 令和8年4月1日
B2を右クリックし、セルの書式設定から和暦を選択

 

和暦の表示形式

続いては、セルの書式設定で和暦を選ぶ基本操作を確認していきます。

和暦にしたいB列を選択し、右クリックして「セルの書式設定」を開きます。

表示形式タブの分類から「日付」を選択し、種類の一覧で「平成24年3月14日」のような和暦形式を選びます。

ExcelのバージョンやWindowsの設定によって表示候補は異なりますが、和暦と分かる形式を選択すれば問題ありません。

和暦表示は見た目の変更であり、セルに保存されている日付値は西暦の日付と同じです。

【操作のポイント】和暦に変えても、日付の計算やフィルターは通常どおり利用できます。

 

ユーザー定義での和暦指定

続いては、より細かく和暦の見た目を調整するユーザー定義を確認していきます。

[$-ja-JP-x-gannen]ggge年m月d日

この表示形式をユーザー定義に入力すると、令和元年のように元年表記を使った和暦表示ができます。

元年を「1年」と表示したい場合は、環境によって利用可能な和暦書式を確認してください。

帳票の様式に合わせて「ggge年m月d日」や「ggg e年m月d日」などを使い分けることがあります。

和暦の書式コードは日付値に対して設定するため、先にDATE関数などで正しい日付へ変換します。

【操作のポイント】ユーザー定義を設定した後は、令和元年や年末年始の日付で表示結果を確認します。

 

和暦を文字列として固定する場合

続いては、和暦を文字列として出力したいケースを確認していきます。

=TEXT(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),”[$-ja-JP-x-gannen]ggge年m月d日”)

この式では、8桁の数値をDATE関数で日付へ変換し、その日付をTEXT関数で和暦の文字列にします。

PDF用の帳票や、他の文章と連結するセルでは便利な方法です。

ただし、結果は文字列なので、日付順の計算・条件付き書式・期間集計を行う元データとしては使いにくくなります。

【操作のポイント】和暦の文字列列は表示専用と考え、別に日付値の列を残しておきます。

 

8桁の日付に変換できない原因と確認方法

続いては、数式を入力しても日付にならないときの原因と対処を確認していきます。

A列 入力例 確認内容
20260401 8桁かどうか
20261301 月が1から12か
20260230 実在する日付か

変換エラーは、数式の誤りだけでなく、元データの桁数や日付としての妥当性が原因になることがあります。

 

桁数不足と文字列混在

続いては、8桁でないデータや文字列が混ざるケースを確認していきます。

たとえば2026041のように7桁になっていると、月日を正しく切り出せません。

先頭にアポストロフィが付いた文字列や、空白を含むデータも確認対象です。

=LEN(A2)

LEN関数で文字数を調べ、結果が8かどうかを確認できます。

日付コードは常に8桁へ統一し、月日が1桁の場合も0を付けて保存することが基本です。

【操作のポイント】CSV取り込み時は、先頭の0や不要な空白がないかも確認します。

 

存在しない日付の入力

続いては、年月日は8桁でも実在しない日付が含まれる場合を確認していきます。

20260230のような日付は、2月30日が存在しないため注意が必要です。

DATE関数は月や日が範囲を超えていても自動的に繰り上げる性質があります。

たとえばDATE(2026,2,30)は、2026年3月2日として扱われます。

入力ミスを検出したい業務では、変換後の日付を元の8桁文字列と比較する確認処理が有効です。

【操作のポイント】日付の妥当性が重要なデータでは、変換結果だけでなく元コードとの照合を行います。

 

エラー表示を抑える式

続いては、空白セルや不正データがあるときにエラー表示を抑える方法を確認していきます。

=IFERROR(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),””)

IFERROR関数は、内部の数式でエラーが起きた場合に指定した値を返します。

上の式では、変換できないデータがあれば空白を表示します。

ただし、不正データを空白にすると見落とす可能性もあるため、「要確認」と表示する方法もあります。

=IFERROR(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),”要確認”)

エラーを隠すだけでなく、修正が必要な行を把握できる表示にすることが大切です。

【操作のポイント】エラー対応用の式を使う場合は、要確認の行をフィルターで抽出できるようにします。

 

まとめ エクセルで日付に変換する8桁の数字の方法

エクセルで8桁の数字を日付に変換する基本は、DATE関数を使う方法です。

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))を使えば、20260401のようなスラッシュなしの数値を、計算可能な正しい日付値へ変換できます。

見た目だけを整えるならTEXT関数、日付として使うならDATE関数という使い分けが要点です。

一度だけの変換であれば、データタブの区切り位置から日付形式をYMDとして指定する方法も使えます。

和暦へ表示したい場合は、日付値へ変換した後にセルの書式設定またはユーザー定義の表示形式を設定しましょう。

変換できない場合は、桁数が8桁か、月日が正しいか、文字列や空白が混在していないかを順番に確認してください。

元の8桁データを残しつつ別列で変換する形にしておくと、検証・集計・帳票作成まで扱いやすい表になります。