Bagaimana cara membagi string berdasarkan ":" di MS-Excel?


58

Kolom excel saya diisi dengan kata-kata seperti ini:

1.) ABC:DCF
2.) DCF:FED

Saya ingin membagi setiap kata berdasarkan ":" dan meletakkan hasilnya di kolom yang berdekatan sehingga "ABC: DCF" di sel "A: 1" menjadi "ABC" di sel "B: 1" dan "DCF" di sel " C: 1 "dan juga nilai yang sesuai di setiap kolom. Bagaimana cara melakukannya?

Jawaban:


63

Buka tab Data, lalu opsi Teks ke Kolom. Kemudian, pilih opsi "Dibatasi" dan kemudian pilih "lain" dan masukkan pembatas yang Anda inginkan.


80

Teks ke kolom akan berfungsi. Opsi lain, jika Anda ingin mempertahankan nilai asli, adalah menggunakan rumus:
di B1

=left(a1,find(":",a1)-1) 

di C1

=mid(a1,find(":",a1)+1,len(a1))

2
Nilai asli dapat disimpan bahkan dengan solusi lain (Anda dapat menentukan kolom yang berbeda untuk menyimpan nilai-nilai baru), tapi saya suka solusi ini lebih baik karena memungkinkan untuk selalu memiliki nilai terkini (yaitu jika Anda memodifikasi A1, B1 dan C1 akan memperbarui, sedangkan opsi teks-ke-kolom tidak).
psychowood

Ini adalah solusi yang brilian
jsg

26

Jika Anda dapat menggunakan VBA maka Anda dapat menggunakan Split()fungsinya. Berikut adalah Fungsi Buatan Pengguna (UDF) yang dapat Anda gunakan dalam sel. Itu terbagi pada pilihan karakter Anda dan mengembalikan elemen ke- n dari daftar split.

Lihat Bagaimana cara menambahkan VBA di MS Office? untuk informasi tentang cara mendefinisikan UDF.

Function STR_SPLIT(str, sep, n) As String
    Dim V() As String
    V = Split(str, sep)
    STR_SPLIT = V(n - 1)
End Function

Jadi, Anda harus memasukkan:

=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half

1
Sangat Bagus, tidak tahu itu sangat mudah untuk membuat formula Anda sendiri
cowls

1
Ini sempurna untuk memisahkan URL menjadi bagian-bagian komponennya.
Underverse

7

Rekatkan ke B1 dan isi kolom di kanan dan baris:

=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

Sunting: Saya sebelumnya memposting versi rumus yang dilokalkan, di mana ',' diganti dengan ';'. Itu tidak berfungsi di Excel versi AS:

=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999))


1
Selamat datang di Pengguna Super. Bisakah Anda menambahkan beberapa kalimat pada jawaban Anda untuk menjelaskan apa yang dilakukannya dan bagaimana cara kerjanya? Itu akan meningkatkan nilai pendidikannya. Terima kasih.
fixer1234

Ya, tentu. Itu melakukan hal yang sama seperti yang dilakukan Teks ke Kolom dari tab Data, kecuali itu tidak dengan rumus. Anda bisa mengganti ":" dengan Pembatas yang berbeda atau merujuk ke pembatas dari sel lain.
Hardi Uutma

Excel mengatakan bahwa ini bukan formula yang valid ketika Anda menempelkannya ke dalam sel. Silakan periksa dan perbarui.
thilina R

Hai, Rina! Terima kasih telah memberi tahu. Saya membuat penyesuaian untuk versi AS Excel. Tolong beri tahu saya jika Anda memiliki masalah dengan itu sekarang atau jika ada sesuatu yang tidak jelas.
Hardi Uutma

Sangat bagus. Satu-satunya jawaban sejauh ini yang memungkinkan Anda untuk menangani sebanyak mungkin pembatas yang Anda inginkan, tanpa membuat fungsi Anda sendiri.
CWilson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.