- ベストアンサー
ユーザー定義でmmddを00/00にしたとき
今、あるセルに0420と入力すると4/20と日付になるようにセルの書式設定をしました。 ##"/"##です。 こうすると04の0は非表示になるのですが、例えば 0301と入力した場合3/01という表示になってしまいます。 無効数字を表示させたくない場合は#を使えばいいとネットで調べ、月の方はそれが適応されているのですが、なぜ、日の方は適応されないのでしょうか。 また、どのような設定にすれば一桁の日を一桁で表示できますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エクセルで日付と認識されるのは、数字を/(スラッシュ)または、-(ハイフン)で区切った時です。 スラッシュか、ハイフンで区切ったところが、区切り位置として、認識されるので、ただの数字4桁で入力し、ユーザー定義の書式設定で希望通りに表示されるのは、無理ですね。 スラッシュ、ハイフンで区切って入力し、セルの書式設定で、スラッシュで区切った書式を選択してください。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
最初の03は数値として解釈されて0が自動的になくなりますが"/"となった後では文字列と解釈されて01のままです。1とはなりません。0301と入力して日付とするためには別のセルに式を入力して表示させることが必要でしょう。セルの表示形式を変えることでは解決することができません。 例えばA1セルに0301と入力して日付として計算などに使えるようにするためには例えばB1セルに次の式を入力してセルの表示形式を日付たとえばm/dとすることでしょう。 =VALUE(INT(A1/100)&"/"&MOD(A1,100))
- keithin
- ベストアンサー率66% (5278/7941)
標準の書式のセルに「0301」を記入すると「301」になります。 つまりセルに入力された「数値」は,あくまでも301(三百飛んで一)です。 この時,千の位のゼロは「無効」なので省略できますが,十の位のゼロが勝手に省略されて「301(三百一)」が「31(三十一)」に変わってしまったら,これは大変です。 301はあくまでも301ですから,このやりかたで記入している限り「日付の十の位のゼロ」を無いモノにする方法も,また表示を消す方法もありません。 >どのような設定にすれば一桁の日を一桁で表示できますか? 綺麗な表示を願うなら,諦めてセルの書式を m/dに変えて「3/1」と記入してください。 手抜きで例えば「123」と入力している限り,これが「1/23」なのか「12/3」なのか区別する事は出来ませんから,ご質問の事は実現不可能です。