- 締切済み
エクセルで例えばA1に2010/05/01 2:16:23 ~~~-P
エクセルで例えばA1に2010/05/01 2:16:23 ~~~-PC$と入力されているものをB1に05/01だけを表示させたいのですが、関数を使って表示させることはできますか?さらにC1には2:16:23のみを表示させたいです。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
A1のデータは文字列=テキストですか。この認識が無いと、質問者は十分な質問文を書けない。 それデータの現状は質問者にしかわからないからだ。 空き列に=TYPE(A1)が2なら文字列です。推定で多分文字列らしいが。 すると日付部分を抜き出すのだろうが、データの特徴は何か考えること。質問にも記すこと。 4桁の数字文字と/の、合計5文字の次からが月日なら、=MID関数のスタートは5, そして何文字を取ってくればよいか。多分5文字らしいが、実データを見ている質問者にしか 判ら無いのだ。 もし5/1のような表現があれば、第1スペースの位置をFIND関数で探し、その手前までを持ってくる。 ーー 時刻は、上記の年月日の部分が一定桁数なら、12桁目から、とってくれば良い。今度は2時が02: のようで無いようだから、次のスペースまでをとってくる。 その際スペースは、全角・半角・TABのどれかなどに注意が必要。 半角スペースとして、この場合の2番目の半角スペースは、MID関数の開始位置に注意して データ 結果 2010/05/01 2:16:23 2:16:23 2010/05/01 12:16:24 12:16:24 のデータにたいし =MID(A1,12,FIND(" ",A1,13)-12) 2:16:23 等のあとには最低1つ以上のスペースがあるものとする。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
質問文の「2010/05/01 2:16:23 ~~~-PC$」は当然日時の後ろ に何らかの文字列があるモノと考えます。何かのログですかね。 だったら空白は1バイトのような気もするんですが。 日付はゼロサプレスされているので桁数一定だと考え、単純に切り 出して日付として値と書式を整えます。 =left(A1,10)*1 書式は mm/dd 時刻は確認が必要です。スタート位置は12文字目で固定されてます ね。で、2:05:23 のようにh:mm:ssな形式であれば後ろの空白を見 込んで8文字抜き出せばいいんですが、2:5:23のようにh:m:s と なっていると文字数が単純に決められません。その場合は12文字目 以降で空白を検索し、そこまでの文字数で抜き出します。 単純バージョン =mid(A1,12,8)*1 書式はh:mm:dd 検索バージョン =mid(A2,12,find(" ",A2,12)-12)*1 書式はh:mm:dd 空白が本当は1バイトなら、find関数の中身は書き換えてください。
- shinkami
- ベストアンサー率43% (179/411)
表示だけなら B1=A1 表示形式を yyyy/mm/dd C1=A1 表示形式を hh:mm:ss 値も希望なら B1=DATE(YEAR(A1),MONTH(A1),DAY(A1)) 表示形式を yyyy/mm/dd C1=A1-B1 表示形式を hh:mm:ss または C1=TIME(HOUR(A1),MINUTE(A1),SECOND(A1)) 表示形式を hh:mm:ss
- keithin
- ベストアンサー率66% (5278/7941)
ケース1:各桁数が yyyy/mm/dd□h:mm:dd□で固定されている場合(hとhhまでは許容範囲) B1に =LEFT(A1,19)*1 を記入し右クリックして書式設定の表示形式のユーザー定義を m/d とする C1に =LEFT(A1,19)*1 を記入し右クリックして書式設定の表示形式のユーザー定義を h:mm:dd とする ケース2:たとえば2010/5/1□2:3:4□ などのデータがある場合 B1に =LEFT(A1,FIND("\\\",SUBSTITUTE(TRIM(ASC(A1))," ","\\\",2))-1)*1 を記入し右クリックして書式設定の表示形式のユーザー定義を m/d とする C1に =LEFT(A1,FIND("\\\",SUBSTITUTE(TRIM(ASC(A1))," ","\\\",2))-1)*1 を記入し右クリックして書式設定の表示形式のユーザー定義を h:mm:dd とする #参考 時刻を切り離した年月日だけの値が必須の場合は INT関数 を加える。 例: =INT(LEFT(A1,19)) 年月日を切り離した時:分:秒だけの値が必須の場合は MOD関数 を加える 例: =MOD(LEFT(A1,19),1)
- mshr1962
- ベストアンサー率39% (7417/18945)
桁数が決まってるんですから B1=MID(A1,6,5) C1=TRIM(MID(A1,12,10)) でいいのでは?
- kmetu
- ベストアンサー率41% (562/1346)
05/01 =MID(A1,6,5) と 2:16:23 =MID(A1,12,7) でいかがですか