DATEVALUE関数を使って西暦を和暦に変換する方法と、言語設定によってはエラーになるケースがあることをご紹介しました。
ご指摘いただいたようにDATEVALUE関数ではなく、DATE関数で西暦年を和暦年にすることもできます。
いえ、シリアル値についてよくわかっていて、DATE関数を使い慣れているのならば、DATE関数を利用する方が簡単と言えるでしょう。
操作手順はDATEVALUE関数を利用したときと同じです。
※A2セルに「2007」と入力されているときに、B2セルに「平成19年」と表示する例 B2セルに「=DATE(A2,1,1)」という数式を入力
↓
メニュー[書式]−[セル]をクリック
↓
[セルの書式設定]ダイアログ−[表示形式]タブをクリック
↓
[分類]欄−「ユーザー定義」をクリック
↓
[種類]欄に「ggge"年"」と入力
↓
[セルの書式設定]ダイアログ−[OK]ボタンをクリック
DATEVALUE関数とDATE関数では、引数が異なっています。
DATEVALUE関数の引数は1つで、文字列になっている日付を指定します。
DATE関数の引数は3つで、年・月・日の順に数値で指定します。
ですから上記の「=DATE(A2,1,1)」という例は、A2セルに「2007」と入力されているのですから、「2007,1,1」を引数に指定しているわけです。
DATEVALUE関数の場合、OSの言語設定の影響を受けるので、指定スタイルによってエラーになってしまうのに対し、DATE関数は、年・月・日の順で指定すると決まっていますから言語設定によりエラーが発生することもありません。
にも関わらず、私がDATEVALUE関数をご紹介したのには理由があります。
日付の実体がシリアル値であるということを、実感してもらうためです。
シリアル値について理解できている方なら勿論DATE関数を使ってまったく問題はありませんが、シリアル値の概念が理解できていないレベルの方に、DATE関数を使った西暦→和暦変換をご紹介すると混乱してしまう方がいらっしゃるからなのです。
▼サンプルファイル(002338.xls 16KByte)ダウンロード
サンプルファイルのB6セルとB7セルには、A6セルとA7セルの値を、DATE関数とDATEVALUE関数を使って変換した直後の値が表示されています。
DATE関数を使ったB6セルには「2007/1/1」
DATEVALUE関数を使ったB7セルには「39083」
と表示されています。
どちらも勿論シリアル値としては「39083」なのですが、DATE関数を利用すると勝手に書式設定がされて「2007/1/1」という日付形式で表示されています。
DATE関数を使った西暦→和暦変換をDATE関数を使ってご紹介すると、「2007」を「2007/1/1」にして、書式設定をして「平成19年」にする理由がわからなくなってしまう方がいらっしゃるのです。
「2007」をなぜわざわざ「2007/1/1」にしなければいけないのかが、わからなくなってしまうことがあるのです。シリアル値が理解できていない方の場合。
ところがDATEVALUE関数を使った例では、「39083」というシリアル値そのものが表示されてくれるので、Excelでは日付の実体が数値なんだということを、否が応でも意識せざるを得ません。
その上で書式設定をすることで、
「2007年1月1日」
「07年1月1日」
「2007年」
「平成19年」
と表示させられるという理解へも進みやすくなるはずです。
...といったことを私は考えているために、
西暦を和暦に変換する方法としてDATEVALUE関数を使った方法をご紹介しました。
シリアル値について理解できていらっしゃるのならば、DATE関数を使って西暦→和暦変換を行って問題はありません。
- Newer:ファイルのフルパスを取得−ドラッグ・アンド・ドロップ
- Older:見出しマップのフォントサイズを変更
Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » DATE関数で西暦を和暦に変換する