- 締切済み
EXCEL 12302008と数値入力されたセルを2008/12/30と表示する
度々失礼いたします。 表題の通りですが現在セルないには年月日がMMDDYYYYの順で数値が並べられています。 【例】 12302008 10062008 9012008 これを、/を入れ 「YYYY/MM/DD]と表示させるにはどのような機能もしくは関数を使う必要があるのでしょうか? よろしくお願いいたします!
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- maron--5
- ベストアンサー率36% (321/877)
>ちなみに、MMDDYYYYをそのまま/だけいれて MM/DD/YYYYとするのであればどうなりますでしょうか? =TEXT(A1,"0!/00!/0000")
- imogasi
- ベストアンサー率27% (4737/17069)
>2008/12/30と表示する これはあいまいな質問表現です。 エクセルは、日付は標準では、「日付シリアル値」で、セルの値を持ちます(この言葉ご存知?) 「日付シリアル値」にすると (1)日付演算が出来る (2)多彩な日付表示形式の中から書式が設定できる メリットが生まれます。 だからセルの値を、日付シリアル値にすれば2008/12/30と表示するのは簡単です。 日付シリアル値に対するのは、文字列でセルの値を持つ方法です。 見たままの文字列がセルの値です。 TEXT関数を使うことになります。 ーー 上記のことに照らして質問の表現を見直すと、どちらのことを言っているかあいまいです。 ーー 日付シリアル値にする関数は2種 DATE DATEVALUE しかありません。 だから上記のことがわかれば、質問するまでも無い内容です。 ーー DATEは年、月、日数字を引数として並べます。 20081008の例では 文字列の中から切り出すのは、MID、LEFT,RIGHT関数です。 =DATE(MID(A2,1,4),MID(A2,5,2),MID(A2,7,2)) MID(A2,1,4)などは文字列ですが、関数の中で数値化してくれる。 ーー DATEVALUEを使うなら、少し難しくて =DATEVALUE(REPLACE(REPLACE(A2,5,0,"/"),8,0,"/")) として、表示形式をyyyy/mm/ddに設定 ーー 上記は20081008といった並べ替えの例です。 質問の例では読み替えて修正してください。 すなわち 9012008 の例は規則性を崩する入力で(改めるべき入力)、あるいはセルの値が文字列として入力ではなく、数値なのかも知れない。 DATE関数では、(A6が9012008として) =DATE(RIGHT(A6,4),MID(RIGHT(A6,6),1,2),LEFT(A6,LEN(A6)-6))
- maron--5
- ベストアンサー率36% (321/877)
◆すみません、前回の回答では「9012008」に対応していませんでしたので訂正します ★表示だけなら =TEXT(RIGHT(A1,4)&LEFT(TEXT(A1,REPT(0,8)),4),"0!/00!/00")
補足
ありがとうございます! なるほど、表示だけであればこんなやり方もあるんですね。 ちなみに、MMDDYYYYをそのまま/だけいれて MM/DD/YYYYとするのであればどうなりますでしょうか? よろしくお願いいたします!
- maron--5
- ベストアンサー率36% (321/877)
◆表示だけなら =TEXT(RIGHT(A1,4)&LEFT(A1,4),"0!/00!/00") ◆シリアル値にするなら =TEXT(RIGHT(A1,4)&LEFT(A1,4),"0-00-00")*1 ★表示形式を、 yyyy/mm/dd としてください
#1です。 月日の0を省いて表示させるなら =VALUE(RIGHT((RIGHT("0"&A1,8)),4))&"/"&VALUE(MID(RIGHT("0"&A1,8),3,2))&"/"&VALUE(LEFT(RIGHT("0"&A1,8),2)) な感じ…。 もっと別の方法の方がいいかも…。
お礼
早速のご回答ありがとうございます。 そのまま貼り付けてみたところ2008/30/12とMMDDが逆になってしまっていたようですが、記載の関数を参照の上、自分で訂正してみたいと思います! ありがとうございました!
A1に当該数値が入っているとします。 =RIGHT((RIGHT("0"&A1,8)),4)&"/"&MID(RIGHT("0"&A1,8),3,2)&"/"&LEFT(RIGHT("0"&A1,8),2) 表示だけならこんな感じ…。
お礼
長々とご説明いただきましたが、質問の通り「表示」のみでOKですし、以下のご回答者様にはご理解いただけているようですので取り急ぎ問題無さそうです。。。