- ベストアンサー
西暦を和暦に変換させたい
A1に氏名、C1に誕生日を西暦で入力し、D1に年齢を表示させる事が出来ました。 C1に未入力のセルがあると、コピーするとエラーになってしまい、どうにか=IF(C1="","",DATEDIF(C1,TODAY(),"y"))で何とか解決しました。 さて、次はB1に和暦を表示させたいのです。次の条件で出来るでしょうか? 「セルの書式設定から和暦を表示する」を使わない。 (空欄があってもエラー表示無く(空欄のままで)コピーできる方法があれば良いのです。 つまり、C1に入力したものをB1に和暦でC1に年齢を同時に表示させ、未入力は空欄のままにしたいのです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
B1=IF(C1="","",TEXT(C1,"ggge""年""m""月""d""日""")) でも書式設定で済ませるのなら B1=IF(C1="","",C1) にして好きな書式設定を設定すればよい。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
回答は難しいものではないと思う。 心配なのは、質問者が下記を十分に知らないのでは。 エクセルでは、日付セルの値は、日付シリアル値というもので管理している。 それを表示形式をユーザーが適用して、好きなように、西暦にしたり(見せたり)、和暦にしたり、年だけの表示にしたりするのだ。 >西暦を和暦に変換させたい というが、元(セルの値)は一種類なのだ。そういうことを、教える人に出会わず、本も読まず、判ってないのではと思った。 Googleででも「エクセル 日付シリアル値」で検索し、記事をしっかり読むこと。 エクセルの関数も表示形式も日付や時刻計算も、「セルの値」が日付シリアル値で入ってないと(たとえば文字列で入力したりすると)、まっとうに使えないのだ。
- msMike
- ベストアンサー率20% (364/1804)
セル B1 の式と書式を下記に(素直に)設定するのは如何でせうか? 數式→ =IF(OR(C1="",C1=0),"",C1) 書式→ ggge"年"m"月"d"日" 或ひは [$-ja-JP-x-gannen]ggge"年"m"月"d"日"
- msMike
- ベストアンサー率20% (364/1804)
》 「セルの書式設定から和暦を表示する」を使わない 素朴な疑問で恐縮ですが、其の理由は何ですか?
補足
質問の仕方が悪かったようで御免なさい。 セルの書式設定を使っては出来ないと勝手に思い込んだだけです。 コピーすると未入力欄があるとエラーになったので。 >C1に入力したものをB1に和暦でC1に年齢を同時に表示させ、未入力は空欄のままにしたいのです。
- f272
- ベストアンサー率46% (8446/18088)
例えばこんな感じ? B1=IF(C1="","",TEXT(C1,"ggge.m.d"))
補足
昭和5.10.8でなく、昭和5年10月8日と表示したいです。
お礼
TEXT(C1,"ggge""年""m""月""d""日"""))で年月日表示出来ました。 有り難うございました。