- ベストアンサー
エクセルの年号表示について
エクセルで、誕生日を表示する時、年月日の位置を揃える為、昭和02年01月01日というように、0を入れる方法は分かったのですが、0をスペースにする方法が分かりません。ありましたらお教え下さい。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
EXCELの表示形式にそのような機能はありません。 別セルに間接的に表示でいいなら =TEXT(A1,"ggg")&TEXT(TEXT(A1,"e"),"??年")&TEXT(MONTH(A1),"??月")&TEXT(DAY(A1),"??日") のようにすれば、スペース表示は出来ますが。。。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 入力したセルをそのように表示したい場合は VBAになってしまいますが、一例です。 仮にA列に日付を入力するとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面(カーソルが点滅しているところ)に ↓のコードをコピー&ペースト → Excel画面に戻りA列に日付データを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim buf As String If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub With Target If IsDate(.Value) Then Application.EnableEvents = False If Format(.Value, "e") < 10 Then buf = Format(.Value, "ggg") & " " & Format(.Value, "e年") Else buf = Format(.Value, "ggge年") End If If Month(.Value) < 10 Then buf = buf & " " & Format(.Value, "m月") Else buf = buf & Format(.Value, "m月") End If If Day(.Value) < 10 Then buf = buf & " " & Format(.Value, "d日") Else buf = buf & Format(.Value, "d日") End If .Value = buf .Font.Name = "MS ゴシック" End If Application.EnableEvents = True End With End Sub 'この行まで ※ 表示されているのはシリアル値ではなく、文字列になりますので 計算等には使用できません。m(_ _)m
お礼
長い式をご丁寧にありがとうございます。回答を締め切ってしまいましたが、これから試してみたいと思います。
- Granpa-pc
- ベストアンサー率42% (241/563)
Excelの標準メニューの書式には”2014年1月1日”を”2014年 1月 1日”と表示する選択がありませんので、これは演算式を使って月、日の数値を各々2文字に変換して表示することが必要ですね。
お礼
ありがとうございました。
お礼
教えていただいた通りに入力したら、スペース入りで表示されました。ありがとうございました。