Cách Chia Một Cột Thành Nhiều Cột Trong Excel – Hướng Dẫn Chi Tiết Và Thực Hành

Giới thiệu chung

Khi làm việc với dữ liệu trong Excel, tình huống “chia một cột thành nhiều cột” thường xuyên xuất hiện. Dù bạn đang xử lý danh sách khách hàng, dữ liệu bán hàng, hay dữ liệu từ một nguồn dữ liệu lớn, việc tách dữ liệu thành các trường riêng biệt giúp phân tích, lọc và báo cáo trở nên nhanh chóng, chính xác hơn. Trong bài viết này, chúng ta sẽ đi sâu vào các cách khác nhau để chia một cột thành nhiều cột trong Excel, từ các công cụ tích hợp sẵn như Text to Columns, đến công thức nâng cao, Power Query, và thậm chí là viết mã VBA. Bạn sẽ học được cách lựa chọn phương pháp phù hợp với từng tình huống cụ thể, cùng những mẹo nhỏ giúp nâng cao hiệu suất làm việc.

Chú ý: Tất cả ví dụ trong bài viết đều áp dụng cho Excel 2026 trở lên (Excel 365, Excel 2026, hay Excel 2026). Nếu bạn đang dùng phiên bản cũ hơn, một số tính năng như Power Query có thể cần cài đặt Add‑in.

1. Tại sao chúng ta cần chia cột?

  • Tăng tính trực quan: Khi dữ liệu được chia thành các cột logic, người dùng dễ dàng đọc và hiểu nhanh hơn.
  • Dễ dàng lọc, sắp xếp: Các cột riêng biệt giúp sử dụng công cụ lọc, sắp xếp của Excel một cách chính xác.
  • Phân tích dữ liệu: Các công thức, biểu đồ, PivotTable hoạt động tốt hơn khi dữ liệu được chia ra thành các trường hợp rõ ràng.
  • Tiết kiệm thời gian: Thay vì phải thao tác thủ công từng dòng, các công cụ chia cột giúp tự động hóa quy trình.

2. Phương pháp 1: Sử dụng công cụ “Text to Columns”

2.1. Khi nào dùng?

  • Dữ liệu ở dạng văn bản được phân cách bởi một ký tự nhất định (dấu phẩy, dấu chấm phẩy, dấu cách, dấu tab, hoặc ký tự tùy chọn).
  • Dữ liệu không quá lớn hoặc có thể xử lý trong một lần thao tác.

2.2. Hướng dẫn chi tiết

  1. Chọn cột cần chia. Ví dụ cột A chứa chuỗi “Tên, Địa chỉ, Số điện thoại”.
  2. Vào menu Data → Text to Columns.
  3. Chọn Delimited nếu dữ liệu có ký tự phân cách cố định, hoặc Fixed width nếu dữ liệu có độ rộng cố định. Thường dùng Delimited.
  4. Nhấn Next.
  5. Chọn ký tự phân cách: Comma, Semicolon, Tab, Space, hoặc Other. Nếu ký tự khác (ví dụ dấu gạch ngang “-”), chọn Other và nhập ký tự đó.
  6. Nhấn NextObama. (Tên này không liên quan đến bài viết, chỉ để minh họa).
  7. Chọn định dạng dữ liệu cho từng cột (General, Text, Date). Nếu không có yêu cầu đặc biệt, để mặc định General.
  8. Chọn vị trí lưu (định dạng cột đích). Thông thường, Excel sẽ ghi đè lên cột gốc và các cột bên phải nếu không có dữ liệu trống.
  9. Nhấn Finish.

2.3. Ví dụ thực tế

ABCD
Nguyễn Văn A, 123 Đường, 0123456789Nguyễn Văn A123 Đường0123456789
  • Cột A: “Tên, Địa chỉ, Số điện thoại”.
  • Sau khi áp dụng Text to Columns, dữ liệu sẽ được phân tách thành 3 cột riêng biệt như trên.

2.4. Lưu ý, lỗi thường gặp

  • Dữ liệu bị ghi đè: Nếu các cột bên phải đã chứa dữ liệu, việc chia cột có thể ghi đè lên dữ liệu đó. Để tránh, hãy sao chép cột gốc565 vào một vùng trống trước khi chia.
  • Dấu phân cách lẫn nhau: Khi dữ liệu có dấu phẩy trong tên (ví dụ “Nguyễn, Văn A”), công cụ sẽ chia không đúng. Trong trường hợp này, cần làm sạch dữ liệu trước hoặc dùng công thức nâng cao মই.

3. Phương pháp 2: Sử dụng công thức Excel

3.1. Công thức LEFT, MID, RIGHT

  • LEFT(text, num_chars): Trả về ký tự bên trái.
  • MID(text, start_num, num_chars): Trả về phần giữa.
  • RIGHT(text, num_chars): Trả về ký tự bên phải.

Ví dụ: Tách tên, địa chỉ, số điện thoại từ chuỗi có dấu phẩy

A (gốc)B (Tên)C (Địa chỉ)D (SĐT)
Nguyễn Văn A, 123 Đường, 0123456789=LEFT(A2, SEARCH(“,”, A2)-1)=MID(A2, SEARCH(“,”, A2)+2, SEARCH(“,”, A2, SEARCH(“,”, A2)+1)-SEARCH(“,”, A2)-2)=RIGHT(A2, LEN(A2)-SEARCH(“,”, A2, SEARCH(“,”, A2)+1)-1)
  • Giải thích: SEARCH(",", A2) tìm vị trí dấu phẩy đầu tiên. SEARCH(",", A2, SEARCH(",", A2)+1) tìm vị trí dấu phẩy thứ hai. Sử dụng các công thức này để xác định độ dài ký tự cần lấy.

3.2. Công thức TEXTSPLIT (Excel 365)

  • TEXTSPLIT(text, col_delimiter, row_delimiter, ignore_empty, match_mode): Chia chuỗi thành mảng.

Ví dụ:

=----TEXTSPLIT(A2, ", ")
  • Kết quả trả về là một mảng 3 cột: Tên, Địa chỉ, SĐT.
  • Khi dán vào ô B2, Excel sẽ tự động phân tách thành 3 cột.

3.3. Công thức FILTERXML (Excel 2026+)

  • Sử dụng để chia dữ liệu có định dạng XML hoặc chuỗi có dấu phân cách nhất định.

Ví dụ:

Giả sử cột A có chuỗi “Tên|Địa chỉ|SĐT”:

=FILTERXML("<t><s>" & SUBSTITUTE(A2, "|", "</s><s>") & "</s></t>", "//s")
  • Kết quả: Cột B chứa Tên, C: Địa chỉ, D: SĐT.

3.4. Lợi ích & hạn chế

  • Lợi ích: Có thể áp dụng trên hàng dữ liệu lớn, linh hoạt trong việc tùy chỉnh logic phân tách.
  • Hạn chế: Cần viết công thức phức tạp, dễ gây nhầm lẫn khi dữ liệu thay đổi định dạng.

4. Phương pháp 3: Sử dụng Power Query

4.1. Khi nào dùng Power Query?

  • D붙 dữ liệu lớn (hàng triệu dòng).
  • Cần thực hiện thao tác phức tạp, lặp lại nhiều lần.
  • Dữ liệu có thể được cập nhật thường xuyên, cần tự động refresh.

4.2. Hướng dẫn từng bước

  1. Chọn cột chứa dữ liệu (ても).
  2. Vào.at Data → Get & Transform Data → From Table/Range. Nếu dữ liệu chưa là bảng, Excel sẽ yêu cầu bạn tạo bảng. Đánh dấu “My table has headers” nếu có.
  3. Trong cửa sổ Power Query Editor, chọn cột cần chia.
  4. Vào menu Transform → Split Column → By Delimiter.
  5. Chọn dấu phân cách (ví dụ “Comma” hoặc “Custom” nếu cần).
  6. Chọn Split Into: Rows or Columns. Đối với tách thành nhiều cột, chọn Columns.
  7. Nhấn OK. Power Query sẽ tạo các cột mới.
  8. Nhấp Close & Load → Close & Load To → Chọn Existing worksheet và vị trí đích.

4.3. Ví dụ thực tế

Giả sử cột A chứa dữ liệu “Nguyễn, Văn A, 123 Đường, 0123456789”. Sau khi mở Power Query, chia theo dấu phẩy sẽ tạo ra -avatar cột: Nguyễn, Văn A, 123 Đường, 0123456789.

4.4. Mẹo nâng cao

  • Sử dụng “Split Column by Number of Characters”: Khi dữ liệu có độ rộng cố định (ví dụ mã số định dạng 8 ký tự).
  • Thêm bước “Trim”: Loại bỏ khoảng trắng thừa.
  • Kết hợp nhiều bước: Mỗi bước sẽ được ghi lại trong Power Query, giúp tái sử dụng nhanh chóng apples.

5. Phương pháp 4: Viết mã VBA

Cách Chia Một Cột Thành Nhiều Cột Trong Excel
Cách Chia Một Cột Thành Nhiều Cột Trong Excel

5.1. Khi nào dùng VBA?

  • Cần tự động hóa quy trình chia cột nhiều lần, trên nhiều bảng tính.
  • Dữ liệu có quy tắc phức tạp không thể xử lý bằng công cụ chuẩn.
  • Có yêu cầu tùy chỉnh phức tạp (ví dụ: giữ lại dữ liệu gốc, tạo cộtCar).

5.2. Mã mẫu: Tách cột bằng dấu phân cách

Sub SplitColumnByDelimiter() Dim ws As Worksheet Dim rng As Range Dim delimiter As String Dim i As Long Set ws = ActiveSheet delimiter = "," ' Thay đổi dấu phân cách nếu cần ' Giả sử dữ liệu bắt đầu từ A1, có header Set rng = ws.Range("A 스타일2", ws.Cells(ws.Rows.Count, "A").End(xlUp)) ' Dùng TextToColumns rng.TextToColumns Destination:=rng, _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:=delimiter, _ FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
End Sub

5.3. Mã mẫu: Tách cột bằng công thức

Sub SplitByFormula() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ActiveSheet lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow ws.Cells(i, 2).Formula = "=LEFT(A" & i & ", SEARCH("","", A" & i & ")-1)" ws.Cells(i, 3).Formula = "=MID(A" & i & ", SEARCH("","", A" & i & ")+2, SEARCH("","", A" & i & ", SEARCH("","", A" & i & ")+1)-SEARCH("","", A" & i & ")-2))" ws.Cells(i, 4).Formula = "=RIGHT(A" & i & ", LEN(A" & i & ")-SEARCH("","", A" & i & ", SEARCH("","", A" & i & ")+1)-1))" Next i
End Sub

5.4. Lưu ý khi viết VBA

  • XQUAL: Kiểm tra dữ liệu đầu vào có dấu phân cách hay không, tránh lỗi.
  • Hiệu suất: Khi làm việc với hàng ngàn dòng, nên tắt ScreenUpdating và EnableEvents để tăng tốc độ.
  • Ghi chú: Đọc lại macro trước khi chạy để tránh ghi đè dữ liệu quan trọng.

6. So sánh các phương pháp

Phương phápDễ sử dụngTính linh hoạtĐộ mạnhTối ưu cho dữ liệu lớn
Text to Columns★★★★★★★★❌
Công thức (LEFT/MID)★★★★★★★★★❌
TEXTSPLIT (Office 365)★★★★★★★★★★★❌
Power Query★★★★★★★★★★★✅
VBA★★★★★★★★★★★✅
  • Text to Columns: Dùng nhanh khi dữ liệu có dấu phân cách cố định và không quá lớn.
  • Công thức: Thích hợp khi bạn muốn kết hợp với các công thức khác কোনও.
  • Power Query: Tốt nhất cho dữ liệu lớn, có thể tái sử dụng và tự động refresh.
  • VBA: Phù hợp khi cần tự động hoá quy trình hoặc xử lý dữ liệu phức tạp.

7. Mẹo và thủ thuật nâng cao

7.1. Xử lý dữ liệu có dấu phân cách trùng lặp

  • Khi dữ liệu có dấu phân cách trong nội dung (ví dụ “Nguyễn, Văn A” trong tên), bạn có thể dùng Replace để thay dấu phân cách tạm thời thành ký tự khác, sau đó dùng Text to Columns.

7.2. Định dạng dữ liệu sau khi chia

  • Đặt định dạng cột Text trước khi chia để tránh Excel tự chuyển đổi số thành ngày (ví dụ số điện thoại).
  • Sử dụng Format Cells → Custom để giữ nguyên định dạng.

7.3. Kiểm tra dữ liệu

  • Sử dụng công thức ISNUMBER, ISTEXT để kiểm tra nếu dữ liệu đã được chia đúng.
  • Dùng Conditional Formatting để highlight các dòng có lỗi.

7.4. Tự động refresh Power Query

  • Khi dữ liệu nguồn thay đổi, bạn có thể click chuột phải lên bảng Power Query → Refresh.
  • Hoặc đặt Automatic Refresh trong Data → Queries & Connections.

7.5. Sử dụng PivotTable để kiểm tra

  • Tạo PivotTable từ dữimporte các cột đã chia để xác nhận mọi trường đã được tách đúng.

8. Thực hành: Bước từng bước với dữ liệu thực

8.1. Dữ liệu mẫu fuels

| A (gốc) |
| começa: “Nguyễn, 123 Đường, 0123456789” |
| “Lê, 456 Phố, 0987654321” |
| “Trần, 789 Lạnh, 0112233445” |

8.2. Bài tập 1: Dùng Text to Columns

  1. Chọn cột A.
  2. Data → Text to Columns → Delimited → Comma.
  3. Đặt Destination = A1.
  4. Kết quả:
ABCD
Nguyễn123 Đường0123456789(trống)
Lê456 Phố0987654321(trống)
Trần789 Lạnh0112233445(trống)

8.3. Bài tập 2: Dùng TEXTSPLIT (Excel 365)

  1. Trong ô B1: =TEXTSPLIT(A1, ", ").
  2. Kéo công thức xuống.
  3. Kết quả giống như trên.

8.4. Bài tập 3: Dùng Power Query

  1. Chọn cột A → Data → From Table/Range.
  2. Trong Power Query Editor, Split Column → By Delimiter → Comma → Columns.
  3. Nhấn Close & Load.

9. Kết luận

Chia một cột thành nhiều cột trong Excel không chỉ là một thao tác cơ bản mà còn là chìa khóa để quản lý, phân tích dữ liệu hiệu quả. Bạn có thể chọn phương pháp Text to Columns khi dữ liệu đơn giản, TEXTSPLIT hoặc công thức nâng cao khi muốn linh hoạt hơn, Power Query khi xử lý dữ liệu lớn và cần tự động hoá, hoặc VBA khi cần tùy chỉnh sâu.

Bằng cách hiểu rõ ưu nhược điểm của từng phương pháp, bạn sẽ chọn đúng công cụ, tiết kiệm thời gian và tránh những sai lầm thường gặp. Hãy thử áp dụng những phương pháp này Invitation vào công việc hàng ngày của bạnljuč và cảm nhận sự khác biệt lớn trong quy trình làm việc.

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận