こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

文字列から和暦へ

文字列(20040403)を和暦に変換したいんですけど何か方法はありませんでしょうか?お願いします。

投稿日時 - 2004-08-25 14:41:32

QNo.975265

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

#6です。VBだったのですね。エクセルだとすぐ#6のような答えが出るのに、おかしいなと思っていました。済みません。VBで
Private Sub Form_Load()
'a = "20040402"
'a = "19430323"
'a = "19200224"
a = "19020829"
d = DateValue(Mid(a, 1, 4) & "/" & Mid(a, 5, 2) & "/" & Mid(a, 7, 2))
Form1.Text1.Text = Format(d, "gggee年mm月dd日")
End Sub
の書式で旨く行くようです。

投稿日時 - 2004-08-26 10:50:46

ANo.7

No.2,No.4,No.5の方法で出来ますね。すばらしい!
No.6でも出来ますがVBというよりExcelですよね。
ちなみに年号が変わった場合ってWindowsUpdateとかで対応出来るんでしょうか?

投稿日時 - 2004-08-26 09:37:12

ANo.6

A1に文字列の書式を設定し、(半角で)20040403をいれた。
B1に式=DATE(MID(A1,1,4),MID(A1,5,2),MID(A1,7,2))
をいれた。
B1の書式-セル-日付-平成9年3月4日をクリック。
平成16年4月2日に表示されました。
この答えが出てないのが不思議ですが、別列に出すのは
駄目ではないですね(Formatなども別列か)。
基本はエクセルの日付シリアル値に持ちこんで、あとは
日付の表現はエクセルの表示形式に任せることと思って
上記になりました。

投稿日時 - 2004-08-25 18:36:51

ANo.5

Format(Format("20040305", "@@@@-@@-@@"), "gggee年mm月dd日")

でやってみて。
きっとうまくいく。はず(^^;

投稿日時 - 2004-08-25 15:29:28

ANo.4

No1の方法では平成元年と昭和64年みたいに混在してる年に正常に変換されないことに気づいた。

No2の方法を使ってみると

dim s as string
s="20040825"
Format(format(s,"@@@@-@@-@@"),"gggee年mm月dd日")

でいいのかな・・・

投稿日時 - 2004-08-25 15:25:12

ANo.3

strWareki="平成" & cstr(cint(mid(strSeireki,1,4))-1988) & "年" _
& mid(strSeireki,5,2) & "月" & mid(strSeireki,7,2) & "日"
残念ながら私には上記の方法ぐらいしか思いつきません。
それで、平成とか1988の部分はパラメータ的な持ち方をして簡単に変更が出来るようにしておいたほうがいいですね。
以上、参考になればいいのですが。

投稿日時 - 2004-08-25 15:17:31

ANo.2

Format("2004/04/03", "gggee年mm月dd日")
とするとうまく変換されます。
ちなみに
20040403のままは日付変換できませんので、
1979/06/12や1979-06-12といった型で文字指定しなければなりません。

お役にたちますかどうか・・・

投稿日時 - 2004-08-25 15:16:10

ANo.1

1.left関数で左から4文字を取り出す。
2.int関数で数値にする
3.条件分岐で平成昭和大正明治に分ける
4.各元号の元年-1を引いて元号をつける

投稿日時 - 2004-08-25 15:13:24

あなたにオススメの質問