Pertanyaan Mengekstrak teks dari sel di Excel


Saya memiliki daftar panjang item di Kolom A yang mencakup kode dan teks deskriptif. Saya perlu memisahkan kode dari deskripsi teks.

 <ABC,1122, A1> - This is the text description

Formatnya selalu sama, kecuali untuk jumlah huruf dalam kode, jadi saya tidak bisa hanya menggunakan LEN fungsi. Saya mencoba untuk memasukkan kode (dalam tanda kurung) ke dalam kolom B dan teks "Ini adalah ..." di kolom C.

Ada ide tentang bagaimana saya bisa memisahkan daftar panjang ini?


2
2018-05-24 09:11


asal




Jawaban:


Bagaimana tentang:

=Trim(Mid(cellref, 1, Len(cellref) - Search("-",cellref)-2)

Selama formatnya sama (yang Anda katakan itu), ini harus bekerja dengan baik.


4
2018-05-24 09:52



Ini memberi saya bagian kode. Namun, itu menginspirasi saya untuk melihat sesuatu yang lain dan saya akhirnya menggunakan: = KANAN (cellref, LEN (cellref) -SEARCH ("-", cellref, 1)). Ini berfungsi dengan baik dengan kolom lain di sebelahnya untuk TRIM beberapa ruang longgar. Terima kasih atas bantuannya. - RocketGoal
Sebagai FYI, Anda tidak perlu menentukan nilai 'mulai' untuk fungsi SEARCH. Anda hanya bisa melakukan SEARCH ("-", cellref) - wigf1


Di Excel VBA, gunakan InStr() untuk menemukan dasbor "-" posisi, kemudian gunakan informasi posisi itu di Left() dan Right() untuk mengekstrak dua bagian string. Membaca kolom A ke dalam array string terlebih dahulu mungkin akan mempercepat pekerjaan.


1
2018-05-24 09:46



Tidak dapat menemukan InStr sebagai rumus, jadi tidak dapat menguji saran Anda. - RocketGoal
@Mike Ini VBA, maaf saya tidak menentukan. - jonsca


Untuk mendapatkan uraiannya:

=MID(A1,FIND("-",A1,1)+2,LEN(A1))

Untuk mengekstrak bagian kode:

=MID(A1,1,FIND(">",A1,1))

di mana A1 berisi string Anda. Bungkus mereka di TRIM untuk menghapus spasi di depan dan di belakang.


1
2018-05-25 02:03





Tidak bisakah Anda hanya menggunakan fitur "Teks-ke-kolom" di bawah "Data", dan membaginya menggunakan "-" sebagai pemisah Anda?


0
2018-05-25 13:32