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

YEAR関数を使って和暦表示をするには?

対象:Excel2003, Excel2007, Excel2010, Excel2013

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

YEAR関数を使って和暦表示をするには?

おそらく上図のような状態になってしまった方による検索でしょう。

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

YEAR関数を使って和暦表示をするには?

ところが「明治38年」と表示されてしまう。

どうすればいいのかと、このサイトで検索をなさったのでしょう。

[スポンサードリンク]

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

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

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

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

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

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

検索


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

.