当サイトの記事にはプロモーションが含まれています。

驚愕!Excel日付表示形式を完全攻略する7つの方法

パソコンパソコン・スマホ教室
スポンサーリンク

Excelのセルに日付を入れたはずなのに 44927 という数字が出てきた、和暦にしたいのに西暦のまま変わらない、役所に出す書類で「令和元年」と書きたいのにどうしても「令和1年」になる。日付の表示形式は、仕組みを知らないうちは延々とハマり、一度分かると全部つながるタイプの機能です。

このページは、当サイトの実機(Excel 2019 / バージョン 16.0・ビルド 19127.0・日本語UI)で実際にセルへ入力し、キーを押し、出てきた結果をそのまま書き起こして作り直しました。先に、実機で測って分かったことの核心を3つだけ出します。

  1. 表示形式をどう変えても、セルの中身の数字は変わらない。変わるのは見た目の文字だけ
  2. 文字列として入った日付は、引き算も足し算もできてしまうのに、SUM だけが黙って0になる
  3. よく紹介される ggge という書式では「令和元年」にならず「令和1年」と出る

3つ目の元年の話は、公式が専用の書式文字列を用意していて、しかもその書式に出てくる謎の数字を実機で追いかけると正体が分かります。そこがこのページの中心です。

スポンサーリンク

表示形式を変えても、セルの中身の数字は変わらない

日付でつまずく原因は、ほぼこの一点に集約されます。Excelは日付を数字で持っていて、表示形式はその数字を人間向けにどう見せるかを決めているだけです。

当サイトの実機で、中身が 44927 の同じセルに対し、表示形式だけを4通りに変えて、中身と画面に見える文字を毎回両方測りました。

設定した表示形式 画面に見える文字 セルの中身(実測)
G/標準 44927 44927
yyyy/m/d 2023/1/1 44927
yyyy年m月d日 2023年1月1日 44927
ggge年m月d日 令和5年1月1日 44927
Excel 2019の実機スクリーンショット。セルの中身、表示形式、画面に見える文字の3列の表で、中身はすべて44927なのに、表示形式がG/標準なら44927、yyyy/m/dなら2023/1/1、yyyy年m月d日なら2023年1月1日、和暦なら令和5年1月1日と表示されている
4行とも、セルの中身は同じ44927です。違うのは表示形式だけで、それだけで見える文字がこれだけ変わりました。

中身は4通りすべて44927のままでした。画面の文字は「44927」から「令和5年1月1日」まで大きく変わったのに、セルが持っている数字は1ミリも動いていません。変わったのは見た目だけです

ここが分かると、日付まわりのトラブルの見え方が変わります。「日付を入れたのに44927と表示される」のは、データが壊れたのでも入力を間違えたのでもありません。中身は正しい日付のまま、表示形式が G/標準 になっているだけです。直す場所はデータではなく表示形式の側になります。

この44927という数字について、公式の「Excel の日付システム」のページはこう説明しています。

日付を入力すると、1900 年 1 月 1 日以降の経過日数を表すシリアル番号に変換されます。

当サイトの実機でも =DATE(2023,1,1)44927 を返しました。1900年1月1日から数えて44927日目、という意味の数字がセルの中に入っています。実機で =DATE(1900,1,1) を入れると、きちんと 1 が返りました。

ついでに1900年のあたりを実機で測っていて、面白いものが見つかりました。

実機で入れた式 返ってきたシリアル値
=DATE(1900,1,1) 1
=DATE(1900,2,28) 59
=DATE(1900,3,1) 61

2月28日の翌日が3月1日なのに、59の次が61になっていて、60が1つ飛んでいます。日数を数えているはずの番号が1日ぶん余計に進んでいるということです。当サイトの実機で確かめたのはこの3つの値までで、飛んでいる60が何と表示されるのかは確かめていません。一般には、Excelが1900年をうるう年として扱ってしまう仕様が昔から知られていると言われていますが、その中身については当サイトでは未確認です。

日常の日付では影響しませんが、シリアル値が「1900年1月1日からの通し番号」だという話が実機で見えるところです。この数字は次の元年の話でそのまま効いてきます。

公式が用意している元年の書式文字列を実機に入れてみた

ここからがこのページの中心です。役所に出す書類では「令和1年」ではなく「令和元年」と書きます。ところが、和暦の書式としてどこでも紹介されている ggge年m月d日 では元年になりません。

当サイトの実機で、改元をまたぐ日付5通りを TEXT 関数に通して測った結果です。

日付 ggge年m月d日 の結果
2019/4/30 平成31年4月30日
2019/5/1 令和1年5月1日
2019/6/15 令和1年6月15日
2019/12/31 令和1年12月31日
2020/1/1 令和2年1月1日

元号の切り替わり自体は正確でした。4月30日までは平成31年、5月1日から令和になっています。しかし最初の年は「令和1年」と出て、「令和元年」にはなりません。昭和から平成への改元も同じで、実機では1989/1/7が昭和64年1月7日、1989/1/8が平成1年1月8日でした。

この元年表示のために、公式は「日本の年号変更と元年」という専用ページを用意しています。適用対象にはExcel 2019が明記されていて、当サイトの撮影機と同じです。

2019 年 5 月 1 日に開始された日本の新年号に対応するため、Excel をアップデートいたしました。

そして同じページに、元年を出すための専用の書式文字列が載っています。これを使えば解決です。ところが、ここに大きな落とし穴がありました。

公式の本文からコピーすると、エラーも出ずに壊れる

公式ページの本文に載っている書式文字列は、「年」「月」「日」にあたる部分が ? と表示されています。当サイトでブラウザで開いて確認したところ、本文ではこう出ていました。

[<=43585][$-ja-JP]ggge"?"m"?"d"?";[>=43831]ggge"?"m"?"d"?";ggg"??"m"?"d"?"

マイクロソフトのサポートページ、日本の年号変更と元年の画面。古いバージョンのExcelを使用しているときに元年をユーザー設定の表示形式で表示するという見出しの下に書式文字列が載っているが、年や月や日の部分がはてなマークで表示されている。そのすぐ下の画像の赤い枠の中には正しい文字列が写っている
公式ページの本文では、書式文字列の「年」「月」「日」がはてなマークで表示されていました。画像をクリックすると公式ページが開きます。

公平のために書き添えると、公式がそのすぐ下に貼っている画像の赤枠の中には、正しい文字列がきちんと写っています。本文の表示だけが ? になっている、という状態です。なぜそうなっているのか(文字コードの問題なのか、ページの表示の問題なのか)は当サイトでは分かっていません。

問題は、読者が本文の方をコピーしてしまったときに何が起きるかです。当サイトの実機で、本文の ? のままの文字列を実際にセルに貼り付けて測りました。

実機に貼り付けたもの 2019/5/1 の表示(実測)
公式の本文からコピーしたもの(?のまま) 令和??5?1?
公式の画像に写っている正しい文字列 令和元年5月1日

ここが読者にとって一番きついところです。書式の設定自体は通ってしまい、エラーは一切出ません。ただ静かに 令和??5?1? と表示されるだけです。エラーメッセージが出れば「何か間違えた」と気づけますが、何も出ないので、公式のとおりにやったのになぜ動かないのか分からないまま詰みます。TEXT 関数に渡した場合も同じで、? のままの方は 令和??5?1? になりました。

正しい書式文字列はこれ

当サイトの実機で「令和元年5月1日」と表示されることを確認した文字列を、そのまま置いておきます。これをコピーして、セルの表示形式のユーザー定義か TEXT 関数の第2引数に貼り付けてください。

[<=43585][$-ja-JP]ggge"年"m"月"d"日";[>=43831]ggge"年"m"月"d"日";ggg"元年"m"月"d"日"

結果が下の表です。左が先ほどの ggge年m月d日、右がこの正しい書式文字列で、同じ日付を並べています。

日付 ggge年m月d日 公式の元年用の書式文字列
2019/4/30 平成31年4月30日 平成31年4月30日
2019/5/1 令和1年5月1日 令和元年5月1日
2019/6/15 令和1年6月15日 令和元年6月15日
2019/12/31 令和1年12月31日 令和元年12月31日
2020/1/1 令和2年1月1日 令和2年1月1日
Excel 2019の実機スクリーンショット。日付、ggge を使った場合、公式の書式文字列を使った場合の3列の表。2019年5月1日の行では、ggge を使うと令和1年5月1日、公式の書式文字列を使うと令和元年5月1日と表示されている。数式バーにTEXT関数の式が見えている
同じ2019年5月1日でも、ggge では「令和1年」、公式の書式文字列では「令和元年」になりました。当サイトの実機(Excel 2019)で並べて確かめた結果です。

この書式文字列は、セルの表示形式としても TEXT 関数の第2引数としても、どちらでも同じように「令和元年」を出しました。令和元年の期間だけが元年になり、平成の日付と令和2年以降はそのままです。実務でそのまま使えます。

公式が説明していない43585と43831の正体を実機で追いかけた

この書式文字列を見て、当然ここで止まります。4358543831 とは何なのか。公式ページはこの書式文字列を載せているだけで、この2つの数字が何の日付なのかは説明していません。

ここで最初の章のシリアル値が効いてきます。表示形式は数字に対する条件なので、この2つも日付のシリアル値のはずです。当サイトの実機で、書式を適用したセルの中身を1つずつ読んで突き合わせました。

日付 セルの中身(実測したシリアル値) 書式の中の数字との関係
2019/4/30 43585 43585と一致(平成最後の日)
2019/5/1 43586 令和の初日
2019/12/31 43830 令和元年の最後の日
2020/1/1 43831 43831と一致(令和2年の初日)

ぴたりと一致しました。43585は平成最後の日、43831は令和2年の初日です。つまりこの書式文字列は、次の3段構えで書かれています。

1つ目の [<=43585] は「平成最後の日まではそのまま元号と年を出す」、2つ目の [>=43831] は「令和2年の初日以降もそのまま出す」、そして条件から漏れた残り、つまり43586から43830まで(令和元年の期間だけ)が3つ目の ggg"元年" に落ちて「元年」と書かれます。年の数字を出す e を使わず、「元年」という文字を直接埋め込むのがポイントです。

そう分かると、この書式文字列は覚えるものではなく読めるものになります。[$-ja-JP] はカレンダーを日本語に固定する指定で、当サイトの実機は日本語版のため付けても付けなくても和暦になりましたが、公式がこれを付けているのは環境に左右されないようにするためと考えられます。日本語版以外の環境は当サイトでは試せていません。

なお公式には、セルの書式設定のダイアログから元年表示形式を選ぶ方法も案内されています。当サイトではこのダイアログの手順は実機で確かめていないため、ここでは書式文字列を入れる方法だけをお伝えしています。

TEXT関数のgの数で元号の表記が変わる

元年の書式文字列に出てきた gggeg について、実機で測った結果です。同じセル(2023年1月1日)に対し、書式コードだけを変えました。

TEXT関数に渡した書式コード 当サイトの実機で返ってきた結果
"yyyy年m月d日" 2023年1月1日
(和暦にならない)
"ggge年m月d日" 令和5年1月1日
"gge年m月d日" 令5年1月1日
"ge年m月d日" R5年1月1日
Excel 2019の実機スクリーンショット。書式コードとTEXT関数の結果の表で、yyyy年m月d日なら2023年1月1日、ggge年m月d日なら令和5年1月1日、gge年m月d日なら令5年1月1日、ge年m月d日ならR5年1月1日と表示されている。数式バーにTEXT関数の式が見えている
gの数だけで、令和・令・Rと変わりました。数式バーに実際の式が出ています。当サイトの実機で1つずつ入れて確かめた結果です。

g が3つで「令和」、2つで「令」、1つで「R」でした。年を表す e は和暦の年になります。書類の日付欄が狭いときは ge、通常の和暦表記は ggge という使い分けができます。

以前このページに載せていた説明が実機と合っていませんでした

このページには、以前このような説明を載せていました。

『2023年1月1日』を『令和5年1月1日』などに変更したい場合、次のように書きます。=TEXT(セル, “yyyy年m月d日”)

当サイトの実機で =TEXT(A1,"yyyy年m月d日") をそのまま入れたところ、返ってきたのは 2023年1月1日 でした。yyyy年m月d日では和暦になりません。西暦のまま「年月日」が付くだけです。和暦にするには y ではなく g が必要でした。同じ式を打って和暦にならず困っていた方がいたはずで、申し訳ありませんでした。

公平のためにもう1点書いておきます。このページには「Ctrl + Shift + ^ で日付の書式を解除し、シリアル値として表示することが可能です」とも書いていました。これは実機で押して確かめたところそのとおりでした。表示形式が G/標準 になり、44927が出ました。実機で検証して誤りだったのは、上のTEXT関数の1点です。

文字列として入った日付は、計算できてしまうのにSUMだけが0になる

ここまでは「中身は日付なのに見た目が数字」でした。逆に「見た目は日付なのに中身が日付でない」場合もあり、こちらの方がはるかに厄介です。

当サイトの実機で、あらかじめ表示形式を「文字列」にしたセルに 2023/1/1 と入力しました。画面にはふつうの日付とまったく同じように 2023/1/1 と表示されます。このセルに対して6通りの計算を行い、日付として正しく入っているセルと並べて測った結果が下の表です。

試したこと 文字列として入った 2023/1/1 日付として入った 2023/1/1
ISNUMBER False(数値ではない) True
A1+1 44928(計算できる) 44928
A1*1 44927(計算できる) 44927
引き算
"2023/1/10"-"2023/1/1"
9(日数が出る) 9
SUM 0(黙って0) 44927
COUNT 0 1
Excel 2019の実機スクリーンショット。セルの状態、元のセル、足し算プラス1、SUM、ISNUMBERの5列の表。文字列として入った2023/1/1の行は、足し算は44928と計算できているのに、SUMだけが0になっていて、ISNUMBERはFALSE。日付として入った行は足し算44928、SUM44927、ISNUMBERはTRUE
文字列として入った日付は、足し算はできるのにSUMだけが0になりました。エラーが出ないので、合計が合わない原因に気づけません。

ここが実機で測っていて一番驚いたところです。引き算も足し算もできてしまうのに、SUMだけが黙って0になります。しかもエラーは一切出ません。

この非対称が、文字列の日付を一番気づきにくいものにしています。足し算や引き算は通ってしまうので、「計算できたからこのセルは日付だ」と判断すると間違えます。Excelが計算のときだけ文字列を数値に読み替えてくれる一方で、SUMCOUNT は文字列を最初から集計の対象に入れないため、警告もなく0や件数のずれとして出てきます。日数の合計が妙に少ない、件数が合わない、というときはここを疑ってください。

見分け方として実機で確実だったのは =ISNUMBER(A1) です。Falseなら中身は文字列です。もう1つ、Ctrl+Shift+^を押して数字(44927)に変われば中身は日付、2023/1/1 のまま動かなければ文字列、という確認もできました。

直し方も実機で確かめました。この文字列のセルを =DATEVALUE(A1) に通したところ 44927 が返りました。文字列だった日付がシリアル値に変換されたということです。あとはそのセルの表示形式を日付や ggge年m月d日 にすれば、最初の章と同じように扱えます。

Ctrl+Shiftと数字キーで表示形式を切り替える

表示形式はセルの書式設定から選べますが、当サイトの実機でキーを実際に押して測ったところ、キーボードだけでも切り替えられました。押す前後で表示形式が実際に変わったことを毎回確認しています。

押したキー 実機で入った表示形式 画面に見える文字
Ctrl+Shift+3 yyyy/m/d 2023/1/1
Ctrl+Shift+1 #,##0 44,927
Ctrl+Shift+5 0% 25%
(中身が0.25のセルに対して)
Ctrl+Shift+^ G/標準 44927

ここで1つ、はっきりさせておきたいことがあります。Ctrl+Shift+3で入る日付の形が、パソコンの地域設定によって変わるのかは当サイトでは実機で確かめていません。確かめるにはWindowsの地域設定を変更して測り直す必要があり、今回は実施していないためです。当サイトの実機の地域設定は実測してあり、国コードは81(日本)、日付の順序は年月日、区切り文字は / でした。

この点について、公式の「Excel で日付を希望の書式に設定する」のページはこう説明しています。

コントロール パネルで日付設定を変更すると、Excel の既定の日付形式がそれに応じて変更されます。

つまりCtrl+Shift+3が入れる形はパソコン側の設定に従うため、お使いの環境では違う形になることがあります。当サイトの実機(日本語環境)では yyyy/m/d が入り 2023/1/1 と表示された、というところまでが当サイトの言えることです。日付を 2023/01/01 のように桁を揃えたいのであれば、ショートカットに頼らず、セルの書式設定のユーザー定義で yyyy/mm/dd を自分で指定するのが環境に左右されず確実です。

もう1つ、Ctrl+Shift+^ と Ctrl+Shift+~ が別のショートカットとして区別できるのかも、当サイトでは実機で確かめていません。両方試すとどちらも G/標準 になり同じ結果でしたが、これが同じ物理キーを押していたからなのか、別のショートカットが同じ動きをするからなのかを切り分ける実験をしていないためです。一般に日本語(JIS)キーボードでは ^~ は同じキーに割り当てられていると言われていますが、これは当サイトでは未確認です。実用上は、どちらの押し方でも標準に戻せたという実測までをお使いください。

全体をひとつの図にすると

Excelの日付の仕組みの図解。左に大きな箱があり、セルの中身として44927という数字が書かれ、ずっと変わらないと説明されている。そこから4本の矢印が右に伸び、G/標準なら44927、yyyy/m/dなら2023/1/1、yyyy年m月d日なら2023年1月1日、ggge年m月d日なら令和5年1月1日と表示されることが示されている。下に、見た目がどれでも中身の数字は44927のままと書かれている
表示形式は、同じ数字に服を着替えさせているだけです。見た目が変わっても、セルの中身の数字は変わりません。当サイトの実機(Excel 2019)で測った結果です。

結局のところ、日付の悩みはすべて「セルの中身は何か」と「見た目をどう決めているか」の2階建てに整理できます。中身が数字(シリアル値)なら表示形式の話で、見た目がおかしいだけなら中身は無事です。中身が文字列なら計算の話で、見た目が日付でも中身は日付ではありません。

日常の用は3つで足ります。和暦にしたいなら y ではなく g、元号の表記の長さはgの数、そして元年が必要なら公式の書式文字列を使う。うまくいかないときは =ISNUMBER() で中身を確かめ、Falseなら DATEVALUE で変換してから表示形式を直す、という順番になります。

今回このページを書き直したのは、以前載せていた =TEXT(セル,"yyyy年m月d日") で和暦になるという説明が、実機で試すと事実と違っていたからです。同じ式を打って「変わらないのは自分のやり方が悪いのか」と悩ませてしまった方がいたかもしれません。今後も、書いてあることは実機で確かめてから載せます。

元年の書式を入れたのに元年にならない、合計が合わないので調べたらセルが文字列だった、といった場面は、画面を見ないと原因が分からないことがほとんどです。今回のSUMだけ0になる件のように、エラーが出ないまま数字だけがずれるパターンは特に見つけにくいです。Excelの画面の写真と、そのセルがどうなってほしいかを送っていただければ、中身が日付になっているか、どの書式文字列を入れるべきかを一緒に確認します。下の緑のボタンからいつでもどうぞ(返信は運営者が1人で順にしています)。

公式LINE(無料相談)

出典・引用サイト

最終確認日 2026年7月17日(Excel 2019 / バージョン 16.0・ビルド 19127.0 で確認)/記事作成 uri uri

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

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