- ベストアンサー
エクセルで日付を漢数字表記に変換する方法
- エクセルで日付を漢数字表記に変換する方法を教えてください。
- 1954/06/21 のような日付を漢数字に変換するマクロを作成したいです。
- 現在、エクセルの表示は「21-Jul-54」ですが、それを「昭和29年6月21日」のような漢数字表記に変えたいと考えています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
セルの書式設定の表示形式を[ユーザー定義]の [DBNum1]ggge"年"m"月"d"日" に設定されては如何でしょうか。
その他の回答 (3)
- msMike
- ベストアンサー率20% (364/1804)
既に kagakusuki さんが単純明快な名答を寄せられているのに、ウッカリ[No.3]をアップしてしまい、穴があったら這入りたいです~。 どなたか、[No.3]を削除する方法を教えてください。何処かに書いてあるなら、その URL をば。
- msMike
- ベストアンサー率20% (364/1804)
「1954/6/21」を入力したセル A1 をセル B1 に「昭和二十九年六月二十一日」と表示するワザを編み出した(?)ので、此れをヒントに「1954/6/21」を直接「昭和二十九年六月二十一日」と表示するワザを貴方自身が考えて教えてください。 B1: =TEXT(A1,"ggg")&TEXT(TEXT(A1,"e")*1,"[DBNum1]")&"年"&TEXT(MONTH(A1),"[DBNum1]")&"月"&TEXT(DAY(A1),"[DBNum1]")&"日"
お礼
さっそく、ありがとうございます。 おっしゃるとおり、回答No.3の方が単純明快でしたので、そちらをベストアンサーにさせていただきます。 ご回答、ありがとうございました。
- kichikuma
- ベストアンサー率18% (202/1080)
さほどスマートではないですが、考え方としては、単純だと思いました。 まず、質問に出てくる数字の範囲は、和暦が99年を超えることなどまずないでしょうし、少なくとも今まではなかったので、二桁の数字を漢数字に出来れば解決ですね。 という事で、二桁のアラビア数字を漢数字にするアルゴリズムってことで説明します。 二桁のアラビア数字をnoとします。 no/10して小数点以下を切り捨てたものが十のくらいです。 十のくらいが2以上なら『二~九』を出力 十のくらいが1以上ならば『十』を出力 次に、noを10で割った余り(剰余)に関しても 1~9を『一~九』で出力したら良いと思います。
お礼
さっそく、ありがとうございます。 しかし、「no」が「10」の場合は、「=mod(10, 10)」で余り「0」になります。 従って、「10」が「十」になりません。
補足
すみません、「お礼コメント」は無視してください。 「余り」を出すのは、「1」の桁で、「10」の桁は、割るんですね。 しかし、やはり(失礼ですが)、あまりスマートではないと・・・
お礼
おお! すばらしい! 簡単なんですね! 去年は、お客さんの方で「ユーザー定義」を使っておられたのですが、そのときは、「昭和二九年六月二一日」という表記で、かなり複雑な「ユーザー定義」を組んでおられ、私には全く理解できませんでした。 今回も、「[DBNum1]」なるものは、知りませんでしたが、間違いなく、結果が出ています。 ありがとうございました。