プロが教えるわが家の防犯対策術!

例えば、"19880701"というような数値を"1988/07/01"というような日付形式に変換したいのですが、そのためにTEXT関数をあえて使用するとすれば、どのような書き方になるのでしょうか?一応「=TEXT(D2,"yyyy/mm/dd")」と書いたのですが、"#VALUE!"というエラーが出てしまいます。どうすればよいでしょうか?ちなみにLEFT関数やMID関数は使わないとします。

A 回答 (3件)

再びmaruru01です。



TEXT関数の第2引数は、セルの表示形式のユーザー定義と基本的には同じです。
したがって「19880701」と入力したセルの表示形式を、ユーザー定義で、
「0"/"00"/"00」
とするのと同じことになります。
ただし、TEXT関数の第2引数は、「""」で括って文字列で指定しなければいけません。
したがって、表示形式の中にさらに「""」を付けることが出来ないので、代わりに「!」を使用しています。
TEXT関数の第2引数の中で「!」は、その直後の文字をそのまま表示するという記号です。
つまり、4・5桁の間と6・7桁の間に無理やり「/」を挿入しているだけです。

あと、「yyyy/mm/dd」のような日付の表示形式は、データが日付のシリアル値であって初めて有効になります。
現在のセルの値「19880701」は、数値なので、正確には表示出来ません。
ただし、実際はこの数値は、0以上2958466未満まではエラーにはなりません。
(ただし、とんでもない日付になります。)
ここで、2958465という数値は日付のシリアル値としては、
「9999/12/31」
を表し、Excelで扱える日付の上限になります。
今回の「19880701」は、この値を越えているので、エラーになります。
    • good
    • 0
この回答へのお礼

そういうことだったんですかぁ~...。「"」の中に挿入されている「"」は「!」を使用するというのは目から鱗でした。ご返答ありがとうございました。

お礼日時:2003/11/18 13:13

TEXT関数は数値は日付形式をテキスト混在の


形式に変換する為の物なので
元データが日付でないとエラーになります。

詳しく解説しているページを見つけましたので
参考にされたらいかがですか。

http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …文字列操作関数(TEXT関数)

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …文字列操作関数(TEXT関数)
    • good
    • 0

こんにちは。

maruru01です。

データがA1にあるとすると、

=--TEXT(A1,"0!/00!/00")

として、表示形式を「日付」にして下さい。
なお、年はともかく、月と日は必ず2桁でないといけません。

この回答への補足

たしかに出来ました!すごい!!でもこれってどういう意味なんですか??【TEXT(A1,"0!/00!/00") 】

補足日時:2003/11/18 10:48
    • good
    • 0

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