Lọc dữ liệu có điều kiện từ 2 cột trong bảng tính

Liên hệ QC

bugatino

Thành viên chính thức
Tham gia
14/7/10
Bài viết
54
Được thích
3
Xin chào tất cả thành viên diễn đàn giaiphapexcel. Mình đang có một vấn đề chưa giải quyết được:
Trong bảng tính của mình có chứa thông tin của khách hàng, trong đó có 2 cột Mobile 1 và Email 1.
Không phải ai cũng có đầy đủ thông tin mobile và email. Mục đích mình muốn bây giờ là loai ra tất cả khách hàng không có cả 2 thông tin trên (không có cả mobile và email), giữ lại những khách hàng nào có mobile, email hoặc cả 2.
Bảng tính mình gửi kèm bên dưới. Cám ơn các bạn rất nhiều!
 

File đính kèm

  • Customer.xlsx
    127.7 KB · Đọc: 269
Bạn chỉ cần dùng Filter là được!

Bạn chọn khối ô từ A1 đến L1, sau đó bạn vào Data chọn Filter.

Tại cột Mobil1 bạn click vào mũi tên, bỏ chọn 0 và blank rồi OK

Tiếp theo, Tại cột Email1 bạn cũng bỏ chọn blank đi

>> Như vậy là bạn đã lọc được những người đang có 2 điều kiện trên rồi. Bạn cứ thế mà chọn khối ô đang hiển thị trên bảng đó rồi copy sang sheet khác là được rồi.

Làm thử đi nhé!
 

File đính kèm

  • Customer(1).xlsx
    135.5 KB · Đọc: 180
Lần chỉnh sửa cuối:
Lọc theo L_N tức là lọc Mobile1 <> "" And EMail1 <> "" (Có cả 2 thứ)

Trong khi tác giả cần là Mobile1 <> "" Or EMail1 <> "" (Chỉ cần có 1 trong 2 thứ)

Do AutoFilter 2 cột bao giờ cũng là And 2 điều kiện nên phải xoay cách khác. Suy luận 1 chút:

Not (dk1 And dk) = Not dk1 Or Not dk2

Vậy thay vì lọc NonBlank để lấy, ta lọc Blank để xoá.
 
Lọc dữ liệu nhanh bằng hàm BS_SQL của A-Tools

Xin chào tất cả thành viên diễn đàn giaiphapexcel. Mình đang có một vấn đề chưa giải quyết được:
Trong bảng tính của mình có chứa thông tin của khách hàng, trong đó có 2 cột Mobile 1 và Email 1.
Không phải ai cũng có đầy đủ thông tin mobile và email. Mục đích mình muốn bây giờ là loai ra tất cả khách hàng không có cả 2 thông tin trên (không có cả mobile và email), giữ lại những khách hàng nào có mobile, email hoặc cả 2.
Bảng tính mình gửi kèm bên dưới. Cám ơn các bạn rất nhiều!


Gửi bạn "tuyệt tác phẩm" làm bằng hàm BS_SQL của A-Tools. Tôi làm thêm một sổ lọc theo loại email ngoài yêu cầu của bạn.

Trước khi mở file này, bạn hãy cài đặt A-Tools Free - Bản miễn phí.
 

File đính kèm

  • Customer.rar
    120.6 KB · Đọc: 228
Gửi bạn "tuyệt tác phẩm" làm bằng hàm BS_SQL của A-Tools. Tôi làm thêm một sổ lọc theo loại email ngoài yêu cầu của bạn.

Trước khi mở file này, bạn hãy cài đặt A-Tools Free - Bản miễn phí.

Mình đã cài A-Tool và đang xem file bạn sửa giùm mình!
Mình muốn hỏi thêm một chút, có cách nào khác không cần dùng tool (dùng hàm để lọc) không vậy bạn ?
Cám ơn bạn nhiều!
 
Mình đã cài A-Tool và đang xem file bạn sửa giùm mình!
Mình muốn hỏi thêm một chút, có cách nào khác không cần dùng tool (dùng hàm để lọc) không vậy bạn ?
Cám ơn bạn nhiều!

Có các cách:

1. Dùng AutoFilter hoặc Advance Filter
Với cách này, bạn nên tạo cột phụ gọi là "LỌC" ở cuối bảng.
Đặt công thức
=IF(AND(COUNTA(H8:I8)>0;COUNTA(J8:K8)>0);1;0)
Copy công thức trên cho tất cả các dòng trong bảng. Với công thức trên, bản ghi thỏa mãn điều kiện sẽ có số 1 ở cột LỌC

Nhiệm vụ của bạn bây giờ là chọn toàn bộ vùng dữ liệu, vào menu Data->AutoFilter
Tại cột "LỌC" bạn chọn số 1.

2. Dùng kỹ thuật lập Query trong Excel, hãy chép đoạn SQL mà tôi xây dựng trong A-Tools lắp vào đoạn SQL Statement là được.
3. Dùng kỹ thuật lập trình VBA, sử dụng đối tượng ADO hoặc DAO để chạy câu lệnh truy vấn SQL, và cũng dùng câu khai báo SQL tôi làm trong A-Tools lắp vào Recordset.Open(...) là được.

Cách 2,3 tôi chỉ ra hướng giải quyết chứ không nói cặn kẽ vì phức tạp hơn nhiều.
 

File đính kèm

  • Customer.rar
    122.4 KB · Đọc: 157
Lần chỉnh sửa cuối:
Dùng Autofilter theo bài 3, không cần cột phụ. Và không cần đại đao ATool.
- Chép dữ liệu sang sheet mới
- Filter cột Mobile1: Blank
- Filter cột EMail1: Blank
- Xoá tất cả dòng hiện.
- Bung Autofilter ra, còn lại các dòng đạt yêu cầu.
 
Nói thêm là dùng A-Tools chỉ cần thiết với nhu cầu bảng dữ liệu lọc linh hoạt và với yêu cầu lọc phức tạp cao. Nhu cầu đơn giản thì nên dùng AutoFilter theo cách 1.

Nếu muốn linh hoạt như bảng dưới đây thì là A-Tools. Hãy để ý dòng co giãn.


 
Lần chỉnh sửa cuối:
Em đang có yêu cầu bài toán y như thế này mà ko biết xử lý sao, nhờ các anh chị em giải giúp.
Em cần sheet LGH kết xuất dữ liệu từ INFO sang. Lọc theo HBL để ra số cont (từ A23, A24,...) và cũng co giãn dòng tùy theo số lượng cont theo HBL, nếu quá 12 cont thì chuyển thành A23 = "see attach file" và kết xuất số cont ra sheet trống bên cạnh. Sau đó sẽ kết xuất ra file pdf để gửi cho khách hàng.
Và sheet INFO có thể các thông tin trùng nhau ko cần phải nhập nữa, chỉ cần nhập 1 lần để kết xuất dữ liệu ra.
Cám ơn đã đọc tin và mong sớm nhận đc sự trợ giúp của các tiền bối.
 

File đính kèm

  • Lenh giao hang.xlsx
    49.3 KB · Đọc: 36
Web KT
Back
Top Bottom