- 締切済み
文字列から和暦へ
文字列(20040403)を和暦に変換したいんですけど何か方法はありませんでしょうか?お願いします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
#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 の書式で旨く行くようです。
- Eagle1972
- ベストアンサー率100% (4/4)
No.2,No.4,No.5の方法で出来ますね。すばらしい! No.6でも出来ますがVBというよりExcelですよね。 ちなみに年号が変わった場合ってWindowsUpdateとかで対応出来るんでしょうか?
- imogasi
- ベストアンサー率27% (4737/17069)
A1に文字列の書式を設定し、(半角で)20040403をいれた。 B1に式=DATE(MID(A1,1,4),MID(A1,5,2),MID(A1,7,2)) をいれた。 B1の書式-セル-日付-平成9年3月4日をクリック。 平成16年4月2日に表示されました。 この答えが出てないのが不思議ですが、別列に出すのは 駄目ではないですね(Formatなども別列か)。 基本はエクセルの日付シリアル値に持ちこんで、あとは 日付の表現はエクセルの表示形式に任せることと思って 上記になりました。
- Kuppycat
- ベストアンサー率50% (109/216)
Format(Format("20040305", "@@@@-@@-@@"), "gggee年mm月dd日") でやってみて。 きっとうまくいく。はず(^^;
- ryuta_mo
- ベストアンサー率30% (109/354)
No1の方法では平成元年と昭和64年みたいに混在してる年に正常に変換されないことに気づいた。 No2の方法を使ってみると dim s as string s="20040825" Format(format(s,"@@@@-@@-@@"),"gggee年mm月dd日") でいいのかな・・・
- Eagle1972
- ベストアンサー率100% (4/4)
strWareki="平成" & cstr(cint(mid(strSeireki,1,4))-1988) & "年" _ & mid(strSeireki,5,2) & "月" & mid(strSeireki,7,2) & "日" 残念ながら私には上記の方法ぐらいしか思いつきません。 それで、平成とか1988の部分はパラメータ的な持ち方をして簡単に変更が出来るようにしておいたほうがいいですね。 以上、参考になればいいのですが。
- smrt2000
- ベストアンサー率0% (0/0)
Format("2004/04/03", "gggee年mm月dd日") とするとうまく変換されます。 ちなみに 20040403のままは日付変換できませんので、 1979/06/12や1979-06-12といった型で文字指定しなければなりません。 お役にたちますかどうか・・・
- ryuta_mo
- ベストアンサー率30% (109/354)
1.left関数で左から4文字を取り出す。 2.int関数で数値にする 3.条件分岐で平成昭和大正明治に分ける 4.各元号の元年-1を引いて元号をつける