Excel: Tách chuỗi bằng dấu phân cách hoặc mẫu, tách văn bản và số

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn giải thích cách tách ô trong Excel bằng công thức và tính năng Tách văn bản. Bạn sẽ tìm hiểu cách phân tách văn bản bằng dấu phẩy, dấu cách hoặc bất kỳ dấu phân cách nào khác cũng như cách phân tách chuỗi thành văn bản và số .

Tách văn bản từ một ô thành nhiều ô là nhiệm vụ mà tất cả người dùng Excel đều phải làm đối phó với một lần trong một thời gian. Trong một trong những bài viết trước, chúng ta đã thảo luận về cách tách ô trong Excel bằng tính năng Chuyển văn bản thành cột Điền Flash . Hôm nay, chúng ta sẽ tìm hiểu sâu về cách bạn có thể tách chuỗi bằng công thức và công cụ Tách văn bản .

    Cách tách văn bản trong Excel sử dụng công thức

    Để tách chuỗi trong Excel, bạn thường sử dụng hàm LEFT, RIGHT hoặc MID kết hợp với FIND hoặc SEARCH. Thoạt nhìn, một số công thức có vẻ phức tạp, nhưng logic thực tế khá đơn giản và các ví dụ sau đây sẽ cung cấp cho bạn một số manh mối.

    Tách chuỗi bằng dấu phẩy, dấu chấm phẩy, dấu gạch chéo, dấu gạch ngang hoặc dấu phân cách khác

    Khi tách ô trong Excel, điều quan trọng là xác định vị trí của dấu phân cách trong chuỗi văn bản. Tùy thuộc vào nhiệm vụ của bạn, điều này có thể được thực hiện bằng cách sử dụng TÌM KIẾM không phân biệt chữ hoa chữ thường hoặc TÌM phân biệt chữ hoa chữ thường. Sau khi bạn có vị trí của dấu phân cách, hãy sử dụng hàm RIGHT, LEFT hoặc MID để trích xuất phần tương ứng của chuỗi văn bản. Để hiểu rõ hơn, chúng ta hãy xem xét những điều sau đây(ngày)

  • Ký tự giữa khoảng trắng thứ nhất và từ ERROR: (thời gian)
  • Văn bản giữa ERROR: Ngoại lệ: (mã lỗi)
  • Mọi thứ xảy ra sau Ngoại lệ: (văn bản ngoại lệ)
  • Tôi hy vọng bạn thích cách nhanh chóng và đơn giản này để tách các chuỗi trong Excel. Nếu bạn tò mò muốn dùng thử, phiên bản đánh giá có sẵn để tải xuống bên dưới. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

    Có sẵn các bản tải xuống

    Công thức Excel Split Cells (tệp .xlsx)

    Ultimate Suite 14 ngày phiên bản đầy đủ chức năng (tệp .exe)

    ví dụ.

    Giả sử bạn có danh sách SKU thuộc mẫu Kích thước-Màu mặt hàng và bạn muốn chia cột thành 3 cột riêng biệt:

    1. Để trích xuất tên mục (tất cả các ký tự trước dấu gạch nối thứ nhất), hãy chèn công thức sau vào B2 rồi sao chép xuống cột:

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

      Trong công thức này, hàm SEARCH xác định vị trí của dấu gạch nối đầu tiên ("-") trong chuỗi và hàm LEFT trích xuất tất cả các ký tự còn lại của chuỗi (bạn trừ 1 từ vị trí của dấu gạch nối vì bạn không muốn trích xuất chính dấu gạch nối).

    2. Để trích xuất màu (tất cả các ký tự giữa dấu gạch ngang thứ 1 và thứ 2), hãy nhập thông tin sau trong C2, sau đó sao chép nó xuống các ô khác:

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

      Trong công thức này, chúng tôi đang sử dụng hàm MID của Excel để trích xuất văn bản từ A2.

      Vị trí bắt đầu và số lượng ký tự được trích xuất được tính toán với sự trợ giúp của 4 chức năng TÌM KIẾM khác nhau:

      • Số bắt đầu là vị trí của dấu gạch nối đầu tiên +1:

        SEARCH("-",A2) + 1

      • Số ký tự cần trích xuất : sự khác biệt giữa vị trí của dấu gạch nối thứ 2 và dấu gạch nối thứ nhất, trừ 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. Để trích xuất size (tất cả các ký tự sau dấu gạch nối thứ 3), hãy nhập công thức sau vào D2:

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

      Trong công thức này, hàm LEN trả về tổng độ dài của chuỗi,từ đó bạn trừ đi vị trí của dấu gạch nối thứ 2. Sự khác biệt là số ký tự sau dấu gạch ngang thứ 2 và hàm RIGHT trích xuất chúng.

    Theo cách tương tự, bạn có thể chia cột theo bất kỳ ký tự nào khác. Tất cả những gì bạn phải làm là thay thế "-" bằng dấu phân cách cần thiết, ví dụ: dấu cách (" "), dấu phẩy (","), dấu gạch chéo ("/"), dấu hai chấm (;"), dấu chấm phẩy (;"), v.v.

    Mẹo. Trong các công thức trên, +1 và -1 tương ứng với số ký tự trong dấu phân cách. Trong ví dụ này, đó là dấu gạch nối (1 ký tự). Nếu dấu phân cách của bạn bao gồm 2 ký tự, ví dụ: dấu phẩy và dấu cách, sau đó chỉ cung cấp dấu phẩy (",") cho hàm TÌM KIẾM và sử dụng +2 và -2 thay vì +1 và -1.

    Cách tách chuỗi bằng cách ngắt dòng trong Excel

    Để chia văn bản theo khoảng cách, hãy sử dụng các công thức tương tự như công thức được trình bày trong ví dụ trước. Điểm khác biệt duy nhất là bạn sẽ cần hàm CHAR để cung cấp ký tự ngắt dòng vì bạn không thể nhập trực tiếp ký tự đó vào công thức.

    Giả sử, các ô bạn muốn tách trông giống như sau:

    Lấy các công thức từ ví dụ trước và thay dấu gạch ngang ("-") bằng CHAR(10) trong đó 10 là mã ASCII cho Nguồn cấp dữ liệu theo dòng.

    • Để trích xuất tên mục :

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • Để trích xuất màu sắc :

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • Để giải nén size :

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    Và đây là kết quả trông như sau:

    Cách tách văn bản và số trong Excel

    Đầu tiên, không có giải pháp chung nào có thể áp dụng cho tất cả các chuỗi chữ và số. Việc sử dụng công thức nào phụ thuộc vào mẫu chuỗi cụ thể. Dưới đây, bạn sẽ tìm thấy các công thức cho hai tình huống phổ biến.

    Tách chuỗi có mẫu 'văn bản + số'

    Giả sử, bạn có một cột gồm các chuỗi có văn bản và số được kết hợp, trong đó một số luôn theo sau văn bản. Bạn muốn ngắt chuỗi ban đầu để văn bản và số xuất hiện trong các ô riêng biệt, như sau:

    Kết quả có thể đạt được theo hai cách khác nhau.

    Phương pháp 1: Đếm các chữ số và trích xuất nhiều ký tự đó

    Cách dễ nhất để tách chuỗi văn bản có số đứng sau văn bản là:

    Để trích xuất các số , bạn tìm kiếm chuỗi cho mọi số có thể có từ 0 đến 9, lấy tổng các số và trả về nhiều ký tự đó từ cuối chuỗi.

    Với chuỗi gốc trong A2, công thức như sau:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    Để trích xuất văn bản , bạn tính xem chuỗi chứa bao nhiêu ký tự văn bản bằng cách lấy tổng độ dài của chuỗi gốc trong A2 trừ đi số chữ số được trích xuất (C2) . Sau đó, bạn sử dụng hàm LEFT để trả về nhiều ký tự đó từ đầu chuỗi.

    =LEFT(A2,LEN(A2)-LEN(C2))

    Trong đó A2 là chuỗi gốc,và C2 là số được trích xuất, như trong ảnh chụp màn hình:

    Cách 2: Tìm vị trí của chữ số đầu tiên trong một chuỗi

    Một cách khác giải pháp sẽ sử dụng công thức sau để xác định vị trí của chữ số đầu tiên trong chuỗi:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Sau khi tìm thấy vị trí của chữ số đầu tiên, bạn có thể tách văn bản và số bằng cách sử dụng công thức LEFT và RIGHT rất đơn giản.

    Để trích xuất văn bản :

    =LEFT(A2, B2-1)

    Để trích xuất số :

    =RIGHT(A2, LEN(A2)-B2+1)

    Trong đó A2 là chuỗi gốc và B2 là vị trí của số đầu tiên.

    Để thoát khỏi cột trợ giúp giữ vị trí của chữ số đầu tiên, bạn có thể nhúng công thức MIN vào hàm LEFT và RIGHT:

    Công thức để trích xuất văn bản :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Công thức để trích xuất số :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Tách chuỗi mẫu 'số + văn bản'

    Nếu bạn đang tách các ô có văn bản xuất hiện sau số, bạn có thể trích xuất số bằng công thức sau:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))

    Công thức tương tự như công thức đã thảo luận trong ví dụ trước, ngoại trừ việc bạn sử dụng hàm LEFT thay vì RIGHT để lấy số từ phía bên trái của chuỗi.

    Sau khi bạn có các số , trích xuất văn bản bằng cách lấy tổng độ dài của chuỗi gốc trừ đi số chữ số:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    Trong đó A2 là chuỗi gốc và B2 là số được trích xuất,như minh họa trong ảnh chụp màn hình bên dưới:

    Mẹo. Để lấy số từ bất kỳ vị trí nào trong chuỗi văn bản , hãy sử dụng công thức này hoặc công cụ Trích xuất.

    Đây là cách bạn có thể tách chuỗi trong Excel bằng cách sử dụng các kết hợp khác nhau của các hàm khác nhau. Như bạn thấy, các công thức không rõ ràng, vì vậy bạn có thể muốn tải xuống sổ làm việc Excel Split Cells mẫu để kiểm tra chúng kỹ hơn.

    Nếu việc tìm ra các vòng xoắn phức tạp của các công thức Excel không phải là công việc yêu thích của bạn, thì bạn có thể thích phương pháp trực quan để tách ô trong Excel, được trình bày trong phần tiếp theo của hướng dẫn này.

    Cách tách ô trong Excel bằng công cụ Split Text

    Một cách khác để tách ô trong Excel đang sử dụng tính năng Tách văn bản có trong Ultimate Suite dành cho Excel của chúng tôi, tính năng này cung cấp các tùy chọn sau:

      Để làm cho mọi thứ rõ ràng hơn, chúng ta hãy xem xét kỹ hơn từng tùy chọn, một tại một thời điểm.

      Tách ô theo ký tự

      Chọn tùy chọn này bất cứ khi nào bạn muốn tách nội dung ô tại mỗi lần xuất hiện của ký tự đã chỉ định .

      Đối với ví dụ này, hãy lấy các chuỗi của mẫu Item-Color-Size mà chúng ta đã sử dụng trong phần đầu tiên của hướng dẫn này. Như bạn có thể nhớ, chúng tôi đã tách chúng thành 3 cột khác nhau bằng 3 công thức khác nhau. Và đây là cách bạn có thể đạt được kết quả tương tự trong 2 bước nhanh chóng:

      1. Giả sử bạn có Ultimate Suiteđã cài đặt, hãy chọn các ô cần tách và nhấp vào biểu tượng Tách văn bản trên tab Dữ liệu Ablebits .

      2. The <1 Ngăn>Chia văn bản sẽ mở ở bên phải cửa sổ Excel của bạn và bạn thực hiện các thao tác sau:
        • Mở rộng nhóm Chia theo ký tự và chọn một trong các dấu phân cách được xác định trước hoặc nhập bất kỳ ký tự nào khác vào hộp Tùy chỉnh .
        • Chọn chia ô thành cột hay hàng.
        • Xem lại kết quả trong phần Xem trước và nhấp vào nút Tách .

      Mẹo. Nếu có thể có nhiều dấu phân cách liên tiếp trong một ô (ví dụ: nhiều hơn một ký tự khoảng trắng), hãy chọn hộp Xử lý các dấu phân cách liên tiếp là một .

      Hoàn tất! Tác vụ yêu cầu 3 công thức và 5 hàm khác nhau giờ đây chỉ mất vài giây và một lần bấm nút.

      Tách ô theo chuỗi

      Tùy chọn này cho phép bạn tách các chuỗi bằng cách sử dụng bất kỳ tổ hợp ký tự nào làm dấu phân cách. Về mặt kỹ thuật, bạn chia một chuỗi thành nhiều phần bằng cách sử dụng một hoặc một số chuỗi con khác nhau làm ranh giới của từng phần.

      Ví dụ: để chia một câu bằng liên từ " and " và " or ", hãy mở rộng nhóm Chia theo chuỗi và nhập các chuỗi dấu phân cách, mỗi chuỗi một dòng:

      Kết quả là, cụm từ nguồn được phân tách ở mỗi lần xuất hiện của mỗi dấu phân cách:

      Mẹo.Các ký tự "or" cũng như "and" thường có thể là một phần của các từ như "orange" hoặc "Andalusia", vì vậy hãy nhớ nhập dấu cách trước và sau and hoặc để ngăn chia tách các từ.

      Và đây là một ví dụ thực tế khác. Giả sử bạn đã nhập một cột ngày tháng từ một nguồn bên ngoài, trông như sau:

      5.1.2016 12:20

      5.2.2016 14:50

      Định dạng này không phải là định dạng thông thường cho Excel và do đó, không hàm Ngày nào có thể nhận ra bất kỳ thành phần ngày hoặc giờ nào. Để tách ngày, tháng, năm, giờ và phút thành các ô riêng biệt, hãy nhập các ký tự sau vào hộp Chia theo chuỗi :

      • Dấu chấm (.) để tách ngày, tháng , và năm
      • Dấu hai chấm (:) để phân tách giờ và phút
      • Dấu cách để phân tách ngày và giờ

      Nhấn Nút Tách và bạn sẽ nhận được ngay kết quả:

      Tách ô theo mặt nạ (mẫu)

      Tách ô bằng mặt nạ có nghĩa là tách một chuỗi dựa trên mẫu .

      Tùy chọn này rất hữu ích khi bạn cần tách danh sách các chuỗi đồng nhất thành một số phần tử hoặc chuỗi con. Điều phức tạp là văn bản nguồn không thể được phân tách ở mỗi lần xuất hiện của một dấu phân cách nhất định, chỉ ở một số lần xuất hiện cụ thể. Ví dụ sau sẽ giúp mọi thứ dễ hiểu hơn.

      Giả sử bạn có một danh sách các chuỗi được trích xuất từ ​​nhật ký nào đótệp:

      Điều bạn muốn là có ngày và giờ, nếu có, mã lỗi và chi tiết ngoại lệ trong 3 cột riêng biệt. Bạn không thể sử dụng khoảng trắng làm dấu phân cách vì có khoảng cách giữa ngày và giờ, khoảng trắng này sẽ xuất hiện trong một cột và có khoảng trắng trong văn bản ngoại lệ, khoảng trắng này cũng sẽ xuất hiện trong một cột.

      Giải pháp là tách chuỗi bằng mặt nạ sau: *ERROR:*Exception:*

      Trường hợp dấu hoa thị (*) đại diện cho số lượng ký tự bất kỳ.

      Dấu hai chấm (:) được bao gồm trong các dấu phân cách vì chúng tôi không muốn chúng xuất hiện trong các ô kết quả.

      Và bây giờ, hãy mở rộng phần Tách theo mặt nạ trên Tách văn bản ngăn, nhập mặt nạ vào hộp Nhập dấu phân cách và nhấp vào Tách :

      Kết quả sẽ giống như sau:

      Lưu ý. Việc tách chuỗi theo mặt nạ là phân biệt chữ hoa chữ thường . Vì vậy, hãy đảm bảo nhập các ký tự trong mặt nạ chính xác như chúng xuất hiện trong chuỗi nguồn.

      Ưu điểm lớn của phương pháp này là tính linh hoạt. Ví dụ: nếu tất cả các chuỗi ban đầu đều có giá trị ngày và giờ và bạn muốn chúng xuất hiện trong các cột khác nhau, hãy sử dụng mặt nạ này:

      * *ERROR:*Exception:*

      Được dịch sang tiếng Anh đơn giản, mặt nạ hướng dẫn phần bổ trợ chia chuỗi gốc thành 4 phần:

      • Tất cả các ký tự trước khoảng trắng đầu tiên được tìm thấy trong chuỗi

      Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.