dポイントプレゼントキャンペーン実施中!

平成28年5月5日の様に月日が1桁の場合と月日が2桁のものが混在する時、桁が合わずに表が見にくくなります。05月や05日と2桁表示にすると桁が揃いますが、1桁の場合”0”の代わりにスペースで表示(␣5月)としたいのですが、書式で␣mと指定すると、月が2桁の時でも␣が入り、平成28年␣10月となってしまいます。2桁表示で、”0”の代わりに␣にする方法はありますか。

質問者からの補足コメント

  • 60歳以上の方に、回答を求めたのではありません。
    質問者の年齢を60歳以上で選択したつもりです。

      補足日時:2016/07/24 14:30

A 回答 (7件)

書式設定では出来ませんが、条件付き書式設定を使えば可能です。


まず、既定として書式をユーザー定義で ggge"年"m"月"d"日" にしておきます。

その上で3つ、条件付き書式設定をします。いずれも数式です。

数式 =AND(MONTH(H1)<10,DAY(H1)<10)
書式 ggge"年"_0m"月"_0d"日"

数式 =AND(MONTH(H1)>9,DAY(H1)<10)
書式 ggge"年"m"月"_0d"日"

数式 =AND(MONTH(H1)<10,DAY(H1)>9)
書式 ggge"年"_0m"月"d"日"
    • good
    • 6
この回答へのお礼

回答ありがとうございました。
年の桁も合せもしたかったのですが、質問の仕方が不足していました。
年は、昭和07年で無理やり合わせました。月と日は␣5月␣5日とできました。

お礼日時:2016/08/01 16:51

No.2です。


すみません、テストをH列でしたので、そのままH1の式を回答に書いてしまいました。
A列でA1からの日付なら勿論A1です。変更してやってみて下さい。
大変失礼しました。
    • good
    • 0

ちょっとやり過ぎの感は否めませんが、Worksheet_ChangeイベントプロシジャにVBAを書いて、ダイナミックに書式設定をしてしまうというのはいかがでしょうか。


具体的には、こんな感じです。
下記のサンプルでは、和暦日付の書式設定がされているセルが変更された場合のみ、年、月、日のそれぞれの桁数に応じて空白を補填した書式をダイナミックに設定しています。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Dim y As String
Dim m As String
Dim d As String
For Each r In Target
If r.NumberFormatLocal Like "*ggg*年*月*日*" Then
If Len(Format(r, "e")) < 2 Then y = " "
If Len(Format(r, "m")) < 2 Then m = " "
If Len(Format(r, "d")) < 2 Then d = " "
r.NumberFormatLocal = "[$-411]ggg" & y & "e""年" & m & """m""月""" & d & "d""日"""
End If
Next
End Sub
    • good
    • 0

No.3の回答者です。


年も含むものでしたね。恥ずかしい回答をしました。
No.2の回答者さんが示した案がでできると思います。
No.3の回答は無視してください。
    • good
    • 0

長年、多くの人がその問題に対処してきたと思います。



一旦、シリアル値を別の所において、

=SUBSTITUTE(TEXT(A1,"ggge年mm月dd日"),"0"," ")

このようにするしか手がないと思います。
なお、それで気になるようなら、書式は「MS ゴシック」にします。

それ以外では、マクロで、その日付けによって書式を変えるという方法があります。
「エクセルで和暦表示の桁合わせについて」の回答画像4
    • good
    • 0

条件付き書式で対応してみては。



日付がA1に入っているとします。
条件付き書式で
 =DAY(A1)<10
表示形式を
 m"月"_0d"日"
にします。
「エクセルで和暦表示の桁合わせについて」の回答画像3
    • good
    • 1

結論から言えば、書式設定ではできません。


文字列に直して修正するような形をとらねばなりませんね。
 =TEXT(A1,"geee年")&RIGHT(TEXT(A1,"y m月"),3)&RIGHT(TEXT(A1,"m d日"),3)
みたいに。
(月と日の前に空白を挿入して右から3文字分を抜き出す)

※TEXT関数で書式を「”y m月”」としているのは”m”が月ではなく分と認識されないようにするためです。
 「”m d日”」はそれに合わせただけですので「” d日”」としても大丈夫。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています