【Excel】日付の仕組みと表示形式を詳しく解説

ソフトウェア

この記事はExcelの日付の仕組みと表示形式について書いています。

エクセルの日付(例えば2019/01/10とか)が入力されているセルの書式を変更したら「43466」とかなったりしたことありませんか?

この記事では以下について詳しく解説しています。

  • Excelの日付の仕組み
  • 表示形式を変更する方法

これが分かれば、日付を利用した計算や、見やすいフォームの作成ができるようになります。




Excelの日付の仕組み

ここではExcelの仕組みについて以下の3つを順に解説します。

  • エクセルの日付は1900/1/1から始まる
  • 1900年2月29日というバグ
  • エクセルのもう一つの日付の設定

エクセルの日付は1900/1/1から始まる

エクセルの日付は見出しの通り1900年1月1日から日付として認識されます。

数値の「1」を1900年1月1日とし、数値が「1」増えるごとに日付が1日進むようになっています。

下図は各数値に対応する日付を表しています。

1が1900年1月1日、31は1月31日。そして32になると2月1日になります。

例えば、2019年1月13日は数値では43,478です。つまり1900年1月1日から43478日が経ったということになります。

が、実はこれには一つの問題点があります。

1900年2月29日というバグ

上記で1900年1月1日から何日経ったか?という答えを出しましたが、実はエクセルには実際には存在しない1900年2月29日という日付が入ってしまっています。

よって、1900年2月29日より前の日付から経過日数を出す時は1日引かなければなりません。

エクセルのもう一つの日付の設定

エクセルのオプションで日付の開始を1904年1月1日からに変更することができます。

これは初期のMacintoshがコンピューターの設計上1904年1月1日より前の日付をサポートしていなかったため、Mac用のエクセルがデフォルトで1904年を基準とした日付を採用したことにあります。

変更の仕方は「ファイル」→「オプション」を選択。

「詳細設定」の中の「次のブックを計算するとき(H)」から、変更したいファイルを選択し、「1904年から計算する(Y)」にチェックをいれます。

この設定の注意点は1904年1月1日が0(ゼロ)からスタートすることです。

また、ファイルごとに設定を変えなければならない点、多くの人はデフォルトの1900年1月1日からの設定で使っていることから、特別な理由がなければ変更する必要はないでしょう。

日付の表示形式を変更する方法

日付の仕組みはこれで理解できたよ。でも表記の仕方を変更したい!という時は以下の方法で解決できます。

ここでは2つの方法を紹介します。

  • 表示形式の「日付」から好みの表記を選ぶ
  • 自分で日付の表記をカスタムする

表示形式の「日付」から好みの表記を選ぶ

日付の入力されているセルを選択して「ホーム」→「数値の書式」から「その他の表示形式(M)」をクリックします。

(もしくはセルを右クリックして「セルの書式設定(F)」でもOKです。)

「表示形式」の「分類(C)」の中から「日付」を選択します。

「種類(T)」「ロケール(国または地域)(L)」「カレンダーの種類(A)」から選択してください。

自分で日付の表記をカスタムする

既存の書式設定でも様々な表記ができますが、日付だけ表記したい場合や、特殊な表記をしたいと時には自分で設定しなければなりません。

「表示形式」から「ユーザー定義」を選択します。

デフォルトで入っている設定で「yyyy”年”m”月”d”日”」というのを選択します。

すると、サンプルのところに2019年1月13日と表示されました。つまりyyyyで年数、mで月、dで日付が表記されるのです。

「“”」このダブルクォーテーションで囲った中には好きな文字を入れることができます。

これを利用して自分の好きな表記に変更するには「種類(I)」にその内容を直接打ち込みます。

たとえば「“今日は”d“日です。”」とするとサンプルには「今日は13日です。」と表記されます。

それでも内部ではしっかりと2019年1月13日という日付を認識しています。

Excelの日付の仕組みまとめ

日付けは売上の推移やカレンダー形式の表など使用する場面が多くあります。

  • エクセルでは日付の計算は1900年1月1日から始まる
  • 1900年2月29日のバクがあるので、それ以前の日付を扱うときは注意する
  • 日付けの表記は伝えたい内容によって表記を変更する

今回は日付の基本的な概念についての説明でした。

以上です!