- ベストアンサー
20030203と入力して、平成15年02月03日と表示させたい。
エクセル2000の日付の入力と表示について セルに、 20030203 と入力して、 平成15年02月03日 と表示させるには、 「セルの書式設定」をどのようにしたら良いのでしょうか。 よろしくお願いします。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1で行う例です。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、 表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。 プロジェクトエクスプローラのSheet1をダブルクリック。出てきたコードウインドウに下記マクロを貼り付けます。 機能する範囲を登録するようにしてあります。(今は"A1:A10") 実情に合うように変更して下さい。(単一セルに対する入力に対応しています) ご参考に。 Sheet1のコードウインドウに貼り付け ↓ Const HenkanAdr = "A1:A10" 'この範囲で機能する。変更して下さい Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim txt As String Application.EnableEvents = False On Error GoTo ErrorHandler If Target.Count = 1 Then If Not Intersect(Target, Range(HenkanAdr)) Is Nothing Then txt = Right("00000000" & Target.Text, 8) txt = Left(txt, 4) & "/" & Mid(txt, 5, 2) & "/" & Right(txt, 2) Target = Format(txt, "gggee年mm月dd日") End If End If Application.EnableEvents = True Exit Sub ErrorHandler: Application.EnableEvents = True End Sub
その他の回答 (8)
- imogasi
- ベストアンサー率27% (4737/17069)
#6です。 見かけたのが、エクセル(関数や書式)でないのならそういう事情を注記して欲しい。エクセルでないのなら Sub test01() d = InputBox("年月日=") y = Val(Mid(d, 1, 4)) - 1988 MsgBox "平成" & y & "年" & Mid(d, 5, 2) _ & "月" & Mid(d, 7, 2) & "日" End Sub VBA・VBなら簡単に3ステップ行で簡単に出来ます。(上記は無理におり返して1行余分になっている。)
お礼
失礼しました。VBAですか。 うーん。
- hinebot
- ベストアンサー率37% (1123/2963)
>会社で使ってるシステムの日付入力が、20030203と入力すると、平成15年02月03日と変換されるのです。 >エクセルでもそれが出来ないかなと思いまして質問しました。 #2です。セルの書式設定だけでは無理ですが、マクロを使えばできると思います。(#5さんが仰っている8桁から日付データへの変更+セルの書式設定をマクロで設定してやればいい訳なので、理論上は可能です。) なので、もうしばらく締め切らずに詳しい方の回答を待たれてはいかがでしょうか。(残念ながら私はマクロには詳しくないので、これ以上は答えられません。申し訳ないです。)
お礼
ありがとうございます。今までマクロは避けてきましたが、そろそろ勉強しなきゃと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
(1)A1に20030126とか入っているとして、空き列を作って="平成" & MID(A1,1,4)-1988 & "年" & MID(A1,5,2) & "月" & MID(A1,7,2) &"日とする。 すると平成15年01月26日トなる。 (2)2003年で良ければ書式-ユーザー定義 で##"年"##"月"##"日"で2003年01月15日になります。 (3)これらは、エクセル上の見せ掛けだけで、エクセルの日付の機能は一切使えないので、入力のやり方を考え直したほうが良い。まだ年、月、日を列で分けるほうがメリットが大きい。年は同年ならコピーも出来たりするから。
補足
会社で使ってるシステムの日付入力が、20030203と入力すると、平成15年02月03日と変換されるのです。 エクセルでもそれが出来ないかなと思いまして質問しました。 やはり、「書式設定」で2003/2/3と入力するのが一番簡単な方法のようですね。 No.4さんの(一括変換方式)とNo.5さんやNo.6さんの(1)の(大量のやっつけ仕事の場合、便利なやり方)は、私の希望するやり方とはちょっと違っていましたが、考え方の幅が広がり、教えていただいて良かったです。 ありがとうございました。 No.1さん、早速のレスありがとうございます。
- dejiji-
- ベストアンサー率38% (327/858)
日付入力は[/]が必要ですね。 もし、他のセルでよければ「20020203」の8桁入力で日付に関数で変更することは可能です。 A1セルに20030203と入力して、B1セルには=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))と入力して、セルの書式設定をユーザー設定でggge"年"mm"月"dd"日"とすれば、平成15年02月03日になりますが。
- omusupa
- ベストアンサー率61% (115/186)
まず、20030203と入力している、セルを選択し、(複数あるときには、全部範囲指定してください) データ→区切り位置→ 区切り指定位置ウィザードが起動します そして・・・ 次へのボタンをクリック そして、もう一度次へのボタンをクリック そして、3枚目の画面が出たときに、列のデータ形式を 日付(YMD)を選択し、完了ボタンをクリックします。 そうすると、2003/2/3 となりますので、あとは・・#2のhinebotさんのユーザー定義の方法で 表示を変更してください。
- ajyapa-paso
- ベストアンサー率34% (61/179)
ごめんなさい!!(焦) No.1の回答をしたものです。 「オッケーです。」なんて言っておきながら、 確認してみたら全然オッケーでないですね…。 すみませんでした。お役に立てませんでした。
- hinebot
- ベストアンサー率37% (1123/2963)
「セルの書式設定」の「表示形式」の「日付」を選んでも、 20030203 と入力して 平成15年02月03日 にはなりません。 2003/02/03 と年月日の間に/(半角スラッシュ)を入れないといけません。 それでも、「日付」での設定では 平成15年2月3日 となるだけです。 平成15年02月03日 とするには、「表示形式」で「ユーザー定義」を選び、「種類」の欄に 「ggge"年"mm"月"dd"日"」としてください。 繰り返しますが、2003/02/03 と入力する必要があります。 20030203 で 同様にする方法は私にはわかりません。
- ajyapa-paso
- ベストアンサー率34% (61/179)
「セルの書式設定」をクリックすると「表示形式」というのが出ると思います。 その中の「日付」を選んでください。 そして「種類」の中から、希望する表示形式を選択すると、オッケーです。
お礼
試してみました。ありがとうございました。勉強になりました。