• ベストアンサー

Excel2010で日付の前ゼロを空白で表示したい

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

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

  • ベストアンサー
  • BOBZOU
  • ベストアンサー率66% (2/3)
回答No.4

参考が全角でしたので、 =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()))),"日") では駄目でしょうか? 長すぎかも。

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • chayamati
  • ベストアンサー率41% (255/611)
回答No.7

BOBZOU 様 [CONCATENATE 使えますね! 勉強させて頂きました。 =CONCATENATE(YEAR(D1),IF(MONTH(D1)>9,"年","年 "),MONTH(D1),IF(DAY(D1)>9,"月","月 "),DAY(D1),"日")

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (255/611)
回答No.6

コツコツとストレートにやりました =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桁ですね

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

表示形式で上手くやる方法はありません。 #言わずもがなですが 表示形式のユーザー定義で 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列に日付を記入すると,勝手に設定される。

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 御質問の内容以外にも、 yyyy"年 "m"月 "d"日["aaa] yyyy"年 "m"月 "d"日 "aaaa yyyy"年("ggg e"年) "m"月 "d"日 "aaaa というものも試してみて下さい。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

セルの書式の機能のみでは、できないかと。なので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するなどです。

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

yyyy"年 "m"月 "d"日" yy"年 "m"月 "d"日" ggg e"年 "m"月 "d"日" 等では如何でしょうか。

gen-goro
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel日付 0M/0D/YYYY

    Excel2003です。 SAPからデータを持ってくるとSAPの設定上、1~9月、1日~9日が0M/0D/YYYYで入ってきて、これをYYYY/MM/DDまたはYYYY/M/Dの書式に変更することが出来ません。 これはどうにかならないのでしょうか? 関数で何とかなりますか?

  • 日付取得、計算及び表示コードが動作しません。

    日付取得、計算及び表示コードが動作しません。 下記のコードのどこが間違っているのか、どなたかお分かりですか? このコードでは、今日の日付をサーバから取得し、それから10日後の日付を計算して表示したいです。 $currentdate = .getdate(); $yyyy = $currentdate["year"]; $mm = $currentdate["mon"]; $dd = $currentdate["mday"]; $int_day = 10; $duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); echo "$duedate" また、上記のコードが動作するようになったとして、表示される日付は「2008/06/10」のようになるかと思いますが、これを「2008年06月10日」のように表示させる方法をご存知でしょうか? >$duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); 上記コードを下記のように変更してもだめです。 >$duedate = .date("y年m月d日", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); よろしくお願いします。

    • ベストアンサー
    • PHP
  • 年月日+時刻で00:00のときは空白にしたい

    質問をご覧いただきましてありがとうございます。 よろしくお願いいたします。 とあるセルの書式を以下のように設定しています。   mm"月"dd"日( "aaa" )"hh:mm"着" ここに入ってくる値は、"yyyy/MM/dd hh:mm"(年月日+時刻)の場合と"yyyy/MM/dd"(年月日のみ)の場合があります。 このとき、以下のように表記を分けたいのです。 ◆年月日のみ(yyyy/MM/dd)   [入力]2001/01/01   [結果]01月01日(月) 着 ◆年月日+時刻(yyyy/MM/dd hh:mm)   [入力]2001/01/01 15:30   [結果]01月01日(月)15:30着 現在の状態は、年月日だけの入力の場合、   [結果]01月01日(月)00:00着    書式の設定上、当然のことながら上記のように時間の部分が"00:00"と表示されます。 年月日だけの入力の場合に、この"00:00"を空白に置き換えるにはどうしたらいいでしょうか?

  • FileMakerの帳票でシステム日付

    FileMakerの帳票でシステム日付を出力したいと思います。 書式がよくわかりません。 どのように記述すればいいのでしょうか? ちなみに表示形式はYYYY年MM月DD日のようにしたいのです。

  • 日付や時刻の"01"を" 1"に変換したいです。

    下記のような問題で悩んでいます。何かよいアイディアがありましたら教えて下さい。 【要件】 ・SimpleDateFormatで指定された書式の文字列にした後、年月日時分秒ミリ秒の"01"~"09"を" 1"~" 9"のように前0を半角スペースに一括変換したい(年は書式がyy形式の場合のみ)。 ・SimpleDateFormatへの書式はエラーが起きない限りどんなものでも受け入れる(通常、書くわけがない書式についても)。 例) "yyyy/MM/dd HH:mm:ss:SSS" "'yyyy/MM/dd HH:mm:ss:SSS形式:'yyyy/MM/dd HH:mm:ss:SSS"  ※''の中にあるMMはテキストなので英字のまま。 "yyyy/MMMMMMMMMMMMMMMMMMMM/dd HH:mm:ss:SSS"  ※Mの数は不明 "yyyy/MM/dd MM MM HH:mm:ss:SSS"  ※月の表示指定が複数 引数 :日付(yyyyMMddHHmmssSSS形式), SimpleDateFormatへの書式 戻り値:SimpleDateFormatで変換後に"01"~"09"を" 1"~" 9"にした文字列 自分なりの検討案としては下記になります。 a.引数の書式をそのままSimpleDateFormatに引き渡ずに、一部修正してから呼び出す。 例)"yyyy/MM/dd HH:mm:ss:SSS"→yyyy/_M/_d _H:_m:_s:__S" ※"_"は半角スペースです。 実際はMやdなどが2桁になる場合は変換しません。 かなりごりごり200行ぐらい試しに書いたのですが、対応できないケースが出てきてその都度エンドレス状態です。 ちょっとこのまま実装するわけにいきません。いつバグがでるか・・・。 b.SimpleDateFormatで変換後に年月日時分秒ミリ秒に該当する箇所に"01"~"09"があったら置換する。  引数の書式からMMやddのindexを保持して、SimpleDateFormatで変換後の該当indexに置換。 例) 書式:"yyyy/MM/dd_HH:mm:ss:SSS" 日付:"20090101010101001" "2009/01/01_01:01:01:001"→"2009/_1/_1__1:_1:_1:__1" ※"_"は半角スペースです。 但し前提として、書式とSimpleDateFormatで変換後の文字列が1対1になっている必要があります。 単純な例ですと 書式:"yyyy/MMMM/dd HH:mm:ss:SSS" 書式のddは11~12桁目ですが、SimpleDateFormatで変換後は下記のようにインデックスがずれます。 "2009/1月/01 01:01:01:001" "2009/12月/01 01:01:01:001" もしかしたら下記のような感じで吸収できるのかもしれませんが、ちょっと個人的に出来そうに思えませんでした。 月が1桁 かつ 書式が"M"の場合 月が1桁 かつ 書式が"MM"の場合 月が1桁 かつ 書式が"MMM"の場合 月が1桁 かつ 書式が"MMMM"の場合 月が1桁 かつ 書式が"Mxn"の場合 月が2桁 かつ 書式が"M"の場合 月が2桁 かつ 書式が"MM"の場合 月が2桁 かつ 書式が"MMM"の場合 月が2桁 かつ 書式が"MMMM"の場合 月が2桁 かつ 書式が"Mxn"の場合 ここ1,2週間ほど煮詰まっています。どなたかアドバイス頂けると助かります。 自分的なネックは書式が限りなくフリー形式なところです。

    • ベストアンサー
    • Java
  • 【Excel】 表示形式のyyyyを2005で表示したい。

    こんにちは E列は、他のセルを参照し、その内容から日時を表示しています。 (E列の表示形式は「m/d h:mm;@」です。) これを「yyyy/m/d h:mm;@」に変更したところ参照するセルに 年のデータが無いために先月の分が 2006/12/31 12:30 というふうになってしまいます。 これを今から「yyyy/m/d h:mm;@」に変更し2005/12/31 12:30 にするにはどうしたら良いでしょうか。

  • Excelでセルの表示形式を「yyyy年mm月」から「yyyy/mm/dd」へ

    エクセルで数式をあてはめて6ヶ月後の日にちを「yyyy年mm月」形式で出しているセルがあります。その該当月に作業をしたら、作業日をセルに上書きで入力するのですが、手入力によって「yyyy/mm/dd」形式で入れたいのです。 今、セルの表示形式が「yyyy年mm月」なので、手入力で入れても「yyyy年mm月」としかならず、「yyyy/mm/dd」にするためにセルの書式設定→表示形式の変更を行っている状態です。「yyyy年mm月」形式を解除したいのですが、Delボタンでは入力された数値しかクリアーされず、形式は残ってしまいます。「yyyy年mm月」を解除して「標準」または「yyyy/mm/dd」にもっていく簡単な方法はありますでしょうか?

  • アクセスで日付の書式が書き直されます。

    Access97での書式で日付についてお尋ねします。 テキストボックスの書式で、 yyyy\年mm\月d\週 と入力すると、強制的に yyyy"年"mm"月"d"週" となってしまい、表示も本来 2007年08月1週 となるところ、 2007mm月d週 と成ってしまいます。 このファイルをAccess2002で開くと、 yyyy\年mm\月d\週 のままです。 Access97の設定に寄るもではないかと思うのですが、分かりません。 どなたか、ご存じの方がいらっしゃれば、ご教授の程、お願いいたします。

  • Excel97の日付の書式設定

    現在Excel97で日付入力をしたいのですが、 最終的に演算に使用する日付で yyyy/mm/ddとyyyy/mmどちらでも入力できる書式設定を探しています。 yyyy/mm/ddの指定にするとyyyy/mmと入力してもyyyy/mm/01となってしまいます。 yyyy/mmのセルとdd専用のセルを別に作ると、ddを入力した時に 閏年のエラーチェックなどがかけられないので演算部分(1年後該当日前日の指定等)がうまく働きません。 いい方法がありましたら教えてください。

  • 日付表示設定

    日付表示で、yyyy/mm/ddと表示させたいのですが、yyyy mm ddと“/”ではなく“半角スペース”となります。 これは、officeとメールソフトでも同じ状態です。OSに依存しているのではないかと考えております。 表示設定について、色々と変更してみましたがもとにもどりません。Internetで色々と検索してみましたが、有用な情報はありませんでした。 yyyy/mm/ddの表示に戻したいのですが、どなたかおしえてください。

専門家に質問してみよう