Có thể bạn quan tâm: Tách Một Dòng Thành Hai Dòng Trong Excel: Các Phương Pháp Thực Hành Chi Tiết
Giới thiệu
Trong thực tế làm việc với dữ liệu, ta thường gặp trường hợp “trộn” giữa ký tự chữ (hoặc ký tự đặc biệt) và số trong một ô duy nhất. Ví dụ: “A123”, “123B”, “V2023-05-01”, “ABCD1234”… Khi dữ liệu này được nhập vào bảng tính Excel, việc phân tách các thành phần số và chữ thường trở nên cần thiết cho nhiều mục đích: tính toán, phân loại, lọc dữ liệu, tạo báo cáo, hoặc chuẩn bị dữ liệu nhập vào hệ thống khác.
Trong bài viết này, chúng ta sẽ đi sâu vào các cách thực hiện tách số và chữ trong một ô Excel, từ phương pháp đơn giản nhất (sử dụng công thức và chức năng sẵn có của Excel) cho tới những kỹ thuật nâng cao như dùng hàm REGEX, Power Query, hoặc viết macro VBA. Bạn sẽ biết được công cụ nào phù hợp với từng tình huống, cách áp dụng từng bước cụ thể, và những lưu ý khi làm việc với dữ liệu có dạng “số + chữ” hay “chữ + số”.
Lưu ý: Để thực hiện các công thức dưới đây, bạn cần nhập dữ liệu vào ô A1 (hoặc bất kỳ ô nào bạn muốn xử lý). Nếu bạn sử dụng Excel 365/Excel 2026, các hàm mới như
TEXTSPLIT,FILTERXML,REGEXEXTRACTsẽ sẵn có. Nếu không, bạn có thể sử dụng Power Query hoặc VBA để đạt được kết quả tương tự.
Có thể bạn quan tâm: Tách Một Cột Thành Nhiều Cột Trong Excel
1. Phương pháp 1: Sử dụng hàm LEFT, RIGHT, MID, FIND, SEARCH
1.1. Khi số nằm ở đầu ô
Ví dụ ôutlich A1 = “123ABC”. Bạn muốn tách phần số “123” và phần chữ “ABC”.
Công thức lấy số:
=LEFT(A1, FIND(TRUE, ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))) - 1
Giải thích: Hàm
MIDlấy từng ký tự trong ô,ISNUMBER(--MID(...))xác định xem ký tự đó có phải là số hay không. HàmFINDtìm vị trí đầu tiên của ký tự không phải số, trừ 1 để lấy phần số. Để công thức này hoạt động, nhớ nhấn Ctrl+Shift+Enter (đối với Excel 2026 trở xuống) hoặc nhập vào một ô bình thường nếu dùng Excel 365.
Công thức lấy chữ:
=RIGHT(A1, LEN(A1) - FIND(TRUE, ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)))) Giải thích: Tương tự, ta tìm vị trí đầu tiên của ký tự không phải số, rồi lấy phần còn lại bằng
RIGHT.
1.2. Khi chữ nằm ở đầu ô
Ví dụ A1 = “ABC123”. Bạn muốn tách “ABC” và “123”.
Công thức lấy chữ:
=LEFT(A1, FIND(TRUE, ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))) - 1
Lưu ý: Cách này giống như trường hợp trước, nhưng vì chữ đứng đầu, phần đầu tiên của chuỗi sẽ là chữ, nên công thức giống nhau.
Công thức lấy số:
=RIGHT(A1, LEN(A1) - FIND(TRUE, ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)))) 1.3. Khi có ký tự đặc biệt, dấu cách, hoặc dấu gạch ngang
Nếu dữ liệu có dạng “AB-123”, “123-XYZ”, “ABC 456”, bạn cần điều chỉnh công thức để bỏ qua ký tự đặc biệt. Một cách đơn giản là dùng hàm SUBSTITUTE để loại bỏ ký tự không cần thiết trước khi áp dụng công thức trên, hoặc dùng một công thức phức tạp hơn với FILTERXML.
Ví dụ:цә A1 = “AB-123”.
Tách số:
=VALUE(TRIM(MID(SUBSTITUTE(A1,"-"," "),2,LEN(A1))))
萝
Giải thích:
SUBSTITUTEthay thế dấu gạch ngang bằng khoảng trắng,MID(...,2,...)lấy phần sau dấu gạch ngang (vì phần trước là “AB”).TRIMloại bỏ khoảng trắng thừa,VALUEchuyển thành số.
Có thể bạn quan tâm: Cách Tách 1 Bảng Thành 2 Bảng Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành
2. Phương pháp 2: Sử dụng hàm TEXTSPLIT (Excel 365)
Nếu bạn đang dùng Excel 365, hàm TEXTSPLIT rất tiện lợi để chia chuỗi dựa trên ký tự phân tách.
Cách dùng:
Giả sử ô A1 = “123 Bees 456”.
=TEXTSPLIT(A1, " ", , TRUE)
Giải thích: Hàm
TEXTSPLITchia chuỗi dựa trên dấu cách. Tham số thứ ba (đánh dấu bằng,) là dấu phân tách chuỗi; dấuTRUEđể bỏ qua các phần tử rỗng. Kết quả trả về là một mảng, bạn có thể lấy phần tử thứ nhất (số) bằngINDEX:
=INDEX(TEXTSPLIT(A1, " ", , TRUE), 1)
Lưu ý జీవిత: Nếu chuỗi có ký tự khác nhau làm phân tách (dấu gạch ngang, dấu chấm, v.v.), thay
" "bằng ký tự tương ứng.
3. Phương pháp 3: Sử dụng hàm REGEXEXTRACT (Excel 365)
Excel 365 cung cấp hàm REGEXEXTRACTimasoq, rất mạnh mẽ khi làm việc với chuỗi phức tạp.
3.1. Lấy phần số
Giả sử ô A1 = “ID-12345-XYZ”.
=REGEXEXTRACT(A1, "\d+")
Giải thích:
\d+là biểu thức chính quy tìm một hoặc nhiều chữ số liên tiếp. Hàm sẽ trả về “12345”.
3.2. Lấy phần chữ
=REGEXEXTRACT(A1, "A-Za-z+")
Giải thích:
A-Za-z+tìm một chuỗi ký tự chữ liên tiếp. Nếu chuỗi có nhiều phần chữ, hàm sẽ trả về phần đầu tiên.
3.3. Trường hợp phức tạp: Lấy cả phần số và chữ đồng thời
Bạn có thể kết hợp REGEXEXTRACT với REGEXREPLACE để loại bỏ phần không cần thiết:
=REGEXREPLACE(A1, "^A-Za-z", "")
Giải thích:
^A-Za-zlà bất kỳ ký tự nào không phải chữ باہر. Hàm sẽ loại bỏ tất cả ký tự không phải chữ, giữ lại phần chữ “IDXYZ”.
4. Phương pháp 4: Dùng Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ trong Excel để làm sạch và biến đổi dữ liệu. Khi dữ liệu có quy định rõ ràng về vị trí số và chữ, Power Query giúp tách chúng một cách nhanh chóng và tự động.

Có thể bạn quan tâm: Tách Cột Họ Và Tên Trong Excel 2026
4.1. Bước 1: Chọn dữ liệu > Trình bày > Từ bảng hoặc vùng
Khi bạn đã chọn vùng dữ liệu, Power Query sẽ mở ra giao diện chỉnh sửa.
4.2. Bước 2: Thêm cột tùy chỉnh
- Chọn
Add Column→Custom Column. - Đặt tên cột “Số” và nhập công thức:
Text.Select(Column1, {"0".."9"})
Giải thích: Hàm
Text.Selectlọc ra chỉ các ký tự nằm trong dãy “0”..“9”.
- Đặt tên cột “Chữ” và nhập công thức:
Text.Select(Column1, {"A".."Z", "a".."z"})
Giải thích: Lọc ra các ký tự chữ (cả hoa và thường).
4.3. Bước 3: Chuyển dữ liệu về Excel
- Nhấn
Close & Load→Close & Load To…→ chọn “Table” và đặt vị trí.
Lưu ý: Power Query rất thích hợp khi làm việc với hàng ngàn dòng dữ liệu. Khi có dữ liệu mới, bạn chỉ cần làm mới query (
Refresh) để tự động cập nhật.
5. Phương pháp 5: Viết macro VBA
Nếu bạn cần tự động hóa quy trình tách số và chữ cho một cột dài dữ liệu, macro VBA Olaf là một lựa chọn hiệu quả.
5.1. Mã VBA mẫu
Sub SplitNumberAndLetter() Dim rng As Range Dim cell As Range Dim inputText As String Dim numPart As String Dim letPart As String Dim i As Long ' Chọn vùng dữ liệu cần xử lý Set rng = Application.Selection For Each cell In rng inputText = cell.Value numPart = "" letPart = "" For i = 1 To Len(inputText) If IsNumeric(Mid(inputText, i, 1)) Then numPart = numPart & Mid(inputText, i, 1) Else letPart = letPart & Mid(inputText, i, 1) End If Next i ' Ghi kết quả vào cột kế tiếp cell.Offset(0, 1).Value = numPart cell.Offset(0, 2).Value = letPart Next cell
End Sub
Cách chạy: Mở
VBA Editor(Alt+F11), northern một module mới, dán mã vào, lưu. Quay lại Excel, chọn vùng dữ liệu, nhấnAlt+F8, chạy macroSplitNumberAndLetter.
5.2. Giải thích nhanh
IsNumerickiểm tra ký tự có phải là số hay không.Midlấy ký tự tại vị tríi.Offsetđể ghi kết quả vào cột kế tiếp (độ lệch 1 và 2 cột).
Lưu ý: Macro có thể chạy chậm nếu dữ liệu vượtствия vài ngàn dòng. Trong trường hợp đó, cân nhắc chuyển sang Power Query hoặc cài đặt
Application.ScreenUpdating = False.
6. Các tình huống thực tế và cách xử lý
6.1. Dữ liệu nhập từ hệ thống cũ
Bạn nhận được dữ liệu dạng “00123ABC”, “XYZ456”. Khi nhập vào Excel, có thể xuất hiện “00123ABC” bị chuyển thành số 123ABC (vì Excel tự động chuyển đổi). Để giữ nguyên định dạng, hãy nhập dữ liệu vào ô dưới dạng văn bản ('00123ABC) hoặc chọn cột trước và thiết lập kiểu dữ liệu là “Text”.
6.2. Tách số và chữ khi dữ liệu có định dạng phức tạp (ví dụ: “AB-123-CD-456”)
Bạnmarked muốn lấy số “123” và “456” riêng biệt. Dùng Power Query hoặc macro để lọc ra các chuỗi số liên tiếp.
Power Query:
let Source = Excel.CurrentWorkbook(){Name="Table1"}Content, AddColumns = Table.AddColumn(Source, "Numbers", each Text.Select(Column1, {"0".."9"}))
in AddColumns
Kết quả: Mỗi ô sẽ có cột “Numbers” chứa chuỗi số liên tiếp. Bạn có thể dùng
Text.Splitđể chia thành nhiều cột nếu cần.
6.3. Tách số từ chuỗi có ký tự đặc biệt (dấu gạch ngang, dấu chấm, dấu phẩy)
Nếu dữ liệu có dạng “12.34-56”, bạn có thể dùng SUBSTITUTE để gán dấu gạch ngang bằng dấu chấm, rồi dùng TEXTSPLIT.
=TEXTSPLIT(SUBSTITUTE(A1,"-","."), ".", , TRUE)
Kết quả: Mảng chứa “12.34” và “56”.
6.4. Xử lý dữ liệu lớn (hàng triệu hàng)
- Với Excel 365: Dùng Power Query vì nó có thể xử lý dữ liệu lớn hơn giới hạn của overdang.
- Với Excel 2026: Macro VBA tốc độ chậm hơn nhiều khi xử lý hàng triệu dòng. Bạn nên tách dữ liệu thành nhiều khối nhỏ hoặc chuyển sang phần mềm chuyên dụng như Power BI hoặc Python với Pandas.
7. Lưu ý khi làm việc với dữ liệu số và chữ
| Câu hỏi | Mẹo / Giải pháp |
|---|---|
| Dữ liệu bị thay đổi công thức khi kéo sang ô khác | Sử dụng $ để cố định tham chiếu (ví dụ: $A$1). |
| Số bị mất chữ số đầu tiên | Đặt cột là kiểu “Text” trước khi nhập dữ liệu. |
| Định dạng ngày bị mất | Khi tách số, dùng DATEVALUE hoặc TEXT để giữ nguyên định dạng. |
| Cần giữ nguyên dấu cách | Sử dụng TRIM để loại bỏ khoảng trắng thừa. |
| Có ký tự Unicode (tiếng Việt, tiếng Trung) | Đảm bảo tính năng TEXTSPLIT hoặc REGEXEXTRACT hỗ trợ Unicode. |
| Làm sạch dữ liệu trước khi tách | Dùng SUBSTITUTE để loại bỏ ký tự đặc biệt; dùng CLEAN để loại bỏ ký tự điều khiển. |
8. Kết luận
Tách số và chữ trong một ô Excel là một kỹ năng cơ bản nhưng quan trọng trong công việc xử lý dữ liệu. Dựa vào mức độ phức tạp của dữ liệu và công cụ bạn có, bạn có thể chọn một trong các phương pháp sau:
- Công thức thủ công (
LEFT,RIGHT,MID,FIND,SEARCH) – thích hợp cho dữ liệu ngắn, dễ hiểu, và không cần tự động hóa. - Hàm mới trong Excel 365 (
TEXTSPLIT,REGEXEXTRACT) – nhanh, mạnh mẽ và linh hoạt. - Power Query – tốt cho dữ liệu lớn, cần tái sử dụng quy trình, tự động.
- Macro VBA – thích hợp khi quy trình tách phức tạp, cần tùy biến cao và có thể lặp lại nhiều lần.
Tùy vào yêu cầu thực tế và độ phức tạp của dữ liệu, bạn có thể kết hợp các công cụ này để đạt được kết quả tối ưu nhất. Đừng quên kiểm tra kỹ dữ liệu sau khi tách để tránh mất mát thông tin quan trọng. Chúc bạn thành công trong việc xử lý dữ liệu Excel!

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ẻ.
