[EXCEL] 表示形式が違う日付を、エクセルは正しく理解できないのか?
こんな記事を拝見しました。
まだ始めたばかりと拝察しますが、「仕組み」の重要性を説いていて、共感するところです。今後の展開を期待したいところであります。
ちなみに、集計の前にデータを整えることの必要性については私も、ささやかですが記事にしています。
参考記事:[EXCEL] 集計前にデータを整える(データクレンジング) 公務員に必要なエクセルの知識
さて、冒頭記事の中にはこんな記載がありました。
原因② 日付形式がバラバラ
日付は特に壊れやすい項目です。
例えば、
・2026/1/1
・2026-01-01
・2026年1月1日
・文字列として入力された日付
見た目は同じでも、Excelは別物として扱います。
その結果、並び替えや期間集計がうまくいかなくなります。
日付の形式が違うと、正しく集計できない、という内容です。
この方の記事に限らず、以前からnoteやWEB上で同じような内容をいくつか見た記憶があります。もう探し出せないのですが・・・。
この「見た目は同じでも、Excelは別物として扱います。」とありますが、果たしてそうでしょうか?
私はかねがね疑問に思っていました。
*「見た目は同じでも」は「同じ日を指していても」という意味だと解釈しています。
なぜなら、エクセルは同一のデータ(日付)を様々な表示にできるのが特徴の一つ、と思っているからです。
参考:日付と時間の入力と表示(とりあえずのまとめ)
折角の機会なので、検証してみます。
記事主さんの意図とは論点が異なっているかもしれませんが・・・
1 2026/1/1
日付部分だけ切り取って、テキストとして貼り付けてみます。
Ctrl+C で 2026/1/1 をコピー ⇒ Alt ⇒ E ⇒ S で下が開く ⇒ テキストを選択⇒ Enter



上の数式バーを見るまでもなく、問題なく日付形式になりました。
当然といえば当然です。
2 2026-01-01
同じく 2026-01-01 をコピーして貼り付けてみると・・・

「2026-01-01」が「2026/1/1」に変わっています。
なお、左側のデータは、最初に「’」を付け、「わざと」文字データとして入力してあります(そうしないと元データの表示ができないため)。
3 2026年1月1日

上の数式バーに「2026/1/1」と出ていることからわかるとおり、こちらも問題なく、日付データとして認識されています。
表示形式は違いますが、日付データとして認識されている、つまり、並び替えや数式にも問題なく使えるということです。
実際、Ctrl+Shift+3 でセルの書式設定を標準の日付形式に戻してみると・・・

数式バーと同じになりました。
4 文字列として入力された日付
例えば下図

「2026年1月1日」の頭に「’」が入っています。これは日付を「わざと」文字データ(文字列)にしているためです。
この文字データの日付はそのままでは日付形式のデータにはなりません。
でも、1を掛けてみると・・・

上図のとおり日付データになります。
厳密にいえば、日付形式になっていないセルの場合は、以下の通り、日付を表すシリアル値(1900年1月1日を1として1日ごとに+1となる連続値)で表示されます。
下図の下のセルのとおりです。

このセルは、Ctrl+Shift+3 で年月日になります(ただし西暦表示。和暦はCtrl+1から設定)。
当然ですが、日付形式で表示されるように書式設定されているセルの場合は、問題なく日付として表示されます。
面白いことに、文字データで「〇月〇日」のように「年がない場合」でも、1を掛けることによって日付データに直ります。

ただし、「現在の年」の「〇月〇日」となります。
過去や未来の年の日付にはなりません。
以上から、日付の表示が異なっていても、エクセルは日付を正しく理解することができる、といえます。
とはいえ、表示形式がバラバラなのはよくありません。
見る人に負担を与えますし、ミスの原因にもなります。
特に「月日」だけの入力の場合、「年が違う」といったものが散見されます(経験多々)。
やはり、日付表示は統一しておいた方がいいでしょう。
しかも、「年月日」が一番といえます。
*データとしては「Rx/x/x」あたりが短くて済みます。
通知等では表示形式を設定して調整すればいいでしょう。
バラバラな日付の表示形式があった場合の修正方法
① 列を指定(例:Ctrl+スペースバー)

②「セルの書式設定」(Ctrl+1)を開く
③ 「表示形式」⇒「日付」 ⇒「種類」で好きな形式を選ぶ
*「ユーザー定義」で設定してもいい。

④「OK」押下で、皆同じ表示形式になる。

以上で表示の統一は簡単にできます。
当然ですが、最初から日付の表示が統一されていた方が判りやすいでしょう。様式(一覧表)を作る人がちょっと配慮すれば済む話です。
入力時から表示形式を統一する方法
表示を統一するには、上と同じで、あらかじめ列全体を指定して「セルの書式指定」で好みの表示形式を指定しておけば、違った表示形式で入力しても、勝手に修正されます。
例 表示形式を和暦に設定してあれば、西暦で入れても和暦になる。

上図で、列全体を和暦の簡略表示に設定しています。
下のセルは Ctrl+; で今日の日付を入れました。
この状態でEnterを押して確定すると・・・

「データの入力規則」で入力される日付を限定できる
日付は「データの入力規則」(Alt ⇒ V ⇒ V)でも制限できます。

これにより日付形式以外での入力を防ぐとともに、指定した範囲の期日以外の入力も防げます。
これについては別記事にします。
CSVから取り込むとどうなるか?
外部データからCSV形式で、表示が異なる日付データを取り込むとどうなるでしょうか?
例えばこんなCSVデータがあるとします。

実際はバラバラな形式の日付が縦に並んでいる例があるかと思いますが、わかりやすいように横にしました。
これをエクセルに張り付けてみると・・・

問題なく「,」で区切られてた日付となりました。
Ctrl+Shift+3 で標準の日付形式に直してみると・・・

問題なく直りました。
なお、日付が縦に並んでいた場合、他のセルの区切り関係で綺麗に分かれない恐れもあります。
そんな時は、
データ ⇒ 区切り位置から対応できるでしょう(詳細は別途)。

繰り返しになりますが、以上のことから、エクセルの日付データは、表示形式が異なっていても、日付として扱うことが出来る、といえます。
ただし、上記内容全てのパターンを網羅して検証したものではなく、表示の違いにより日付が正しく認識できない例もあるかと思います。
特に外部システムからのデータの取り込みは、色々難しいところがあるかもしれません。
冒頭記事ではそういったケースも想定しているのではないかと思われます。
以上
