Text To Column Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

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.

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ợpMô tảLợi ích
Dữ liệu nhập từ file CSVCá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ộpVí 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ẩnVí 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.

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

  1. Chọn cột A (hoặc phạm vi dữ liệu cần tách).
  2. Vào Data → Text to Columns.
  3. Hộp thoại Convert Text to Columns Wizard xuất hiện, gồm 3 bước:

  4. 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.
  5. 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.
  6. 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.
  7. 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

  1. Chọn cột chứa dữ liệu.
  2. Data → Text to Columns → Fixed width → Next.
  3. Đặ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.
  4. Xem trước dữ liệu trong phần Preview để chắc chắn các cột đã đúng.
  5. Next → Column Data Format → Xác định kiểu dữ liệu cho mỗi cột.
  6. 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àmMô 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

Text To Column Trong Excel
Text To Column Trong Excel

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ể:

  1. Dùng Text to Column với delimiter “(” → Tách thành “John Doe ” và “john@example.com)”.
  2. 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: xlDelimited hoặc xlFixedWidth.
  • Các tham số Comma, Space, Other xá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ânGiải pháp
Dữ liệu không tách đúngDelimiter 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ềuDữ 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ạngExcel 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ể UndoThự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ỗiFile 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ểmNhượ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 QueryXử 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 ColumnsDễ 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:

  1. Data → Get Data → From Table/Range (chuyển dữ liệu thành Table).
  2. Trong Power Query Editor, chọn cột cần tách → Split Column → By Delimiter.
  3. Chọn delimiter (Comma, Space, Custom) và Advanced options nếu cần.
  4. Xác định Number of columns to split into hoặc Split at each occurrence.
  5. 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!

⚠️
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