Có thể bạn quan tâm: Phần Mềm Kế Toán Excel: Giải Pháp Hiệu Quả Cho Doanh Nghiệp Nhỏ Và Vừa
Mở Đầu
Trong môi trường làm việc với dữ liệu, Excel luôn là một trong những công cụ không thể thiếu. Một trong những tính năng mạnh mẽ nhưng lại ít người biết đến hoặc chưa khai thác hết tiềm năng là Text to Column (Chuyển đổi văn bản thành các cột). Tính năng này cho phép người dùng tách dữ liệu được lưu trữ trong một cột duy nhất thành nhiều cột dựa trên các ký tự phân tách (delimiter) hoặc vị trí cố định. Khi bạn phải xử lý hàng ngàn, thậm chí hàng triệu bản ghi, việc sử dụng Text to Column sẽ giúp tiết kiệm thời gian, giảm thiểu lỗi nhập liệu và nâng cao độ chính xác của báo cáo.
Bài viết dưới đây sẽ cung cấp một hướng dẫn chi tiết, từ những kiến thức cơ bản nhất cho người mới bắt đầu, đến các kỹ thuật nâng cao, các trường hợp thực tiễn, và cả một số mẹo tối ưu hoá quy trình làm việc. Mục tiêu là giúp bạn trở thành “bậc thầy” trong việc xử lý dữ liệu bằng Text to Column trong Excel.
Có thể bạn quan tâm: Những Phím Tắt Trên Excel: Tăng Tốc Độ Làm Việc Và Nâng Cao Hiệu Suất
1. Text to Column là gì? (Cơ bản)
1.1 Định Nghĩa
Text to Column là một công cụ trong Excel (được đặt trong tab Data → Text to Columns) cho phép người dùng:
- Tách một chuỗi ký tự (string) dựa trên định dạng phân tách (Delimiter) như dấu phẩy, dấu chấm phẩy, khoảng trắng, tab, v.v.
- Tách dựa trên vị trí cố định (Fixed width) – tức là mỗi phần dữ liệu có độ dài cố định.
- Chuyển đổi dữ liệu văn bản sang các kiểu dữ liệu khác (số, ngày tháng, văn bản) trong quá trình tách.
1.2 Khi nào nên dùng Text to Column?
| Trường hợp | Mô tả | Lợi ích |
|---|---|---|
| Dữ liệu nhập từ file CSV | Các file CSV thường chứa dữ liệu được ngăn cách bằng dấu phẩy hoặc dấu chấm phẩy. | Tách nhanh thành các cột riêng biệt. |
| Mã sản phẩm gộp | Ví dụ: “SP001-2026-AB”. | Tách thành mã sản phẩm, năm, phiên bản. |
| Ngày tháng không chuẩn | Ví dụ: “2026/12/31”. | Tách ngày, tháng, năm để định dạng chuẩn. |
| Địa chỉ gộp | “123 Main St, New York, NY, 10001”. | Tách thành số nhà, đường, thành phố, bang, mã ZIP. |
| Số điện thoại có mã vùng | “+84-123-456-789”. | Tách mã quốc gia, mã vùng, số chính. |
Có thể bạn quan tâm: Cách Mở Dòng Bị Ẩn Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cách Sử Dụng Text to Column Cơ Bản
2.1 Chuẩn Bị Dữ Liệu
Giả sử bạn có một cột A chứa dữ liệu sau:
| A |
|---|
| 001,John Doe,30,New York |
| 002,Jane Smith,25,Los Angeles |
| 003,Bob Johnson,40,Chicago |
2.2 Thực Hiện Các Bước
- Chọn cột A (hoặc phạm vi dữ liệu cần tách).
- Vào Data → Text to Columns.
Hộp thoại Convert Text to Columns Wizard xuất hiện, gồm 3 bước:
Step 1: Choose Data Type
- Chọn Delimited (vì dữ liệu được ngăn cách bằng dấu phẩy) và nhấn Next.
Step 2: Choose Delimiters
- Bỏ chọn các tùy chọn mặc định, tick Comma và Other (để nhập dấu phẩy nếu chưa có). Nhấn Next.
Step 3: Column Data Format
- Đối với mỗi cột, bạn có thể chọn kiểu dữ liệu: General, Text, Date, Do not import column (skip).
- Đối với cột “30” (tuổi) bạn có thể chọn General hoặc Number.
- Nhấn Finish.
Kết quả: Dữ liệu trong cột A sẽ được tách thành 4 cột (A, B, C, D) chứa các trường ID, Tên, Tuổi, Thành phố.
2.3 Lưu Ý Khi Thực Hiện
- Dữ liệu gốc sẽ bị ghi đè nếu không có cột trống phía bên phải. Đảm bảo có đủ không gian trống hoặc sao chép dữ liệu sang một vị trí mới trước khi tách.
- Không thể hoàn tác (Undo) sau khi thực hiện Finish nếu làm trên một số lượng lớn dữ liệu. Nên sao lưu file trước.
- Định dạng ngày tháng: Khi dữ liệu ngày tháng được tách, hãy chắc chắn chọn đúng định dạng (MDY, DMY, YMD) trong bước 3 để tránh lỗi.
3. Text to Column với Fixed Width (Chiều rộng cố định)
3.1 Khi nào dùng Fixed Width
Nếu dữ liệu của bạn không có ký tự phân tách, mà mỗi trường dữ liệu luôn có độ dài cố định, bạn sẽ dùng Fixed width. Ví dụ:
001John Doe 30New York 002Jane Smith 25Los Angeles 003Bob Johnson 40Chicago Ở đây, ID luôn 3 ký tự, Tên 15 ký tự, Tuổi 2 ký tự, Thành phố 15 ký tự.
3.2 Thực Hiện
- Chọn cột chứa dữ liệu.
- Data → Text to Columns → Fixed width → Next.
- Đặt dấu phân cách (line breaks) bằng cách click vào vị trí muốn cắt. Bạn có thể kéo để di chuyển.
- Xem trước dữ liệu trong phần Preview để chắc chắn các cột đã đúng.
- Next → Column Data Format → Xác định kiểu dữ liệu cho mỗi cột.
- Finish.
3.3 Mẹo
- Khi dữ liệu không đồng đều (độ dài thay đổi), bạn có thể kết hợp Delimited và Fixed width bằng cách thực hiện tách lần lượt.
- Nếu có nhiều dấu cách thừa, hãy dùng TRIM (hàm) sau khi tách để loại bỏ khoảng trắng.
4. Các Hàm Hỗ Trợ Kèm Text to Column
Dù Text to Column mạnh mẽ, nhưng trong một số trường hợp bạn cần tự động hoá hoặc xử lý dữ liệu phức tạp hơn. Dưới đây là một số hàm hữu ích:
| Hàm | Mô tả | Ví dụ |
|---|---|---|
| LEFT(text, num_chars) | Lấy các ký tự từ bên trái. | =LEFT(A2,3) → “001”. |
| RIGHT(text, num_chars) | Lấy các ký tự từ bên phải. | =RIGHT(A2,5) → “York”. |
| MID(text, start_num, num_chars) | Lấy ký tự ở vị trí giữa. | =MID(A2,5,8) → “John Doe”. |
| FIND(find_text, within_text, start_num) | Tìm vị trí của ký tự. | =FIND(",",A2) → vị trí dấu phẩy đầu tiên. |
| SEARCH(find_text, within_text, start_num) | Tương tự FIND nhưng không phân biệt hoa thường. | |
| LEN(text) | Độ dài chuỗi. | |
| TRIM(text) | Loại bỏ khoảng trắng thừa. | |
| SUBSTITUTE(text, old_text, new_text, instance_num) | Thay thế ký tự. | =SUBSTITUTE(A2,",",";"). |
| TEXTJOIN(delimiter, ignore_empty, range) | Kết hợp nhiều ô lại với nhau, hỗ trợ ngược lại với Text to Column. |
4.1 Kết hợp Hàm với Text to Column

Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Cách Repair Corrupted Excel File Online: Giải Pháp Nhanh Chóng Và Hiệu Quả
Ví dụ: Bạn có dữ liệu “John Doe (john@example.com)” trong một cột và muốn tách Tên và Email. Bạn có thể:
- Dùng Text to Column với delimiter “(” → Tách thành “John Doe ” và “john@example.com)”.
- Dùng TRIM và RIGHT để loại bỏ dấu ngoặc.
Hoặc dùng công thức:
=TRIM(LEFT(A2,FIND("(",A2)-1)) // Tên
=TRIM(MID(A2,FIND("(",A2)+1,LEN(A2)-FIND("(",A2)-1)) // Email
5. Các Trường Hợp Thực Tiễn
5.1 Nhập Dữ Liệu Từ File CSV
Khi mở file CSV trong Excel, Excel sẽ tự động tách dữ liệu dựa trên dấu phẩy (hoặc dấu chấm phẩy tùy ngôn ngữ). Tuy nhiên, nếu dữ liệu chứa dấu phẩy trong chuỗi (ví dụ: ““New, York””), Excel có thể mắc lỗi. Giải pháp:
- Mở Notepad → Save As → chọn UTF-8.
- Trong Excel, Data → From Text/CSV → Chọn Delimiter là Comma, tick Treat consecutive delimiters as one và Data Type Detection phù hợp.
- Khi cần tách lại, dùng Text to Column với delimiter là Comma, nhưng bật Text qualifier là dấu ngoặc kép (“”).
5.2 Tách Địa Chỉ
Ví dụ dữ liệu:
123 Main St, Apt 4B, New York, NY, 10001
Bạn muốn tách thành Số nhà, Tên đường, Căn hộ, Thành phố, Bang, Mã ZIP.
Bước 1: Sử dụng Text to Column với delimiter Comma → Tạo 5 cột.
Bước 2: Dùng TRIM để loại bỏ khoảng trắng thừa.
Bước 3: Dùng LEFT và RIGHT để tách số nhà và tên đường:
=LEFT(B2,FIND(" ",B2)-1) // Số nhà
=TRIM(MID(B2,FIND(" ",B2)+1, LEN(B2))) // Tên đường
5.3 Xử Lý Mã Sản Phẩm
Mã sản phẩm: “ABC-2026-00123”
- Delimiter = “-”.
- Sau tách, bạn có 3 cột: Mã nhóm, Năm, Số thứ tự.
- Đối với cột “Năm”, chuyển sang kiểu Date hoặc Number để dễ dàng sắp xếp.
5.4 Tách Số Điện Thoại Quốc Tế
Dữ liệu: “+84 912 345 678”
- Delimiter = “ ” (khoảng trắng) hoặc Fixed width (mã quốc gia 3 ký tự, mã vùng 2-3 ký tự, số còn lại).
- Sau tách, bạn có Mã quốc gia, Mã vùng, Số. Dùng CONCATENATE hoặc TEXTJOIN để tạo lại định dạng chuẩn khi cần.
6. Tự Động Hóa Text to Column Bằng VBA
Khi phải xử lý hàng nghìn file hoặc thực hiện lặp lại quy trình, VBA (Visual Basic for Applications) là công cụ mạnh mẽ.
6.1 Macro Cơ Bản
Sub TextToColumns_Delimited() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws.Range("A1:A1000") .TextToColumns Destination:=ws.Range("A1"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=True, _ Space:=False, _ Other:=False End With
End Sub
- Destination: nơi dữ liệu sẽ được tách.
- DataType:
xlDelimitedhoặcxlFixedWidth. - Các tham số
Comma,Space,Otherxác định delimiter.
6.2 Định Dạng Cột Sau Khi Tách
Sub FormatColumns() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' Định dạng cột B (Tên) là Text ws.Columns("B").NumberFormat = "@" ' Định dạng cột C (Tuổi) là Number, không có thập phân ws.Columns("C").NumberFormat = "0" ' Định dạng cột D (Ngày) là Date (dd/mm/yyyy) ws.Columns("D").NumberFormat = "dd/mm/yyyy"
End Sub
Bạn có thể gộp cả hai macro thành một để tự động hoá toàn bộ quy trình.
6.3 Xử Lý Nhiều File
Sub ProcessMultipleCSV() Dim folderPath As String, fileName As String Dim wb As Workbook folderPath = "C:\Data\CSVFiles\" fileName = Dir(folderPath & ".csv") Do While fileName <> "" Set wb = Workbooks.Open(folderPath & fileName) With wb.Sheets(1) .Range("A1").CurrentRegion.TextToColumns _ Destination:=.Range("A1"), _ DataType:=xlDelimited, _ Comma:=True End With wb.Close SaveChanges:=True fileName = Dir Loop
End Sub
Macro này sẽ mở từng file CSV trong thư mục, thực hiện Text to Column, lưu và đóng lại.
7. Các Vấn Đề Thường Gặp Và Cách Khắc Phục
| Vấn đề | Nguyên nhân | Giải pháp |
|---|---|---|
| Dữ liệu không tách đúng | Delimiter không khớp, hoặc có dấu phân cách trong chuỗi (ví dụ dấu phẩy trong tên). | Sử dụng Text qualifier (dấu ngoặc kép) trong Wizard hoặc chỉnh sửa file nguồn (thêm dấu ngoặc kép). |
| Số cột tách ra quá nhiều | Dữ liệu có nhiều delimiter liên tiếp (,,) tạo ra cột trống. | Tick Treat consecutive delimiters as one trong Wizard hoặc dùng TRIM và IF(LEN=0,””,…) sau khi tách. |
| Ngày tháng sai định dạng | Excel nhận dạng ngày theo cài đặt hệ thống (MDY vs DMY). | Trong bước 3, chọn Date và chỉ định thứ tự (DMY, MDY, YMD). Hoặc sử dụng hàm DATEVALUE sau khi tách. |
| Mất dữ liệu khi ghi đè | Cột đích đã chứa dữ liệu. | Đảm bảo cột đích trống, hoặc sao chép dữ liệu sang vị trí mới trước khi tách. |
| Không thể Undo | Thực hiện tách trên một phạm vi lớn. | Luôn sao lưu file trước khi thực hiện. |
| Ký tự Unicode (tiếng Việt) bị lỗi | File nguồn không phải UTF-8. | Khi mở file, chọn Data → From Text/CSV, trong mục File Origin chọn 65001: Unicode (UTF-8). |
8. So Sánh Text to Column Với Các Công Cụ Khác
| Công cụ | Ưu điểm | Nhược điểm |
|---|---|---|
| Text to Column (Excel) | Tích hợp sẵn, nhanh, không cần cài đặt thêm. | Giới hạn ở thao tác thủ công hoặc VBA; không hỗ trợ xử lý dữ liệu lớn (hơn 1 triệu hàng) hiệu quả. |
| Power Query | Xử lý dữ liệu lớn, hỗ trợ ETL, có giao diện trực quan, lưu lại bước xử lý. | Cần học thêm về M Language, không phù hợp cho người dùng chỉ muốn tách nhanh. |
| Python (pandas) | Linh hoạt, xử lý hàng triệu bản ghi, tự động hoá hoàn toàn. | Yêu cầu kiến thức lập trình, cài đặt môi trường. |
| Google Sheets Split Text to Columns | Dễ dùng trên web, đồng bộ. | Giới hạn số hàng (5 triệu ô), không mạnh bằng Excel cho dữ liệu lớn. |
Kết luận: Nếu bạn làm việc trong môi trường Excel và dữ liệu không quá khổng lồ, Text to Column là lựa chọn nhanh nhất. Khi cần tự động hoá hoặc xử lý dữ liệu phức tạp, hãy cân nhắc Power Query hoặc Python.
9. Bước Tiếp Theo: Kết Hợp Text to Column Với Power Query
Power Query (Get & Transform) cung cấp một giao diện kéo-thả để tách dữ liệu, lưu lại các bước và tái sử dụng. Dưới đây là quy trình nhanh:
- Data → Get Data → From Table/Range (chuyển dữ liệu thành Table).
- Trong Power Query Editor, chọn cột cần tách → Split Column → By Delimiter.
- Chọn delimiter (Comma, Space, Custom) và Advanced options nếu cần.
- Xác định Number of columns to split into hoặc Split at each occurrence.
- Close & Load để đưa dữ liệu trở lại Excel.
Power Query còn cho phép:
- Thêm cột tùy chỉnh (Custom Column) với công thức M.
- Xử lý lỗi (Error handling) khi một số bản ghi không có delimiter.
- Lưu lại toàn bộ quy trình trong Query để tái sử dụng cho các file mới.
Nếu bạn thường xuyên nhận dữ liệu từ các nguồn khác nhau (CSV, txt, web), đầu tư thời gian học Power Query sẽ mang lại lợi ích lâu dài.
10. Tổng Kết
- Text to Column là công cụ mạnh mẽ giúp tách dữ liệu dựa trên delimiter hoặc fixed width.
- Cơ bản: Chọn cột → Data → Text to Columns → Chọn Delimited hoặc Fixed width → Đặt delimiter → Định dạng cột.
- Nâng cao: Kết hợp hàm Excel, VBA để tự động hoá, xử lý hàng loạt file, và giải quyết các trường hợp phức tạp.
- Xử lý lỗi: Kiểm tra delimiter, định dạng ngày, tránh ghi đè dữ liệu.
- Kết hợp với Power Query để có quy trình ETL mạnh mẽ, lưu lại các bước và tái sử dụng.
- Thực tiễn: Áp dụng trong tách CSV, địa chỉ, mã sản phẩm, số điện thoại, ngày tháng, và nhiều loại dữ liệu khác.
Việc thành thạo Text to Column không chỉ giúp bạn tiết kiệm thời gian mà còn nâng cao độ chính xác và hiệu quả trong công việc xử lý dữ liệu. Hãy thực hành ngay với các ví dụ thực tế trên, và dần dần mở rộng sang các công cụ nâng cao như Power Query và VBA để trở thành “siêu nhân” Excel trong môi trường công việc của bạn. Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
