日付に見えて「文字」の日付を見分ける2つの関数と、DATEVALUEでの直し方

日付に見えて「文字」の日付を見分ける2つの関数と、DATEVALUEでの直し方

記事
IT・テクノロジー
ほかのシステムから書き出した表や、ほかの資料や画面からコピーして貼った表では、見た目は「2026/10/05」なのに、中身が日付ではなく文字になっていることがあります。
文字の日付は、ほかの日付と同じように並べ替えや期間の集計に使えないことがあります。今日は、まず見分ける方法、次に直す方法をまとめます。

例として、次のような表を使います。A列のうち、A3 と A5 は貼り付けで入った「文字の日付」だとします。

A2:2026/10/01(日付) B2:1,000
A3:2026/10/05(文字) B3:2,000
A4:2026/10/20(日付) B4:3,000
A5:2026/11/02(文字) B5:4,000

■見分け方1:ISNUMBER と ISTEXT

表計算ソフトの中で、日付は「数」として持たれています。なので、数かどうかを調べれば見分けられます。

=ISNUMBER(A2)
=ISTEXT(A2)

本物の日付の A2 は ISNUMBER が TRUE、ISTEXT が FALSE になりました。文字の日付の A3 は逆で、ISNUMBER が FALSE、ISTEXT が TRUE です。
となりの列にこの式を入れて下まで広げると、どの行が文字なのか一目で分かります。

■見分け方2:COUNT と COUNTA の数を比べる

1行ずつ見なくても、列全体で混ざっているかどうかは次の2つで分かります。

=COUNT(A2:A5)
=COUNTA(A2:A5)

COUNT は数(日付を含む)だけを数え、COUNTA は空でないセルをすべて数えます。この表では COUNT が 2、COUNTA が 4 でした。2つの数が違えば、数ではないもの(文字の日付など)が混ざっているという合図です。

■直し方:DATEVALUE で日付に戻す

文字の日付は、DATEVALUE で日付に戻せます。

=DATEVALUE(A3)

結果は 46300 という数になりました。これは表計算ソフトの中での日付の持ち方で、表示形式を「日付」にすると 2026/10/05 と表示されます。念のため =DATE(2026,10,5)=DATEVALUE(A3) で比べると TRUE になり、同じ日付だと確かめられました。VALUE(A3) でも同じ 46300 になりました。

列に日付と文字が混ざっているときは、文字の行だけを直すように、次のように分けておくと安心です。

=IF(ISTEXT(A2),DATEVALUE(A2),A2)

この式を新しい列に入れて下まで広げ、集計や並べ替えにはその列を使います。この表では4行とも日付(数)にそろいました。元の列は消さずに残しておくと、あとで見比べられます。

■気をつけること

- 「2026年10月5日」のように漢字の入った書き方は、私が試した計算の道具では DATEVALUE がエラーになりました。この形が多いときは、置換で「年」「月」を「/」に変え「日」を消して、上と同じ「2026/10/05」の形にそろえてから使ってください(この形なら上のとおり日付に戻せました)。
- 今回の式は、Excel 形式の見本ファイルを作って計算の道具で確かめました。Google スプレッドシートの画面では確かめていないので、お使いの表で一度、ISNUMBER の結果を見てから使ってください。

■おわりに

日付の集計が合わないときは、式を疑う前に「その日付は数か」を ISNUMBER で見てみてください。意外とここが原因のことがあります。

表の形に合わせた関数を1つ作って、手元で動かして確かめてからお渡しするサービスも出しています。困っている表があれば、こちらからどうぞ。

※この記事は生成AI(Claude)を使って書き、式は見本ファイルで計算して確かめています。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す