Tách Tên Và Số Điện Thoại Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

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.

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

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ả

AB (Tên)C (Số điện thoại)
Nguyễn Văn A 0123456789Nguyễn Văn A0123456789
Trần Thị B 0987654321Trần Thị B0987654321
Lê Văn C 0912345678Lê Văn C0912345678
Phạm Anh D 0909876543Phạm Anh D0909876543

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

Tách Tên Và Số Điện Thoại Trong Excel
Tách Tên Và Số Điện Thoại Trong Excel
  1. Chọn vùng dữ liệu A2:A5.
  2. Vào thẻ Data → From Table/Range (đảm bảo chọn “My table has headers” nếu có).
  3. Power Query sẽ mở cửa sổ chỉnh sửa query.

4.2. Tách số điện thoại

  1. Thêm cột mới: Add Column → Custom Column.
  2. Đặt tên: Số điện thoại.
  3. Công thức: Text.End(Column1, 11) (hoặc Text.End(Column1, 10) tùy độ dài).

4.3. Tách tên

  1. Thêm cột mới: Add Column → Custom Column.
  2. Đặt tên: Tên.
  3. 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

  1. Mở Excel → Developer → Visual Basic.
  2. Chèn một module mới → Paste mã trên.
  3. 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ânGiả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ạiDữ 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ậmLặp vòng lặp từng ô trên hàng triệu dòngSử 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ỗiSử 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ức COUNTIF để 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ụng TEXTBEFORE / 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!

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