Fungsi TEXTSPLIT dalam Excel: belah rentetan teks mengikut pembatas

  • Berkongsi Ini
Michael Brown

Tutorial menunjukkan cara menggunakan fungsi TEXTSPLIT serba baharu untuk memisahkan rentetan dalam Excel 365 dengan mana-mana pembatas yang anda tentukan.

Mungkin terdapat pelbagai situasi apabila anda perlu memisahkan sel dalam Excel. Dalam versi terdahulu, kami telah dilengkapi dengan beberapa instrumen untuk menyelesaikan tugas seperti Teks ke Lajur dan Fill Flash. Kini, kami juga mempunyai fungsi khas untuk ini, TEXTSPLIT, yang boleh memisahkan rentetan kepada berbilang sel merentas lajur atau/dan baris berdasarkan parameter yang anda tentukan.

    Fungsi TEXTSPLIT Excel

    Fungsi TEXTSPLIT dalam Excel membahagi rentetan teks mengikut pembatas yang diberikan merentas lajur atau/dan baris. Hasilnya ialah tatasusunan dinamik yang tumpah ke dalam berbilang sel secara automatik.

    Fungsi ini mengambil sebanyak 6 argumen, hanya dua yang pertama diperlukan.

    TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

    teks (diperlukan) - teks untuk dipisahkan. Boleh dibekalkan sebagai rujukan rentetan atau sel.

    col_delimiter (diperlukan) - aksara yang menunjukkan tempat untuk memisahkan teks merentas lajur. Jika diabaikan, penghalang_baris mesti ditakrifkan.

    penghalang_baris (pilihan) - aksara yang menunjukkan tempat untuk membahagikan teks merentas baris.

    ignore_empty (pilihan) - menentukan sama ada untuk mengabaikan nilai kosong atau tidak:

    • FALSE (lalai) -buat sel kosong untuk pembatas berturut-turut tanpa nilai di antaranya.
    • BENAR - abaikan nilai kosong, iaitu jangan buat sel kosong untuk dua atau lebih pembatas berturut-turut.

    mode_match (pilihan) - menentukan sensitiviti huruf besar untuk pembatas. Didayakan secara lalai.

    • 0 (lalai) - sensitif huruf besar/kecil
    • 1 - tidak sensitif huruf besar/kecil

    pad_dengan (pilihan ) - nilai untuk digunakan sebagai ganti nilai yang hilang dalam tatasusunan dua dimensi. Lalai ialah ralat #N/A.

    Sebagai contoh, untuk membahagikan rentetan teks dalam A2 kepada berbilang sel menggunakan koma dan ruang sebagai pemisah, formulanya ialah:

    =TEXTSPLIT(A2, ", ")

    Ketersediaan TEXTSPLIT

    Fungsi TEXTSPLIT hanya tersedia dalam Excel untuk Microsoft 365 (Windows dan Mac) dan Excel untuk web.

    Petua:

    • Dalam versi Excel yang fungsi TEXTSPLIT tidak tersedia (selain Excel 365), anda boleh menggunakan wizard Text to Columns untuk memisahkan sel.
    • Untuk melaksanakan tugas terbalik, iaitu untuk menyertai kandungan berbilang sel menjadi satu menggunakan pembatas tertentu, TEXTJOIN ialah fungsi untuk digunakan.

    Formula TEXTSPLIT asas untuk membelah sel dalam Excel

    Sebagai permulaan, mari lihat cara menggunakan TEXTSPLIT formula dalam bentuk paling mudah untuk membahagikan rentetan teks dengan pembatas tertentu.

    Memisahkan sel secara mendatar merentas lajur

    Untuk membahagikan kandungan sel tertentu kepada berbilang lajur, bekalkanrujukan kepada sel yang mengandungi rentetan asal untuk argumen ( teks ) pertama dan pembatas yang menandakan titik di mana pemisahan harus berlaku untuk argumen kedua ( col_delimiter ).

    Sebagai contoh, untuk memisahkan rentetan dalam A2 secara mendatar dengan koma, formulanya ialah:

    =TEXTSPLIT(A2, ",")

    Untuk pembatas, kami menggunakan koma yang disertakan dalam petikan berganda (",") .

    Akibatnya, setiap item yang dipisahkan dengan koma masuk ke dalam lajur individu:

    Pisah sel secara menegak merentas baris

    Untuk memisahkan teks merentas berbilang baris, yang ketiga argument ( row_delimiter ) ialah tempat anda meletakkan pembatas. Argumen kedua ( col_delimiter ) ditinggalkan dalam kes ini.

    Sebagai contoh, untuk memisahkan nilai dalam A2 ke dalam baris yang berbeza, formulanya ialah:

    =TEXTSPLIT(A2, ,",")

    Sila ambil perhatian bahawa, dalam kedua-dua kes, formula hanya dimasukkan dalam satu sel (C2). Dalam sel jiran, nilai yang dikembalikan tumpah secara automatik. Tatasusunan yang terhasil (yang dipanggil julat tumpahan) diserlahkan dengan jidar biru yang menunjukkan bahawa segala-galanya di dalamnya dikira oleh formula dalam sel kiri atas.

    Pisah teks dengan subrentetan

    Dalam banyak kes, nilai dalam rentetan sumber dipisahkan oleh urutan aksara, koma dan ruang sebagai contoh biasa. Untuk mengendalikan senario ini, gunakan subrentetan untuk pembatas.

    Sebagai contoh, untuk memisahkan teks dalam A2 kepada berbilang lajurdengan koma dan ruang, gunakan rentetan "," untuk col_delimiter .

    =TEXTSPLIT(A2, ", ")

    Formula ini pergi ke B2, dan kemudian anda menyalinnya ke seberapa banyak sel mengikut keperluan.

    Pisah rentetan kepada lajur dan baris sekali gus

    Untuk memisahkan rentetan teks kepada baris dan lajur pada satu masa, tentukan kedua-dua pembatas dalam formula TEXTSPLIT anda.

    Sebagai contoh, untuk memisahkan rentetan teks dalam A2 merentas lajur dan baris, kami membekalkan:

    • Tanda sama ("=") untuk col_delimiter
    • Koma dan space (", ") untuk row_delimiter

    Formula lengkap menggunakan borang ini:

    =TEXTSPLIT(A2, "=", ", ")

    Hasilnya ialah 2-D tatasusunan yang terdiri daripada 2 lajur dan 3 baris:

    Asingkan sel dengan berbilang pembatas

    Untuk mengendalikan berbilang atau tidak konsisten pembatas dalam rentetan sumber, gunakan pemalar tatasusunan seperti {"x","y" ,"z"} untuk hujah pembatas.

    Dalam tangkapan skrin di bawah, teks dalam A2 dibatasi oleh kedua-dua koma (",") dan koma bertitik (";") dengan dan tanpa ruang. Untuk memisahkan rentetan secara menegak kepada baris mengikut kesemua 4 variasi pembatas, formulanya ialah:

    =TEXTSPLIT(A2, , {",",", ",";","; "})

    Atau, anda boleh memasukkan hanya koma (",") dan koma bertitik ("; ") dalam tatasusunan, dan kemudian alih keluar ruang tambahan dengan bantuan fungsi TRIM:

    =TRIM(TEXTSPLIT(A2, , {",",";"}))

    Pisah teks dengan mengabaikan nilai kosong

    Jika rentetan mengandungi dua atau lebih pembatas berturut-turut tanpa nilai di antara mereka, anda boleh memilih sama ada untuk mengabaikan kosong tersebutnilai atau tidak. Tingkah laku ini dikawal oleh parameter ignore_empty keempat, yang lalai kepada FALSE.

    Secara lalai, fungsi TEXTSPLIT tidak mengabaikan nilai kosong. Tingkah laku lalai berfungsi dengan baik untuk data berstruktur seperti dalam contoh di bawah.

    Dalam jadual sampel ini, markah tiada dalam beberapa rentetan. Formula TEXTSPLIT dengan argumen ignore_empty ditinggalkan atau ditetapkan kepada FALSE mengendalikan kes ini dengan sempurna, mencipta sel kosong untuk setiap nilai kosong.

    =TEXTSPLIT(A2, ", ")

    Atau

    =TEXTSPLIT(A2, ", ", FALSE)

    Akibatnya, semua nilai muncul dalam lajur yang sesuai.

    Sekiranya rentetan anda mengandungi data homogen, adalah wajar untuk mengabaikan nilai kosong. Untuk ini, tetapkan hujah ignore_empty kepada TRUE atau 1.

    Sebagai contoh, untuk membahagi t rentetan di bawah meletakkan setiap kemahiran dalam sel berasingan tanpa jurang, formulanya ialah:

    =TEXTSPLIT(A2, ", ", ,TRUE)

    Dalam kes ini, nilai yang tiada antara pembatas berturut-turut diabaikan sepenuhnya:

    Cell splitting case-sensitive atau case-insensitive

    Untuk mengawal kes- kepekaan pembatas, gunakan hujah kelima, mode_padanan .

    Secara lalai, mode_padanan ditetapkan kepada 0, menjadikan TEXTSPLIT sensitif huruf besar-kecil .

    Dalam contoh ini, nombor dipisahkan oleh huruf kecil "x" dan huruf besar "X".

    Formula dengan kepekaan huruf besar-kecil lalai hanya menerima huruf kecil "x" "sebagaipembatas:

    =TEXTSPLIT(A2, " x ")

    Sila ambil perhatian bahawa pembatas mempunyai ruang pada kedua-dua belah huruf " x " untuk mengelakkan ruang hadapan dan belakang dalam keputusan.

    Untuk mematikan sensitiviti huruf besar, anda membekalkan 1 untuk mode_padan untuk memaksa formula TEXTSPLIT mengabaikan huruf besar:

    =TEXTSPLIT(A2, " x ", , ,1)

    Sekarang, semua rentetan dipecahkan dengan betul oleh sama ada pembatas:

    Pad tiada nilai dalam tatasusunan 2D

    Argumen terakhir fungsi TEXTSPLIT, pad_with , berguna sekiranya satu atau lebih banyak nilai tiada dalam rentetan sumber. Apabila rentetan sedemikian dipecahkan kepada kedua-dua lajur dan baris, secara lalai, Excel mengembalikan ralat #N/A dan bukannya nilai yang hilang untuk tidak merosakkan struktur tatasusunan dua dimensi.

    Dalam rentetan di bawah, tiada "=" ( col_delimiter ) selepas "Skor". Untuk mengekalkan integriti tatasusunan yang terhasil, TEXTSPLIT mengeluarkan #N/A di sebelah "Skor".

    Untuk menjadikan hasil lebih mesra pengguna, anda boleh menggantikan ralat #N/A dengan sebarang nilai yang anda inginkan. Cuma, taip nilai yang diingini dalam argumen pad_with .

    Dalam kes kami, itu boleh menjadi tanda sempang ("-"):

    =TEXTSPLIT(A2, "=", ", ", , ,"-")

    Atau rentetan kosong (""):

    =TEXTSPLIT(A2, "=", ", ", , ,"")

    Sekarang anda telah mempelajari kegunaan praktikal bagi setiap hujah bagi fungsi TEXTSPLIT, mari bincangkan beberapa contoh lanjutan yang boleh membantu anda hadapi cabaran bukan remeh dalam hamparan Excel anda.

    Pisah tarikhke dalam hari, bulan dan tahun

    Untuk membahagikan tarikh kepada unit individu, mula-mula anda perlu menukar tarikh kepada teks kerana fungsi TEXTSPLIT memperkatakan rentetan teks manakala tarikh Excel ialah nombor.

    Yang paling mudah cara untuk menukar nilai berangka kepada teks adalah dengan menggunakan fungsi TEXT. Pastikan anda membekalkan kod format yang sesuai untuk tarikh anda.

    Dalam kes kami, formulanya ialah:

    =TEXT(A2, "m/d/yyyy")

    Langkah seterusnya ialah menyarangkan fungsi di atas dalam argumen pertama TEXTSPLIT dan masukkan pembatas yang sepadan untuk argumen ke-2 atau ke-3, bergantung pada sama ada anda membahagikan merentasi lajur atau baris. Dalam contoh ini, unit tarikh dihadkan dengan garis miring, jadi kami menggunakan "/" untuk hujah col_delimiter :

    =TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")

    Pisah sel dan alih keluar aksara tertentu

    Bayangkan ini: anda telah membelah rentetan panjang kepada kepingan, tetapi tatasusunan yang terhasil masih mengandungi beberapa aksara yang tidak diingini, seperti kurungan dalam tangkapan skrin di bawah:

    =TEXTSPLIT(A2, " ", "; ")

    Untuk menanggalkan daripada kurungan pembukaan dan penutup pada satu masa, sarang dua fungsi SUBSTITUTE satu kepada yang lain (masing-masing menggantikan satu kurungan dengan rentetan kosong) dan gunakan formula TEXTSPLIT untuk argumen text bagi SUBSTITUTE dalam:

    =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")

    Petua. Jika tatasusunan akhir mengandungi terlalu banyak aksara tambahan, anda boleh membersihkannya menggunakan salah satu kaedah yang diterangkan dalam artikel ini: Cara mengalih keluar aksara yang tidak diingini dalam Excel.

    Pisah rentetan melangkau nilai tertentu

    Andaikata anda ingin memisahkan rentetan di bawah kepada 4 lajur: Nama pertama , Nama akhir , Skor , dan Hasil . Masalahnya ialah beberapa rentetan mengandungi tajuk "Encik." atau "Cik.", kerana hasilnya semuanya salah:

    Penyelesaian tidak jelas tetapi agak mudah :)

    Selain pembatas sedia ada, yang merupakan ruang (" ") dan koma dan ruang (", "), anda memasukkan rentetan "Encik " dan "Cik. " dalam pemalar tatasusunan col_delimiter , supaya fungsi menggunakan tajuk itu sendiri untuk memisahkan teks. Untuk mengabaikan nilai kosong, anda tetapkan hujah ignore_empty kepada TRUE.

    =TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)

    Kini, hasilnya benar-benar sempurna!

    Alternatif TEXTSPLIT

    Dalam versi Excel yang fungsi TEXTSPLIT tidak disokong, anda boleh membahagikan rentetan dengan menggunakan kombinasi fungsi CARI / CARI yang berbeza dengan KIRI, KANAN dan TENGAH. Khususnya:

    • SEARCH tidak peka huruf atau FIND sensitif menentukan kedudukan pembatas dalam rentetan dan
    • Fungsi KIRI, KANAN dan MID mengekstrak subrentetan sebelum , selepas atau antara dua tika pembatas.

    Dalam kes kami, untuk memisahkan nilai yang dipisahkan dengan koma dan ruang , formula pergi seperti berikut.

    Untuk mengekstrak nama:

    =LEFT(A2, SEARCH(",", A2, 1) -1)

    Untuk menarik skor:

    =MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)

    Untuk mendapatkanhasil:

    =RIGHT(A2, LEN(A2) - SEARCH(",",  A2, SEARCH(",",  A2) + 1)-1)

    Untuk penjelasan terperinci tentang logik formula, lihat Cara membahagi rentetan mengikut aksara atau topeng.

    Sila ingat bahawa tidak seperti tatasusunan dinamik Fungsi TEXTSPLIT, formula ini mengikut pendekatan satu-formula-satu-sel tradisional. Anda masukkan formula dalam sel pertama, dan kemudian seretnya ke bawah lajur untuk menyalin ke sel di bawah.

    Tangkapan skrin di bawah menunjukkan keputusan:

    Begitulah cara membahagikan sel dalam Excel 365 dengan menggunakan TEXTSPLIT atau penyelesaian alternatif dalam versi terdahulu. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!

    Amalkan buku kerja untuk muat turun

    Fungsi TEXTSPLIT untuk membelah rentetan – contoh formula (fail .xlsx)

    Michael Brown ialah peminat teknologi yang berdedikasi dengan semangat untuk memudahkan proses kompleks menggunakan alat perisian. Dengan lebih sedekad pengalaman dalam industri teknologi, beliau telah mengasah kemahirannya dalam Microsoft Excel dan Outlook, serta Helaian Google dan Dokumen. Blog Michael berdedikasi untuk berkongsi pengetahuan dan kepakarannya dengan orang lain, menyediakan petua dan tutorial yang mudah diikuti untuk meningkatkan produktiviti dan kecekapan. Sama ada anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan pandangan berharga dan nasihat praktikal untuk memanfaatkan sepenuhnya alatan perisian penting ini.