• ベストアンサー

Excelで日付の表示

日付を 平成17年 1月 2日 平成17年11月20日 平成17年 4月13日 こんな感じに日付の表示にするにはどうしたらいいのでしょうか?(画面では少しずれているかもしれませんが) 一ケタの月や日にちの時は、前にスペースを入れて、二桁の月や日にちの時と幅を合わせたいんです。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんにちは。 数式ですと、このようになりますね。 ただし、隣のセルに表示することになります。書式で対応する場合は、下のマクロ版になります。 平成以降 ="平成"&TEXT(YEAR(A1)-1988,"?#年")&TEXT(MONTH(A1),"?#月") &TEXT(DAY(A1),"?#日") 全元号サポート =TEXT(A1,"GGG")&TEXT(TEXT(A1,"E")*1,"?#年")&TEXT(MONTH(A1),"?#月") &TEXT(DAY(A1),"?#日") 後は、マクロですね。 シートタブのところを右クリックすると、「コードの表示」というものがありますから、そこをクリックして、開いたら、以下を貼り付けます。 後は、日付を入れたら、Enter を押すと、変ります。 '-------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)   Dim myFormat As String   If Not IsDate(Target.Cells(1)) Then Exit Sub   If Year(Target.Cells(1).Value) < 1998 Then    myFormat = "GGG E年"    Else    myFormat = "GGGE年"   End If   If Month(Target.Cells(1).Value) < 10 Then    myFormat = myFormat & " m月"    Else    myFormat = myFormat & "m月"   End If   If Day(Target.Cells(1).Value) < 10 Then    myFormat = myFormat & " d日"    Else    myFormat = myFormat & "d日"   End If   Target.NumberFormatLocal = myFormat End Sub '--------------------------------------------------

momotaroo
質問者

お礼

いやーほんとにほんとにありがとうございます。 以前にもWendy02さんに教えていただいて、ものすごく助かったことがありました。そのせつは本当にありがとうございました。すんごく助かりました。ほんとにありがたかったです。言葉では言い表せないくらいです。ありがとうございました。 今回の関数もマクロもバッチリビンゴで最高に助かりました。 永久保存版で大切に大切に使わせていただきます。 わざわざ考えてくださってありがとうございました。 なぜそんなに複雑で難しい関数や、マクロができるのですか? すごいですねー!!尊敬の眼差しです(☆.☆) いいなー!! また分からないことがあったら教えていただけると 最高に幸せです!! よろしくお願いいたします!! 本当にありがとうございましたm(__)m

その他の回答 (5)

  • nemaro
  • ベストアンサー率28% (40/139)
回答No.5

No3 nemaro です。 その通りです。例として、A列をダミー列としてB列が表示列です。 印刷時は印刷範囲の設定からA列をはずします。 セルの表示の設定だけではどうしても 0 をつける方法しかありません。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

書式設定(ということは日付データが入っているセルの見た目)ではできないと思います。(スペースでの位あわせは不可能かと。) 別セルで文字列で、そのような値に作ることはできるでしょうが。 (かく言う私も、できましたという答えが出ないかひやひやですが) 多分無理でしょう。というのは gggee"年"mm"月"dd"日" しか途がないですから。スペースの代わりの0は我慢してください。

momotaroo
質問者

お礼

空白で自動で揃えるという方法はやはりないのでしょぅか。やはり0をガマンするか、文字入力して手動でスペースを入れて微調整ということになるのでしょうか。 いろいろ考えてくださって本当にありがとうございました。

  • nemaro
  • ベストアンサー率28% (40/139)
回答No.3

ダミーのセルをを使えば出来ます。 関数で月と日を取り出し、10未満ならスペースを挿入して二桁にする。 例、A1= 2005/3/10 B1=YEAR(A1)&"年"&IF(MONTH(A1)<10," "&MONTH(A1),MONTH(A1))&"月"&IF(DAY(A1)<10," "&DAY(A1),DAY(A1))&"日" 結果 2005/3/10→2005年..3月10日 2005/10/5→2005年10月..5日 もっと簡単な方法がないでしょうかねぇ。

momotaroo
質問者

お礼

わざわざ考えてくださって本当にありがとうございます。 数式はA1に例の日付が入っているとして、B1にその数式を入れるといいということでしょぅか? 宜しくお願いします。

noname#96725
noname#96725
回答No.2

スペースを入れる方法ではありませんが、平成17年01月02日として桁を合わせる方法なら 次のやり方で出来ますが如何でしょうか。 書式→セル→表示形式→ユーザー定義とクリックして行き、 「種類」の下窓の中で{$-411}ggge"年"m"月"d"日"を選びます。 次に同じ「種類」の上窓で表示されている同じものをちょっと加工して; mとdにそれぞれmとdを重ねて{$-411}ggge"年mm"月"dd"日"としてやります。

momotaroo
質問者

お礼

ありがとうございます。 やっぱり空白は無理なんでしょうか。 0が入っちゃうのしかダメなんですかね。 ありがとうございました。

  • Raistlin
  • ベストアンサー率63% (65/102)
回答No.1

ユーザー定義書式の該当する文字を、希望の桁数文の文字数にします。 今回の場合、 gggee"年"mm"月"dd"日" となります。

momotaroo
質問者

お礼

回答ありがとうございます。 平成17年09月01日となりますよね。 0と入れないでそこを空白にしたいんです。

関連するQ&A