[[20030123161501]] 『昭和33年03月03日の0を表示しないように』(けん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『昭和33年03月03日の0を表示しないように』(けん)

はじめまして

生年月日の表示方法について教えて下さい

昭和33年03月03日を昭和33年 3月 3日と”0”を表示しないようにしたいのですが…(けん)


 セルの書式設定「表示形式」【ユーザー定義】でggge"年"mm"月"dd"日"に設定されています。

「表示形式」【日付】平成○年○月○日を選択すれば、ggge"年"m"月"d"日"に設定されて

昭和33年3月3日となります。

昭和33年 3月 3日と”0”を表示しないようにして、空白と置換え桁揃えをしたいであれば

書式設定では出来ないようです。

そこで、実験的に関数でやってみました。

パターンは月日が一桁、月が二桁と日が一桁、月が一桁と日が二桁、月日が二桁の4パターンになるので

H1:H4に下記のように書式を入力

ggge"年 "m"月 "d"日"

ggge"年 "m"月"d"日"

ggge"年"m"月 "d"日"

ggge"年"m"月"d"日"

A1に日付入力しB1に次の式を入力すれば表示されます。

 =IF(AND(MONTH(A1)<10,DAY(A1)<10),TEXT(A1,$H$1),IF(AND(MONTH(A1)<10,DAY(A1)>=10),TEXT(A1,$H$2),IF(AND(MONTH(A1)>=10,DAY(A1)<10),TEXT(A1,$H$3),TEXT(A1,$H$4))))

しかし、この表示は文字列表示になりますから、年齢を求めたり、経過日数を求めることはできません。

どうして、このような表示にこだわれるのか理由をお聞かせ下さい。

 (シニア)


シニアさんと同じ疑問がありますが、表示が文字列(テキスト)表示でよければ下記の関数でも表示できますので下記関数をセルB1に入れて

セルA1に日付を入力してみて下さい。(シニアさん割り込みご容赦願います)

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

和暦の年まで桁揃え(昭和5年 を 昭和 5年と)したい場合は関数が長くなりますが下記です

=IF(A1="","",IF(MID(TEXT(A1,"gggee""年""mm""月""dd""日"""),3,1)="0",REPLACE(SUBSTITUTE(SUBSTITUTE(TEXT(A1,"gggee""年""mm""月""dd""日"""),"年0","年 "),"月0","月 "),3,1," "),SUBSTITUTE(SUBSTITUTE(TEXT(A1,"gggee""年""mm""月""dd""日"""),"年0","年 "),"月0","月 ")))

 //以上(老人ライダー) ところでこの掲示板に1行改行が入れられないですが、小生のPC設定でしょうか?


たぶん今更でしょうが、私も質問者と同様のことをしたくここにたどりつきました。

日本での年月日にはあまり0表示はしないと思います。

そこまでは疑問にあまり持たないかと思います。

疑問に思ってしまうのは、普通に文字をつなげればいいじゃんと思うからでしょう。

しかし、届出書や契約書等などのフォーマットは 年 月 日の位置が固定で

そこに手書きをするのがアナログ時代の書き方かなと思います。

とすると、昭和33年 3月 3日も昭和 3年12月31日も同じ位置に年月日を表示させたくなります。

私がそうです。だから質問者と同様の表示にこだわりたくなるのです。

つまりもともとの

以下できたらPのつかない等幅フォントなどで見ていただきたいです。
昭和33年 3月 3日
昭和 3年12月31日
昭和33年3月3日
昭和3年12月31日
このがたがたをなくしたい・・

(とある事務員)


 古いスレですが面白そうなんで

 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(A1,"あee年mm月dd日"),"年0","年 "),"月0","月 "),"あ0","あ "),"あ",TEXT(A1,"gggg"))

 =TEXT(A1,"gggg")&TEXT(TEXT(A1,"ee"),"?0")&SUBSTITUTE(SUBSTITUTE(TEXT(A1,"年mm月dd日"),"年0","年 "),"月0","月 ")

 (GobGob)

 これはどうか?
 =IF(A1="","",TEXT(A1,"gggg")&TEXT(TEXT(A1,"e"),"??年")&TEXT(MONTH(A1),"??月")&TEXT(DAY(A1),"??日"))
 (ねむねむ)

 >たぶん今更でしょうが

 今更ってことではないかもです。

 現在は、2007以降のバージョンが出ているので、書式で対応できます。

 (条件付き書式ですけどね。)

 春日野馨さんの回答が余所の板にあります。
 【日付の和暦表示を0を表示させずに二桁にそろえるには】
http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+201210/12100012.txt

 (半平太) 2013/05/17(Fri) 14:02

 >半平太さん

 これは便利ですねー。

 いまだExcel2010に慣れていないwww

 (GobGob)

 ただ、設定がめんどーではあります。

 一つのセルに作っておけば、必要になった都度、
 そのセルのコピーで行けるのでしょうけどね。

 兎に角、めんどーの一言に尽きます。
 誰かが、マクロを作ってくれるのを待っている状況です。

 ちなみに、マクロの自動記録では、まともなコードが出来上がってこないです。
 ExecuteExcel4Macro なんてのが出てきて、動かないです。
  (おいおい、最新版の機能に何でそんなもんが出てくんの、って感じ。)

 (半平太) 2013/05/17(Fri) 16:47

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.