ユーザー定義書式を使って、日付を漢数字で表示する方法をご紹介しました。
この中で「1989/1/8」を「[DBNum1]ggge"年"」と指定しても、「平成元年」となることはなく、「平成一年」にしかならないことを指摘しておいたのですが、どうしても「平成元年」と表示させたいのだがどうすればいいのか、というご質問をいただきました。
(A1セルに「1989/1/8」と入力されていて、A2セルに「平成元年1月8日」と表示させる例)
A2セルに、
「=IF(TEXT(A1,"ge")="h1","平成元年" & TEXT(A1,"m月d日"),TEXT(A1,"ggge年m月d日"))」
と入力して[Enter]キーを押す
わかりやすいように改行を入れて記述すると、
=IF(TEXT(A1,"ge")="h1",
"平成元年" & TEXT(A1,"m月d日"),
TEXT(A1,"ggge年m月d日"))
となります。
まず、IF関数の第1引数「TEXT(A1,"ge")="h1"」で、TEXT関数を使って書式設定をしてみて「平成1年」かどうかを調べています。
TEXT関数は、ユーザー定義書式を設定するのと同じようなことをする関数で、第1引数で指定された値を第2引数で指定された表示形式に変換してくれます。ユーザー定義書式を設定するのと同じ書式記号を使って第2引数で「"ge"」とすれば「s64」「h1」というように元号のアルファベットと和暦にしてくれます。
1989年でも、1月7日までは昭和64年で、1月8日以降が平成元年であるために、論理式が「YEAR(A1)=1989」ではまずいため、「TEXT(A1,"ge")="h1"」としているわけです。
「平成1年」であれば「平成元年」と表示させるのでIF関数の第2引数で「"平成元年" & TEXT(A1,"m月d日")」、その他の年であれば単純に元号表示をさせていいのでIF関数の第3引数で「TEXT(A1,"ggge年m月d日")」と指定します。
月日も漢数字を使って表示させるのであれば、TEXT関数の第2引数で「[DBNum1]」を使って以下のような指定をします。
=IF(TEXT(A1,"ge")="h1",
"平成元年" & TEXT(A1,"[DBNum1]m月d日"),
TEXT(A1,"[DBNum1]ggge年m月d日"))
この指定をすると「平成元年一月八日」といった表示になります。
IF関数で表示を切り替えるという考え方、ユーザー定義書式でも条件によって表示を切り替えられること、Excelで日付はシリアル値という数値であることがわかると、書式設定だけでも「平成元年」表示は可能となります。
その方法は後日ご紹介します。
Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 平成1年を平成元年と表示させたい−TEXT関数・IF関数