小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年10月28日【ID:0】

【Excel】8桁の数値の日付を日付形式に変換

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


外部から出力したファイルなどで、以下のように日付が8桁の数値で出力されている場合があります。

ただ、このままですと、日付として扱うことができません。
そのため、集計には不向きになります。

今回は、上記のような8桁の数値の日付を日付形式に変換する方法について解説していきます。


見た目のみを日付形式にする

まずは、表示形式を用いて、見た目のみを日付形式にしてみます。

8桁の数値が入力されている範囲を選択し、表示形式の設定から[その他の表示形式]を選択します。

以下の画面にて、[ユーザー定義]を選択し、「#-00-00」と入力します。

「#」は数値を表し、「0」は0埋めの数値を表します。
そのため、元の8桁の数値の先頭から2つは0埋めで表示し、次に「-」、そして、次の2つを0埋めで表示し、また「-」、後は残りの数値を「#」で表示しています。
この設定内容で確定することで、以下のように「-」区切りに日付形式の見た目にすることができます。

※「-」ではなく「/」にする場合は、「#"/"00"/"00」と「/」を「"」で囲む必要があります。


値を日付形式に変換する

前半の手順ですと、あくまで見た目のみの対応になります。
そのため、集計には向いていません。

集計がしやすいようにするため、次は、見た目ではなく実際の値を日付形式にしていきます。

まずは、先ほど設定した表示形式を「標準」に戻します。

※実際の値が分かりづらいため、元の8桁の数値に戻しています。

では、隣のセル(C列)に日付形式にした値を表示していきます。

初めに、TEXT関数を用いて、日付形式にする表示形式(前半に設定した内容)を適用した文字列を取得します。
TEXT関数の使い方は、以下になります。

=TEXT(値, 表示形式)
// 値:対象の値
// 表示形式:対象の値に対し、適用したい表示形式

実際に以下のように入力して、表示形式を適用した文字列を取得します。

=TEXT(B2,"#-00-00")

文字列として取得できましたら、次は、この文字列を日付に変換する必要があります。
日付を表す文字列から日付に変換する場合は、DATEVALUE関数、もしくはVALUE関数を活用します。
これらの使い方は、以下になります。

=DATEVALUE(日付文字列)
// 日付文字列:日付を表す文字列
=VALUE(文字列)
// 文字列:数値や日付などを表す文字列

こちらでは、VALUE関数を用いて、以下のように入力します。

=VALUE(TEXT(B2,"#-00-00"))

上記のように、日付を表す数値(シリアル値)を取得できましたら、表示形式を日付形式にすることで完成です。

他の行のセルには、先頭の数式をコピーするだけで変換できます。


補足

日付の文字列を数値に変換する際に、先ほどはVALUE関数を活用しましたが、数値による計算を行うことでも変換することができます。
例えば、以下のような方法があります。

=0+TEXT(B2,"#-00-00")
=1*TEXT(B2,"#-00-00")
=--TEXT(B2,"#-00-00") 
// 「--」は-1×-1×[値]という意味になる
// ※「++」では変換できないので注意

パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7175315

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】表に自動で罫線を設定(カテゴリー別の罫線も設定)

【Excel】不要なセルを自動でグレーにする方法

【ExcelVBA】タスク管理表で残タスク数をシート名に自動反映

【ExcelVBA】表の絞り込みと並べ替えを一瞬でリセット

【Excel】複数シートの表を数式で1つにまとめる

【Excel】特定の日付まで連続で入力

【Excel】簡易的な検索機能を数式のみで実現

【Word】特定の文字を改行に置換する

【Excel】特定の条件を満たしたときにメッセージを表示

【ExcelVBA】複数シートの表を1つにまとめる

【ExcelVBA】複数フォルダを一括作成

【Excel】オンライン会議で使える拡大機能

【Excel】条件付き書式でシートの比較

【Excel】フィルターで絞った上でトップ3を求める

【Excel】直近の退会者を表から自動抽出

【Excel】半角文字の入力を制限する

【Excel】リンク付きの目次を簡単に作成

【Excel】表の順番をランダムに並べ替える

【Excel】条件式で日付を正しく判定

【Excel】XLOOKUP関数で指定した複数項目を抽出

【Excel】重複を除いた件数と重複した件数

【Excel】数式などでシートを切り替えずに別シートを参照!?

【Excel】各担当ごとにシートを分割

【Excel】分析に必要な情報を瞬時に求める

【ExcelVBA】完了タスクを非表示にして着手中タスクを上位表示する





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ

メンバーに加入すると多くの特典が得られます

各プラン特典一覧 各プラン特典一覧

 加入ページへ 
⚠️今が最安値です⚠️

※メンバーページと連携すると表示されなくなります