ユーザー定義書式を使って、日付を漢数字で表示する方法をご紹介しました。
この中で「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関数
TrackBack:4
- TrackBack URL
- 平成1年を平成元年と表示させたい−ユーザー定義書式 from インストラクターのネタ帳
- 対象:Excel 関数を使って「平成1年」を「平成元年」と表示させる方法をご紹介しました。 今回は書式設定で「平成元年」と表示させてみます。...
- 書式を含めて文字列を連結したい−TEXT関数 from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 複数のセルに入力されているデータを連結して一つのセルに表示させる方法をご紹介しました。 文字列同士をつなげるのならば問題ないのですが、例えば日付データと文字列を連結しようとするとちょっと問題が起きます。 たとえばA1セルに「2...
- yyyymmdd形式のテキストデータを日付データに−TEXT関数 from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 業務システムによっては、日付データを「yyyymmdd」といった形式のテキストデータとして保存していることは少なくありません。 例えば「2006年3月25日」ならば、「20060325」という文字列でデータ格納しておくという方法です。 こういった...
- 西暦を和暦に変換する関数は? from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003 「西暦を和暦に変換する関数は何でしょうか?」 Excelをお使いの方か...