Chia tách chuỗi văn bản thành cột dựa trên những chữ cái

Giả sử bạn có dãy dữ liệu và muốn chia nội dung trong ô thành những cột riêng biệt phân tách nhau giữa những chữ cái ,

như hình dưới

\"\"

Nếu trong những ô dữ liệu của bạn chỉ có hai chữ cái thì có thể dùng theo công thức để lấy chuỗi đầu tiên

=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT(\"65:90\"))),A2&\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"),2)-1)

Sau đó bạn bấm tổ hợp phím Crtl+Shift+Enter để thực hiện công thức mảng

\"\"

Còn chuỗi thứ hai thì công thức rất đơn giản

=REPLACE(A2,1,LEN(C2),\"\")

\"\"

Tuy nhiên cách làm trên chỉ phù hợp với chuỗi văn bản của bạn có hai chữ cái  và nếu nó có nhiều hơn hai chữ cái thì bạn phải làm kiểu khác .

Đầu tiên bạn phải thêm những dấu cách vào giữa những chữ cái sau đó mới dùng tính năng Text to Columns để chia nội dung trong ô thành nhiều cột dựa trên những dấu cách .

Để làm việc này bạn cần tạo một hàm có tên SplitWord , cách làm như sau . Bấm tổ hợp phím ALT+F11 để mở Microsoft Visual Basic .

Bấm menu Insert > Module , bạn dán nội dung bên dưới

Function SplitWords(ByVal Str As String) As String

    Dim I As Integer

    SplitWords = Left(Str, 1)

    For I = 2 To Len(Trim(Str))

        If (Asc(Mid(Str, I, 1)) > 64) And _

           (Asc(Mid(Str, I, 1)) < 91) And _

           (Mid(Str, I - 1, 1) <> \" \") Then _

            SplitWords = SplitWords & \" \"

        SplitWords = SplitWords & Mid(Str, I, 1)

    Next

End Function

Quay trở lại Excel , bạn gõ hàm splitwords(A2) như hình dưới

 

\"\"

 

Bạn sẽ được kết quả như hình dưới

 

\"\"

 

Sau đó bạn dùng tính năng Text to Columns để phân tách thành từng cột dựa trên dấu cách

 

\"\"

 

\"\"