「year関数和歴表示」という検索が行われていました。上図のような状態になってしまった方による検索でしょう。A1セルには「2013/9/1」という日付が入力されています。その年だけを取得しようとB1セルにはYEAR関数を使った「=YEAR(A1)」という数式が入力されています。それを和暦で「平成25年」と表示させようと「ggge"年"」というユーザー定義書式を設定したのでしょう。ところが「明治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年が表示されているだけなのです。日付データから和暦年を表示したいのなら、YEAR関数を使わないことをおすすめします。ユーザー定義書式を設定する細かい操作手順は公開済みの別記事をご参照ください。1)」とでも入力して「ggge"年"」というユーザー定義書式を設定してください。1)」という数式は、DATE関数の第1引数にA1セルから取得された西暦年の数値を指定して、DATE関数の第2引数・第3引数に「1」をそれぞれ指定して、またA1セルに入力されている日付の年の「1月1日」の日付データを作っている、非常に回りくどい無駄なことをやっているだけです。B1セルに「=A1」と入力するほうが、はるかに楽で無駄な計算もしていないので、やっぱりおすすめです。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。