- ベストアンサー
Excel2010で日付の前ゼロを空白で表示したい
書式で、yyyy/m/dやyyyy/mm/ddはありますが、日本語っぽく表示する 2012年△9月△1日 △7年△1月△3日 などのように表示する方法はないですか? (△は空白です)
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
参考が全角でしたので、 =CONCATENATE(JIS(YEAR(TODAY())),"年",IF(MONTH(TODAY())<10,CONCATENATE(" ",JIS(MONTH(TODAY()))),JIS(MONTH(TODAY()))),"月",IF(DAY(TODAY())<10,CONCATENATE(" ",JIS(DAY(TODAY()))),JIS(DAY(TODAY()))),"日") では駄目でしょうか? 長すぎかも。
その他の回答 (6)
- chayamati
- ベストアンサー率41% (260/624)
BOBZOU 様 [CONCATENATE 使えますね! 勉強させて頂きました。 =CONCATENATE(YEAR(D1),IF(MONTH(D1)>9,"年","年 "),MONTH(D1),IF(DAY(D1)>9,"月","月 "),DAY(D1),"日")
お礼
ありがとうございます やはり、「書式」ではダメなのですね
- chayamati
- ベストアンサー率41% (260/624)
コツコツとストレートにやりました =IF(MONTH(A3)>9,IF(DAY(A3)>9,YEAR(A3)&"年"&MONTH(A3)&"月"&DAY(A3)&"日",YEAR(A3)&"年"&MONTH(A3)&"月 "&DAY(A3)&"日")," "&IF(DAY(A3)>9,YEAR(A3)&"年 "&MONTH(A3)&"月"&DAY(A3)&"日",YEAR(A3)&"年 "&MONTH(A3)&"月 "&DAY(A3)&"日")) エクセルは1900年1月1日以降ですので年は4桁ですね
お礼
ありがとうございます 「書式」だけで済ませたかったんです
- keithin
- ベストアンサー率66% (5278/7941)
表示形式で上手くやる方法はありません。 #言わずもがなですが 表示形式のユーザー定義で yyyy年△m月△d日 と設定すれば,ご質問のその日付は 2012年△9月△1日 の表示にできます。 でもその設定では, 2012年△11月△20日 のようになるだけです。 方法1:関数で計算して表示する A1に元の日付が記入してあるとすると =TEXT(A1,"yyyy年" & IF(MONTH(A1)<10," ","") & "m月" & IF(DAY(A1)<10," ","") & "d日") 方法2:マクロで無理矢理設定する 状況: A列に日付を「手で記入する」とする(関数で計算するのではない) 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range) dim h as range dim res as string on error resume next for each h in application.intersect(target, range("A:A")) if isdate(h) then res = "yyyy年" if month(h) < 10 then res = res & " " res = res & "m月" if day(h) < 10 then res = res & " " res = res & "d日" h.numberformatlocal = res end if next end sub ファイルメニューから終了してエクセルに戻る A列に日付を記入すると,勝手に設定される。
お礼
マクロまで添えて頂き、ありがとうございます
- kagakusuki
- ベストアンサー率51% (2610/5101)
御質問の内容以外にも、 yyyy"年 "m"月 "d"日["aaa] yyyy"年 "m"月 "d"日 "aaaa yyyy"年("ggg e"年) "m"月 "d"日 "aaaa というものも試してみて下さい。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
セルの書式の機能のみでは、できないかと。なのでTEXT関数・IF関数で場合分けして、書式を設定します。 =text(a1,"yyyy年"&if(month(a1)<=9," ","")&"m月"&if(day(a1)<=9," ","")&"d日") あるいは =text(a1,if((32516<=a1)*(year(a1)<=1997)," ","")&"e年"&if(month(a1)<=9," ","")&"m月"&if(day(a1)<=9," ","")&"d日") あるいは =text(a1,"[$-411]ggg"&if((32516<=a1)*(year(a1)<=1997)," ","")&"e年"&if(month(a1)<=9," ","")&"m月"&if(day(a1)<=9," ","")&"d日") 等幅フォントを使うと、半角スペースが空いていることがより明瞭になるかもしれません。つまり「MS Pゴシック」から「P」の文字を削ってEnterするなどです。
お礼
和暦の式までつけて頂き、ありがとうございます 「書式」だけで済ませたかったんです
- kagakusuki
- ベストアンサー率51% (2610/5101)
yyyy"年 "m"月 "d"日" yy"年 "m"月 "d"日" ggg e"年 "m"月 "d"日" 等では如何でしょうか。
お礼
残念ながら、この回答ではダメです 1桁の月日と2桁の月日が混ざると、行がでこぼこになってしまいます
お礼
ありがとうございます やはり、「書式」ではダメなのですね