• ベストアンサー

西暦を和暦に変換させたい

A1に氏名、C1に誕生日を西暦で入力し、D1に年齢を表示させる事が出来ました。 C1に未入力のセルがあると、コピーするとエラーになってしまい、どうにか=IF(C1="","",DATEDIF(C1,TODAY(),"y"))で何とか解決しました。 さて、次はB1に和暦を表示させたいのです。次の条件で出来るでしょうか? 「セルの書式設定から和暦を表示する」を使わない。 (空欄があってもエラー表示無く(空欄のままで)コピーできる方法があれば良いのです。 つまり、C1に入力したものをB1に和暦でC1に年齢を同時に表示させ、未入力は空欄のままにしたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8446/18088)
回答No.3

B1=IF(C1="","",TEXT(C1,"ggge""年""m""月""d""日""")) でも書式設定で済ませるのなら B1=IF(C1="","",C1) にして好きな書式設定を設定すればよい。

flamen-k
質問者

お礼

TEXT(C1,"ggge""年""m""月""d""日"""))で年月日表示出来ました。 有り難うございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

回答は難しいものではないと思う。 心配なのは、質問者が下記を十分に知らないのでは。 エクセルでは、日付セルの値は、日付シリアル値というもので管理している。 それを表示形式をユーザーが適用して、好きなように、西暦にしたり(見せたり)、和暦にしたり、年だけの表示にしたりするのだ。 >西暦を和暦に変換させたい というが、元(セルの値)は一種類なのだ。そういうことを、教える人に出会わず、本も読まず、判ってないのではと思った。 Googleででも「エクセル 日付シリアル値」で検索し、記事をしっかり読むこと。 エクセルの関数も表示形式も日付や時刻計算も、「セルの値」が日付シリアル値で入ってないと(たとえば文字列で入力したりすると)、まっとうに使えないのだ。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.4

セル B1 の式と書式を下記に(素直に)設定するのは如何でせうか? 數式→ =IF(OR(C1="",C1=0),"",C1) 書式→ ggge"年"m"月"d"日" 或ひは [$-ja-JP-x-gannen]ggge"年"m"月"d"日"

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

》 「セルの書式設定から和暦を表示する」を使わない 素朴な疑問で恐縮ですが、其の理由は何ですか?

flamen-k
質問者

補足

質問の仕方が悪かったようで御免なさい。 セルの書式設定を使っては出来ないと勝手に思い込んだだけです。 コピーすると未入力欄があるとエラーになったので。 >C1に入力したものをB1に和暦でC1に年齢を同時に表示させ、未入力は空欄のままにしたいのです。

  • f272
  • ベストアンサー率46% (8446/18088)
回答No.1

例えばこんな感じ? B1=IF(C1="","",TEXT(C1,"ggge.m.d"))

flamen-k
質問者

補足

昭和5.10.8でなく、昭和5年10月8日と表示したいです。

関連するQ&A

専門家に質問してみよう