Home » Excel(エクセル)の使い方-セルの書式設定 » 日付・時間の表示形式 » YEAR関数で和暦を表示するには??

YEAR関数で和暦を表示するには??

対象:Excel2003, Excel2007, Excel2010, Excel2013

このサイト・インストラクターのネタ帳で、
「year関数和歴表示」
という検索が行われていました。

Excel YEAR関数

上図のような状態になってしまった方による検索ではないかと推測しています。

A1セルには「2013/9/1」という日付が入力されています。
その年だけを取得しようとB1セルにはYEAR関数を使った「=YEAR(A1)」という数式が入力されています。
それを和暦で「平成25年」と表示させようと「ggge"年"」というユーザー定義書式を設定したのでしょう。

Excel[セルの書式設定]-[表示形式]タブ-[ユーザー定義]

ところが「明治38年」と表示されてしまう。
どうすればいいのかと、このサイトで検索をなさったのではないかと私は想像しています。

[スポンサードリンク]

YEAR関数は年を表す数値を取得する関数

まず、何が起きているのかを理解してください。

A1セルに「2013/9/1」という日付が入力されているときにB1セルに「=YEAR(A1)」という数式を入力した場合、B1セルには「2013」という数値データが存在していることになります。

Excelの日付は、1900年1月1日を「1」として1日経過するごとに「1」加算される整数です。

ですから「2013」という数値は、1900年1月1日の2012日後の日付ということになります。

1900年1月1日の2012日後は、1905年7月5日です。
1905年7月5日を和暦で表示すると明治38年7月5日です。

先の明治38年は、この明治38年が表示されているだけなのです。

日付データを参照して書式設定すれば和暦表示になる

で、どうすればいいのかです。

▼操作概要:日付データから和暦年を表示する
※A1セルに日付データが入力されているときにB1セルに平成25年という表示をする例
B1セルに
  =A1
という数式を入力
 ↓
B1セルで「ggge"年"」というユーザー定義書式を設定

日付データから和暦年を表示したいのなら、YEAR関数を使わないことをおすすめします。ユーザー定義書式を設定する細かい操作手順は公開済みの別記事をご参照ください。

どうしてもYEAR関数を使いたいのならば

もし、どうしても、YEAR関数を使いたいという場合は、B1セルに
=DATE(YEAR(A1), 1, 1)
とでも入力して「ggge"年"」というユーザー定義書式を設定してください。

「=DATE(YEAR(A1), 1, 1)」という数式は、DATE関数の第1引数にA1セルから取得された西暦年の数値を指定して、DATE関数の第2引数・第3引数に「1」をそれぞれ指定して、またA1セルに入力されている日付の年の「1月1日」の日付データを作っている、非常に回りくどい無駄なことをやっているだけです。

B1セルに「=A1」と入力するほうが、はるかに楽で無駄な計算もしていないので、やっぱりおすすめです。

最終更新日時:2021-09-05 19:09

[スポンサードリンク]

Home » Excel(エクセル)の使い方-セルの書式設定 » 日付・時間の表示形式 » YEAR関数で和暦を表示するには??

「日付・時間の表示形式」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.