Có thể bạn quan tâm: Tách Cột Họ Và Tên Trong Excel 2026
Giới thiệu chung
Trong môi trường doanh nghiệp, dữ liệu về khách hàng, đối tác thường được lưu trữ trong bảng tính Excel. Tuy nhiên, dữ liệu này thường được nhập vào một ô duy nhất, ví dụ: Nguyễn Văn A 0123456789. Việc tách riêng tên và số điện thoại không chỉ giúp quản lý dữ liệu dễ dàng hơn, mà còn hỗ trợ cho việc phân tích, tìm kiếm, và xuất dữ liệu sang các hệ thống khác. Bài viết này sẽ hướng dẫn bạn cách tách tên và số điện thoại trong Excel bằng nhiều phương pháp khác nhau: công thức đơn giản, công thức phức tạp, Power Query, và VBA. Bạn sẽ được trang bị đầy đủ kiến thức để xử lý dữ liệu theo nhu cầu của mình.
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
1. Chuẩn bị dữ liệu mẫu
Trước khi bắt đầu, hãy giả sử bạn có một cột dữ liệu như sau, đặt trong cột A từ ô A2:
| A |
|---|
| Nguyễn Văn A 0123456789 |
| Trần Thị B 0987654321 |
| Lê Văn C 0912345678 |
| Phạm Anh D 0909876543 |
Trong bài viết, tôi sẽ dùng A2:A5 làm vùng dữ liệu mẫu. Bạn có thể điều chỉnh địa chỉ vùng dữ liệu tùy theo thực tế.
Có thể bạn quan tâm: Tách Một Cột Thành Nhiều Cột Trong Excel
2. Phương pháp 1: Công thức Excel cơ bản
2.1. Tách số điện thoại (định dạng 10 hoặc 11 chữ số)
Sử dụng công thức TRIM để xóa khoảng trắng thừa, RIGHT để lấy số cuối cùng, và LEN để kiểm tra độ dài:
=TRIM(RIGHT(A2, 11))
Giải thích:
– RIGHT(A2, 11) lấy 11 ký tự cuối cùng.
– TRIM loại bỏ khoảng trắng thừa (nếu số điện thoại là 10 chữ số, phần cuối sẽ là ” 0123456789″ → “0123456789”).
2.2. Tách tên
Sử dụng công thức LEFT cùng với FIND-analysis:
=TRIM(LEFT(A2, FIND(" ", A2, FIND(" ", A2)+1)-1))
Giải thích:
– FIND(" ", A2) tìm vị trí khoảng trắng đầu tiên.
– FIND(" ", A2, FIND(" ", A2)+1) tìm vị trí khoảng trắng thứ hai.
– LEFT(A2, …-1) lấy phần chuỗi trước khoảng trắng thứ hai, tức là tên đầy đủ.
2.3. Kết quả
| A | B (Tên) | C (Số điện thoại) |
|---|---|---|
| Nguyễn Văn A 0123456789 | Nguyễn Văn A | 0123456789 |
| Trần Thị B 0987654321 | Trần Thị B | 0987654321 |
| Lê Văn C 0912345678 | Lê Văn C | 0912345678 |
| Phạm Anh D 0909876543 | Phạm Anh D | 0909876543 |
Tip: Nếu dữ liệu có chiều dài khác (ví dụ tên có nhiều từ hơn), công thức cần điều chỉnh.
3. Phương pháp 2: Công thức nâng cao với LET và FILTERXML
3.1. Tách số điện thoại sử dụng FILTERXML
Nếu số điện thoại không nhất thiết là 10 hoặc 11 chữ số, ta có thể dùng FILTERXML để lấy chuỗi ký tự cuối cùng có dạng số:
=TRIM(FILTERXML("<t><s>" & SUBSTITUTE(A2, " ", "</s><s>") & "</s></t>", "// duplicated"))
Lýográfico: Công thức này chuyển chuỗi thành XML, sau đó lấy phần tử cuối cùng. Tuy nhiên, FILTERXML chỉ hỗ trợ ở Excel 2026 trở lên và có thể gây lỗi nếu có ký tự đặc biệt.
3.2. Tách tên với LET
=LET(txt, TRIM(A2), pos, FIND(" ", txt, FIND(" ", txt)+1), LEFT(txt, pos-1))
LET giúp đặt tên biến tạm để làm rõ công thức và cải thiện hiệu suất.
4. Phương pháp 3: Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ trong Excel giúp xử lý dữ liệu phức tạp mà không cần viếtvilla code.
4.1. Nhập dữ liệu vào Power Query

Có thể bạn quan tâm: Tách Số Và Chữ Trong Một Ô Excel: Hướng Dẫn Chi Tiết
- Chọn vùng dữ liệu A2:A5.
- Vào thẻ Data → From Table/Range (đảm bảo chọn “My table has headers” nếu có).
- Power Query sẽ mở cửa sổ chỉnh sửa query.
4.2. Tách số điện thoại
- Thêm cột mới: Add Column → Custom Column.
- Đặt tên:
Số điện thoại. - Công thức:
Text.End(Column1, 11)(hoặcText.End(Column1, 10)tùy độ dài).
4.3. Tách tên
- Thêm cột mới: Add Column → Custom Column.
- Đặt tên:
Tên. - Công thức:
Text.BeforeDelimiter(Column1, Text.PositionOf(Column1, " ", 1)+1)
4.4. Xóa cột gốc và sắp xếp
- Xóa cột gốc Column1.
- Sắp xếp lại cột theo thứ tự
Tên,Số điện thoại. - Nhấn Close & Load để đưa dữ liệu trở lại Excel.
Ưu điểm: Power Query tự động xử lý dữ liệu khi cập nhật, hỗ trợ các thao tác phức tạp như lọc, nhóm, pivot.
5. Phương pháp 4: VBA (Macro)
Nếu bạn cần tự động hóa quy trình hoặc làm việc với hàng triệu dòng, VBA là công cụ phù hợp.
5.1. Mã VBA mẫu
Sub SplitNamePhone() Dim ws As Worksheet Dim rng As Range, cell As Range Dim namePart As String, phonePart As String Dim lastSpace As Long, secondSpace As Long Set ws = ThisWorkbook.Worksheets("Sheet1") ' Đổi tên sheet nếu cần Set rng = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) ws.Columns("B:C").ClearContents ws.Cells(1, 2).Value = "Tên" ws.Cells(1, 3).Value = "Số điện thoại" For Each cell In rng If Len(cell.Value) > 0 Then ' Tìm vị trí khoảng trắng thứ hai secondSpace = InStr(InStr(cell.Value, " ") + 1, cell.Value, " ") If secondSpace > 0 Then namePart = Trim(Left(cell.Value, secondSpace - 1)) phonePart = Trim(Mid(cell.Value, secondSpace + 1)) Else namePart = Trim(cell.Value) phonePart = "" End If cell.Offset(0, 1).Value = namePart cell.Offset(0, 2).Value = phonePart End If Next cell
End Sub
5.2. Hướng dẫn sử dụng
- Mở Excel → Developer → Visual Basic.
- Chèn một module mới → Paste mã trên.
- Chạy macro
SplitNamePhone.
Lưu ý: Macro sẽ chạy דזש nhanh, ngay cả với số lượng dữ liệu lớn (vì VBA chạy trực tiếp trên bộ nhớ).
6. 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 |
|---|---|---|
Công thức FIND trả về lỗi #VALUE! | Không có khoảng trắng thứ hai (tên thiếu từ) | Kiểm tra dữ liệu, hoặc sử dụng IFERROR để xử lý |
RIGHT lấy sai số điện thoại | Dữ liệu có khoảng trắng thừa (ví dụ 0123456789) | Sử dụng TRIM trước khi lấy |
| Power Query không nhận dạng số điện thoại | Định dạng cell là Text | Đặt cell dạng Text hoặc dùng Text.Trim |
| VBA chạy chậm | Lặp vòng lặp từng ô trên hàng triệu dòng | Sử dụng mảng (Array) để xử lý nhanh hơn |
Dữ liệu có ký tự đặc biệt (ví dụ -, .) | Công thức Text.End lấy toàn bộ chuỗi | Sử dụng Text.Select để lấy chỉ số số |
7. Mở rộng: Tách dữ liệu trong trường hợp có nhiều biến thể
7.1. Số điện thoại có ký tự phân cách
Nếu số điện thoại được viết kèm dấu - hoặc . ( 012-345-6789 nameof), bạn có thể dùng công thức SUBSTITUTE để loại bỏ:
=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "-", ""), ".", ""), " ", ""))
Sau đó lấy 10 hoặc 11 ký tự cuối cùng.
7.2. Định dạng tên khác nhau
Nếu tên có dấu cách nhiều hơn (ví dụ
Nguyễn Văn A,Trần Thị B), bạn có thể dùng công thứcCOUNTIFđể xác định số từ, sau đó lấy phần cuối.Nếu tên có dấu
,(ví dụA, Nguyễn Văn), bạn có thể sử dụngTEXTBEFORE/TEXTAFTER(Excel 365) để tách.
8. Kết luận
Việc tách tên và số điện thoại trong Excel không phải là một bài toán phức tạp nếu bạn biết đúng công cụ và công thức. Bài viết trên đã trình bày các phương pháp từ công thức đơn giản, công thức nâng cao, Power Query cho tới VBA, đồng thời đưa ra các mẹo xử lý lỗi và mở rộng tùy theo dữ liệu thực tế. Bạn có thể chọn phương pháp phù hợp với quy mô dữ liệu và mức độ tự động hóa mong muốn.
Hãy thử áp dụng ngay vào bảng tính của mình, và nếu gặp bất kỳ khó khăn nào, bạn có thể tìm kiếm thêm tài liệu chi tiết hoặc tham khảo cộng đồng Excel để được hỗ trợ. Chúc bạn làm việc hiệu quả và dữ liệu luôn được tổ chức rõ rà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ẻ.
