「教えて!ピックアップ」リリース!

書式で、yyyy/m/dやyyyy/mm/ddはありますが、日本語っぽく表示する
2012年△9月△1日
△7年△1月△3日
などのように表示する方法はないですか?
(△は空白です)

A 回答 (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()))),"日")

では駄目でしょうか?

長すぎかも。
    • good
    • 0
この回答へのお礼

ありがとうございます
やはり、「書式」ではダメなのですね

お礼日時:2012/10/03 09:49

BOBZOU 様


[CONCATENATE 使えますね! 勉強させて頂きました。

=CONCATENATE(YEAR(D1),IF(MONTH(D1)>9,"年","年 "),MONTH(D1),IF(DAY(D1)>9,"月","月 "),DAY(D1),"日")
    • good
    • 0
この回答へのお礼

ありがとうございます
やはり、「書式」ではダメなのですね

お礼日時:2012/10/03 09:50

コツコツとストレートにやりました



=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桁ですね
    • good
    • 0
この回答へのお礼

ありがとうございます
「書式」だけで済ませたかったんです

お礼日時:2012/10/03 09:56

表示形式で上手くやる方法はありません。




#言わずもがなですが
表示形式のユーザー定義で
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列に日付を記入すると,勝手に設定される。
    • good
    • 0
この回答へのお礼

マクロまで添えて頂き、ありがとうございます

お礼日時:2012/10/03 09:51

 御質問の内容以外にも、



yyyy"年 "m"月 "d"日["aaa]

yyyy"年 "m"月 "d"日 "aaaa

yyyy"年("ggg e"年) "m"月 "d"日 "aaaa

というものも試してみて下さい。
    • good
    • 0

セルの書式の機能のみでは、できないかと。

なので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するなどです。
    • good
    • 0
この回答へのお礼

和暦の式までつけて頂き、ありがとうございます
「書式」だけで済ませたかったんです

お礼日時:2012/10/03 09:53

yyyy"年 "m"月 "d"日"



yy"年 "m"月 "d"日"

ggg e"年 "m"月 "d"日"

等では如何でしょうか。
    • good
    • 0
この回答へのお礼

残念ながら、この回答ではダメです
1桁の月日と2桁の月日が混ざると、行がでこぼこになってしまいます

お礼日時:2012/10/03 09:54

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


人気Q&Aランキング