日付なのに計算できない…原因は「文字列」になった日付データでした|見分け方と直し方

初心者シリーズ

「先月まで普通に使えていたのに、今月のデータだけ日付の計算が合わない」「並び替えをしたら、4月1日の次にいきなり4月10日が来てしまった」——Excelで日付を扱っていると、こうした症状に一度は出くわします。

多くの場合、原因はひとつです。セルに入っているのが「日付」ではなく、見た目だけ日付にそっくりな「文字列」になっているのです。この記事では、なぜこの現象が起きるのか、自分のデータがどちらなのかを見分ける方法、そして症状の重さに応じた3段階の直し方を、実際の業務でありがちな場面に沿って解説します。あわせて、日付以外のデータ(数字や空白)が同時に壊れている複合パターンへの対処法も紹介します。

「並び替えたら4月1日の次が4月10日に」ある日突然起きたトラブル

営業事務を担当するAさんは、毎月、基幹システムから出力したCSVファイルをExcelで開き、日付順に並び替えて日報をまとめていました。ところがある月、いつものように「日付」列を基準に昇順で並び替えたところ、4月1日、4月10日、4月11日……4月2日、4月20日、というように、まるで文字を五十音順に並べたかのような不自然な順序になってしまいました。

さらに悪いことに、集計用に組んでいた「今月の日付だけを抽出する」条件式も反応しなくなり、関数の結果が軒並み0や空欄になっていました。数式自体は先月から一文字も変えていません。変わったのは、システム側の出力形式がわずかに変わり、日付が「日付」としてではなく「テキスト」としてCSVに書き出されるようになったことでした。

この「数式は正しいのに結果だけおかしい」という状態は、Excelの日付トラブルの中でも特に見落とされやすいパターンです。なぜなら、セルを見た目で確認する限り「2026/4/1」のようにごく普通の日付にしか見えないからです。原因を特定するには、見た目ではなく「Excelがそのセルを何として扱っているか」を確認する必要があります。

原因は主に3パターン、まず自分のケースを特定する

「日付が文字列になる」原因は、発生源によって大きく3つのパターンに分かれます。まず自分のデータがどのパターンに当てはまるかを特定すると、対処法を選びやすくなります。

パターン典型的な発生源見分けるヒント
システム・CSV由来基幹システム、会計ソフト、Webサービスからのエクスポート列全体が同じ症状で、特定の日にだけ突然発生する
コピー&ペースト由来他のシートやメールの表からのコピペ、PDFからの貼り付け一部のセルだけ症状が出る、貼り付け直後に発生する
手入力由来全角スラッシュ(/)や全角ドット(.)での入力、先頭にアポストロフィが付く入力手入力した列・セルにだけ発生する

システム由来の場合は、来月以降も同じ現象が繰り返される可能性が高いため、あとで紹介する「仕組み化」による対処がおすすめです。逆に手入力由来であれば、入力ルールを見直すだけで再発を防げます。

4つのチェック方法で「文字列化した日付」を見抜く

見た目では判断できないため、次の4つのポイントで確認します。上から順に、手軽なものから並べています。

  1. セルの配置を見る:日付として認識されている数値は自動的にセルの右寄せになります。左寄せになっている場合は、文字列として扱われている可能性が高いサインです。
  2. 並び替えを試す:日付列で昇順・降順の並び替えを実行し、日付として自然な順番になるか確認します。文字列として五十音(実際には文字コード順)に並んでしまう場合は要注意です。
  3. 日付の計算をしてみる:空いているセルに「=対象セル+1」のような簡単な数式を入れます。エラーになったり、意図しない結果が返ってきたりする場合は文字列化を疑います。
  4. ISNUMBER関数で確定させる:空いているセルに「=ISNUMBER(対象セル)」と入力します。日付として認識されていればTRUE、文字列になっていればFALSEが返ります。この方法が最も確実で、大量のデータでも一括チェックが可能です。

複数のセルをまとめて確認したい場合は、ISNUMBER関数を別列に入れて下までコピーし、FALSEが並んでいる行だけをフィルターで抽出すると、どの範囲が壊れているかを一目で把握できます。

症状の重さ別に選ぶ、3段階の直し方

原因とチェックが終わったら、実際にデータを修復します。データの件数や、今後も繰り返し発生するかどうかによって、適した方法が変わります。

レベル1:数件〜数十件なら「区切り位置」機能

該当のセル範囲を選択し、「データ」タブから「区切り位置」を選びます。ウィザードが立ち上がったら、特に区切り文字などは変更せず、そのまま「次へ」を2回進め、最後の画面で列のデータ形式を「日付」に指定して「完了」をクリックします。区切る必要のない1列のデータでも、この機能を通すだけでExcelが日付として再認識してくれる場合が多く、最も手軽な方法です。

レベル2:ピンポイントで直したいなら「ダブルクリック+Enter」

1件ずつ直しても構わない件数であれば、対象セルをダブルクリックして編集状態にし、そのままEnterキーを押すだけでも日付として再認識されることがあります。これは「セルの中身を一度確定し直す」ことで、Excelに再判定させる方法です。件数が多いと非効率ですが、数件だけ紛れ込んでいる場合には手早く対応できます。

レベル3:毎月発生するなら数式で自動変換する仕組みにする

システム由来で今後も繰り返し起きることが分かっている場合は、都度手作業で直すのではなく、数式で自動的に変換する列を用意しておくと安定します。代表的なのがDATEVALUE関数です。

=DATEVALUE(A2)

このように入力すると、A2セルの文字列を日付のシリアル値に変換してくれます。ただし、変換元の文字列がDATEVALUE関数の解釈できない形式(全角文字が混在している、区切り文字が特殊など)だとエラーになるため、エラー時の挙動も一緒に指定しておくと安全です。

=IFERROR(DATEVALUE(A2),"要確認")

この形にしておけば、変換できたセルは日付として、変換できなかったセルには「要確認」という文字が表示されるため、どこに手作業の確認が必要かが一目で分かります。この列を毎月のテンプレートに組み込んでおけば、システムの出力形式が変わらない限り、翌月以降は自動で日付が整うようになります。

実務でよくある複合トラブル:日付と数字が同時に壊れているケース

現場のデータでは、日付だけが単独で文字列化しているとは限りません。同じCSVの中で、日付列は文字列、金額列の数字も文字列、という「複合トラブル」が起きているケースを頻繁に見かけます。

たとえば経理部門で、システムから出力した経費精算データを月次集計する場面を考えてみます。日付列が文字列化してシリアル値扱いされていないだけでなく、金額列の数字にもカンマや通貨記号が混ざって文字列として保存されているようなケースでは、SUM関数を組んでも0のまま合計されず、日付での絞り込みも同時に効かなくなるという、二重のトラブルに見舞われます。このような「数字なのに文字列として扱われる」現象そのものについては、SUM関数が計算されない理由⑥「数字と文字列が混ざっている」でも詳しく扱っているので、金額の集計が合わないときはあわせて確認してみてください。

「30個」と入力した表は合計できない|Excelで数字と文字が混ざったセルの見分け方と直し方
ExcelでSUM関数の合計が合わない原因の一つが「30個」「20A」のような数字と文字の混在です。COUNT・ISNUMBER関数を使った文字列セルの特定方法から、置換・SUBSTITUTE・表示形式による直し方、再発を防ぐ入力ルールまで実務目線で解説します。

また、CSVを開いた直後のデータには、セルの末尾に目に見えない空白文字が紛れ込んでいることもあります。日付や数字の判定でISNUMBER関数がFALSEを返すのに、区切り位置やDATEVALUE関数でも変換できない場合は、この見えない空白が原因になっていることがあります。詳しい見分け方と対処法は末尾に空白がある場合の対処法にまとめているので、こちらもあわせてチェックしておくと、複合トラブルの解決が早くなります。

末尾の空白が原因でVLOOKUPが一致しない時の見分け方と直し方
ExcelでVLOOKUPが#N/Aになる、COUNTIFで数えられない原因は末尾の空白かもしれません。LEN関数・CODE関数での見分け方から、TRIM関数・置換・SUBSTITUTEの使い分け、TRIMで消えない空白への対処法まで初心者向けに解説します。

このように、実務では「1つの原因を直したら終わり」ではなく、同じデータの中に複数の原因が同時に存在していることが珍しくありません。日付が直らないときは、日付だけでなく、隣接する列の数字や空白も一緒に疑ってみることをおすすめします。

日付は「見た目」ではなく「シリアル値」で管理されている

ここまでの内容を理解するうえで欠かせないのが、Excelの内部では日付が「シリアル値」と呼ばれる数値として管理されているという仕組みです。たとえば2026年4月1日は、Excelの内部では「46113」のような単なる整数として保持されています。表示形式によって「2026/4/1」や「令和8年4月1日」のように見た目が変わっているだけで、実体は数字です。

日付の計算や並び替えができなくなるのは、この「数字であるはずのもの」が、何らかの理由で「文字列」に変わってしまっているからです。逆にいえば、Excelで数字がうまく扱われないトラブルの多くは、この「本来は数字なのに文字列になっている」という同じ構造で説明がつきます。SUM関数が計算されない一番多い原因「数字の文字列化」で紹介している症状も、根本にあるのはまったく同じ理屈です。日付のトラブルを理解しておくと、金額や数量といった他のデータで似た不具合が起きたときにも、原因の当たりをつけやすくなります。

SUM関数が計算されない一番多い原因は「数字の文字列化」|見分け方と直し方
SUM関数の合計が0になる、一部しか計算されない――実はその原因の多くは「数字が文字列になっている」ことです。見分け方4つと状況別の直し方を、実務目線で具体的に解説します。

再発を防ぐためのミニチェックリスト

一度直しても、データの取得元が変わらない限り、同じ現象は繰り返し起こります。月次業務でCSVやシステムからのデータを扱う場合は、集計を始める前に次の点を確認しておくと、後工程でのやり直しを防げます。

  • 日付列にISNUMBER関数を仕込み、FALSEが出ていないか確認してから作業を始める
  • 手入力で日付を入れるときは、全角のスラッシュやドットを使わず、半角の「/」または「-」で統一する
  • 他のシートやWebページからコピーした日付は、貼り付け後に必ず並び替えテストをしておく
  • 毎月同じ形式のデータを扱うなら、DATEVALUE関数などの変換列をテンプレートに組み込んでおく
  • 日付だけでなく、隣接する数字列・文字列列にも同様の症状が出ていないか、あわせて確認する

これらは特別な操作ではなく、集計を始める前の数十秒の確認作業です。習慣にしておくだけで、「並び替えたら順番がおかしい」「関数の結果が急に0になった」といったトラブルの多くを未然に防ぐことができます。

よくある質問

Q. DATEVALUE関数を使ってもエラーになります。原因は何が考えられますか?

DATEVALUE関数は、区切り文字や日付の並び順(年月日か月日年かなど)がExcelの想定と一致していないとエラーを返します。特に「2026年4月1日」のように全角の漢字が混ざっている場合や、区切り文字が「.」(ドット)になっている場合はエラーになりやすいので、まずはSUBSTITUTE関数で区切り文字を半角の「/」に統一してからDATEVALUE関数にかけると変換の成功率が上がります。

Q. 日付を「あえて」文字列として扱いたい場合はどうすればいいですか?

請求書番号の一部として日付を使うなど、計算をさせたくない目的であえて文字列として保持したいケースもあります。その場合はTEXT関数を使い、「=TEXT(A2,”yyyy/mm/dd”)」のように変換すれば、意図的に文字列化した日付を作成できます。逆に言えば、TEXT関数で変換した結果を後から計算に使おうとすると、この記事で説明した文字列化トラブルと同じ状態になるため注意が必要です。

Q. 一つのシートに何百行もある場合、1件ずつ確認するのは大変です。

ISNUMBER関数を日付列の隣に入れて最終行までコピーし、オートフィルターでFALSEの行だけを抽出すれば、文字列化しているセルだけを一括で洗い出せます。抽出した行に対してレベル1(区切り位置)またはレベル3(DATEVALUE関数)の方法をまとめて適用すれば、大量データでも効率よく修正できます。

もう少し複雑な実務パターン——たとえば複数のシステムからデータを取り込んで日付形式がバラバラに混在しているケースや、日付と時刻が一体になった文字列を分解して扱う場合の応用テクニックについては、noteでも整理しています。基本の直し方だけでは対応しきれない場面に出くわしたときは、note「研究員」ももう一歩踏み込みたい人向けの内容としてあわせて参考にしてみてください。

研究員|note
Excelに何度も悩んできた一般事務の「Excel実務研究員」です。すぐ答えを出すより、一緒に考え、検証しながら理解を深める研究室です。初心者さん大歓迎。少しずつ、できることを増やしていきましょう。

まとめ

日付なのに計算できない、並び替えがおかしい、といった症状の正体は、多くの場合「日付が文字列になっている」ことです。原因はシステムからの出力、コピペ、手入力の3パターンに大きく分かれ、ISNUMBER関数を使えば見た目では判断できない文字列化を確実に見抜くことができます。

直し方は件数と発生頻度に応じて選べば十分です。数件であれば区切り位置機能やダブルクリック、毎月繰り返すならDATEVALUE関数で仕組み化しておくと、翌月以降の手間が大きく減ります。また、日付だけでなく数字や空白が同時に壊れている複合パターンも実務ではよくあるため、隣接するデータもあわせて確認する習慣をつけておくと安心です。

Excelの日付は、表示は違っても内部では数字として管理されているという仕組みを理解しておけば、似たようなトラブルに遭遇したときにも落ち着いて原因を切り分けられるようになります。

コメント

タイトルとURLをコピーしました