Bạn đang đau đầu vì bảng dữ liệu Excel hỗn độn, số và chữ lẫn lộn khiến việc phân tích thông tin trở nên khó khăn? Đừng lo, với vai trò là một chuyên gia trong lĩnh vực xử lý dữ liệu, tôi sẽ chia sẻ với bạn bí kíp lọc số trong Excel cực kỳ hiệu quả, giúp bạn tách biệt số và chữ một cách dễ dàng, nhanh chóng như một chuyên gia thực thụ!
Tại Sao Phải Lọc Số Trong Excel?
Trong công việc, việc nhận được dữ liệu “bát nháo” với số và chữ nằm chung trong một ô là điều không hiếm gặp. Ví dụ, bạn nhận được danh sách khách hàng với địa chỉ dạng “234 Summerset Avenue”, việc tách số nhà và tên đường là vô cùng cần thiết để phân loại và tìm kiếm thông tin.
Thay vì mất hàng giờ đồng hồ để xử lý thủ công, bạn hoàn toàn có thể giải quyết vấn đề này chỉ trong nháy mắt với các hàm Excel và VBA.
Các Cách Lọc Số Trong Excel
Dưới đây là 2 phương pháp lọc số trong Excel hiệu quả, phù hợp với cả người mới bắt đầu và người dùng nâng cao:
1. Sử Dụng Hàm Excel
Phương pháp này tận dụng sức mạnh của các hàm TEXTJOIN, MID, IFERROR, ROW/SEQUENCE (cho Excel 365 & 2019).
Công thức chung:
- Cho Excel 365 & 2019:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1, ""))
hoặc=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
Giải thích công thức:
- ROW(INDIRECT(“1:”&LEN(A2))) hoặc SEQUENCE(LEN(A2)): Tạo chuỗi số thứ tự từ 1 đến độ dài dữ liệu trong ô (ví dụ: “234 Summerset Avenue” có độ dài 20 => chuỗi số {1;2;3;…;20}).
- MID(A2, {1;2;3;…;20}, 1): Tách từng ký tự trong ô dữ liệu.
- Nhân với 1: Giữ nguyên số, biến chữ cái thành #VALUE!.
- IFERROR: Chuyển #VALUE! thành “”.
- TEXTJOIN(“”, TRUE, … ): Nối các ký tự đã xử lý, bỏ qua khoảng trống.
Ví dụ:
Áp dụng công thức =TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
cho ô A2 chứa “234 Summerset Avenue” sẽ cho kết quả là “234”.
2. Sử Dụng Hàm Tự Tạo VBA
Phương pháp này phù hợp với mọi phiên bản Excel, đặc biệt hữu ích khi xử lý dữ liệu lớn.
Đoạn code VBA:
Function RemoveText(str As String)
Dim sRes As String
sRes = ""
For i = 1 To Len(str)
If True = IsNumeric(Mid(str, i, 1)) Then
sRes = sRes & Mid(str, i, 1)
End If
Next i
RemoveText = sRes
End Function
Cách sử dụng:
- Mở VBA Editor (Alt + F11).
- Chèn một Module mới.
- Copy và dán đoạn code trên vào Module.
- Sử dụng hàm
=RemoveText(A2)
trong ô Excel (A2 là ô cần xử lý).
Ngoài ra, bạn có thể tham khảo thêm cách sử dụng Regular Expression trong VBA để tối ưu tốc độ xử lý dữ liệu.
Lọc Bỏ Số, Giữ Lại Chữ
Tương tự như lọc số, bạn có thể lọc bỏ số và giữ lại chữ cái bằng cách thay đổi một chút trong công thức hoặc code VBA.
Công thức Excel:
=TRIM(TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), "")))
Code VBA:
Function RemoveNumbers(str As String)
'--- Code tương tự như RemoveText, thay đổi điều kiện kiểm tra IsNumeric ---'
End Function
Kết Luận
Với những bí kíp lọc số trong Excel mà tôi đã chia sẻ, bạn đã có thể tự tin xử lý mọi bảng dữ liệu “khó nhằn” một cách nhanh chóng và hiệu quả. Hãy thử áp dụng ngay và chia sẻ kết quả với tôi nhé!