Tôi góp ý với bạn:
1. Input: Dữ liệu của bạn gồm những cột nào, 2 đến 3 cột như thế có ý nghĩa gì?
2. Output: Đầu ra dữ liệu của bạn là ở cột nào, dựa vào cái gì mà biết đó là SDT sai?
3. File demo của bạn đâu?
Bạn này bạn mục đích chính là lọc sdt đúng là được, Dư thiếu gì ta Replace hết là được. Phức tạp quá thêm khổ ^^!Sau khi copy/paste vào 1 cột thì làm điều sau đây:
- dùng công thức sau ở ô B2 và kéo nó xuống
=Match(Len($A2), { 0, 10, 12 }, True)
- filter cột A:B với trị 2
- Copy Visible/ Paste sang chỗ mong muốn.
Tuy nhiên cách dùng LEN không hiệu nghiệm lắm. "012 345-678" cũng là 11 ký tự nhưng thực tế chỉ là 9 số.
Nếu có thể LEN(SUBSTITUTE(SUBSTITUTE($A2, " ", ""), "-", "")) thì tốt hơn. Nhưng vẫn bị vướng số ở ô A11.
Có vấn đề khoảng trống giữa các số. Chút mò !, giờ ăn cơm, hehe
Bài đã được tự động gộp:
Chọn hết cột A, Ctrl + H, thay thế toàn bộ dấu cách thành không có gì hết.
Bỏ công thức này vào B2
Mã:=IF(OR(LEN(A2)<10,LEN(A2)>11),"",A2)
Bạn dùng thêm 1 cột phụ (Ví dụ cột C) lập công thức tại C2View attachment 230176
Bác cho em hỏi thêm là có cách nào để điền số 0 vào trước các số này không ạ?
Đại loại là điền thêm số 0 vào trước các số bắt đầu không phải bằng 0
Rồi sau đó mới tách lấy số điện thoại đúng
Vì nếu chỉ lấy 10 số + 11 số thì những số điện thoại thiếu số 0 chỉ có 9 số sẽ bị sót
=IF(VALUE(LEFT(A2,1))>0,0&A2,A2)
Bạn dùng thêm 1 cột phụ (Ví dụ cột C) lập công thức tại C2
Rồi Copy paste giá trị ngay tại cột đó để loại công thức, cuối cùng Paste lại qua cột A, xóa cột CMã:=IF(VALUE(LEFT(A2,1))>0,0&A2,A2)