Tải bản đầy đủ (.pdf) (12 trang)

trích lọc dữ liệu trong excel với công cụ advanced filter

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 12 trang )

TRÍCH LỌC DỮ LIỆU VỚI CÔNG CỤ ADVANCED FILTER
Trích lọc dữ liệu (DL) là thao tác rút trích dữ liệu thỏa mãn 1
hay nhiều điều kiện nào đó từ dữ liệu gốc (thô). Để trích lọc
DL thì trong Ms Excel ta ta thường sử dụng các cách : Lọc
bằng công cụ Filter (Auto/Advanced Filter), Lọc bằng công
thức, Lọc bằng VBA … Mỗi cách lọc có ưu điểm và hạn chế
riêng của nó, tuy thế sử dụng công cụ có sẵn (ở đây là Filter)
là đơn giản và cho kết quả nhanh chóng đáp ứng yêu cầu
người sử dụng.

Filter

Advanced
Filter

Trong công cụ Filter của Ms Excel có chia thành 2 loại đó là
Auto Filter và Advanced Filter: (1) Auto Filter thì khá đơn giản: bạn chỉ cần đặt con trỏ vào
vùng DL cần lọc, vào Data/[Auto]Filter khi này tại vùng DL dòng tiêu đề xuất hiện các nút xổ
cho phép ta click chọn lọc tiêu chuẩn với từng cột này  từ đó kết quả hiện thị nhanh chóng
tại vùng DL đó. Hạn chế của cách này là ứng với mỗi cột ta chỉ lọc được với 1 điều kiện. (2)
Advanced Filter thì sao? Đúng như tên gọi của nó, công cụ không những khắc phục được hạn
chế của AutoFilter mà nó còn cung cấp thêm nhiều chức năng hay – đây cũng chính là nội
dung chuyên đề này chúng ta đề cập tới, các mục tới sẽ giới thiệu & làm rõ công cụ này.
A. CÁC BƯỚC CƠ BẢN SỬ DỤNG ADVANCED FILTER
Để dễ dàng hiểu và thực hiện sử dụng công cụ Advanced Filter để lọc dữ liệu, ta sẽ xét quá ví
dụ giản đơn sau:
Ví dụ 0: Giả tử ta có 1 cơ sở dữ liệu nguồn như bảng sau (vùng $A$1:$D$8 như hình bên trái).
Giờ ta làm thế nào để trả lời câu hỏi những đơn mua hàng có có số tiền >15000 của khách
hàng nào và vào ngày mua nào? (như kết quả mong muốn ở tại cột H, I trong hình bên phải)

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi



Page 1


Để thực hiện Advanced Filter, ta chỉ cần thực hiện 2 bước chính sau: (b1) Thiết lập
vùng điều kiện, (b2) Chạy công cụ Advanced Filter.
Bước 1: Thiết lập vùng điều kiện
Vùng điều kiện (Criteria range) là 1 vùng cells chứa các điều kiện lọc ta cần xét, nó bao gồm
dòng tiêu đề các cột cần xét điều kiện và các dòng bên dưới là điều kiện tương ứng với cột
đó. Tùy thuộc vào yêu cầu lọc của từng bài mà vùng điều kiện này là khác nhau (vùng này sẽ
được làm sáng tỏ dần qua các ví dụ trong chuyên đề này)
Với Ví dụ 0 thì vùng điều kiện cần thiết lập là như hình minh họa sau (vùng $F$1:$F$2, vì theo
đề bài ta cần lọc các đơn hàng với Tiền>15000)
- Vùng $F$1:$F$2 được gọi là vùng điều kiện.
- Dòng tiêu đề F1 phải có tên chính xác với một trong số các cột
trong dòng tiêu đề của vùng cơ sở dữ liệu (trùng với 1 trong
số các tiêu đề A1:D1 trong vùng cở sở dữ liệu, tốt nhất ta nên
copy cho chuẩn)
- Ô F2 chưa điều kiện lọc, các điều kiện lọc có thể là :
1. > : Lớn hơn (>15000)
2. < : Nhỏ hơn (<15000)
3. <= : Nhỏ hơn hoặc bằng (<=15000)
4. >= : Lớn hơn hoặc bằng (>=15000)
5. <> : Khác hay không bằng (<>15000)

Bước 2: Chạy công cụ Advanced Filter
Để chạy công cụ Advanced Filter thì ta thực hiện như sau: Đặt con trỏ ô hiện hành ở 1
ô nào đó vùng cơ sở dữ liệu cần lọc (ở ví dụ 0 ta đặt ô hiện hành nằm vùng $A$1:$D$8), sau
đó:
 Với Excel 2003 : Vào menu Data / Filter / Advanced Filter (như hình trái)

 Với Excel 2007 - 2010 : Trên Ribbon Data / Advanced Filter (như hình phải)

EXCEL 2003
EXCEL 2007-2010

Ta sẽ thấy hộp hội thoại Advanced Filter hiện ra và chờ nhập các thông số như hình sau
Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 2


Ta sẽ thấy hộp hội thoại Advanced Filter hiện ra và chờ nhập các thông số như hình sau
Giải thích các thông số của hộp hội thoại :
- Filter the list, in place : Lọc dữ liệu tại chỗ
- Copy to another location : Copy sang vùng khác những
dữ liệu thỏa điều kiện
- List range : Vùng cơ sở dữ liệu cần lọc
- Criteria range : Vùng dữ liệu điều kiện
- Copy to : Nếu bạn muốn copy sang nơi khác hãy chọn nơi
bắt đầu – còn gọi là vùng kết quả.
- Unique records only : Lọc những mẩu tin duy nhất (sẽ
giới thiệu chi tiết trong ví dụ tiếp)
- OK : để hoàn tất thực hiện thao tác.
Chú ý: Đối với trường hợp Vùng Copy to (vùng kết quả)
 trường hợp 1: nếu vùng nàychỉ là 1 ô đích trống, thì kết quả là tất cả các cột của vùng cơ
sở dữ liệu sẽ được lấy ra (trường hợp lấy tất cả các cột dữ liệu);
 trường hợp2: nếu vùng này chỉ là các ô chứa liệt kê một số tiêu đề cột, thì kết quả chỉ dữ
lệu các cột có tiêu đề liệt kê sẽ được lọc ra (trường hợp chỉ lấy các cột dữ liệu được chỉ
định) – ví như ở VD0 ta chỉ liệt kê 2 cột [Ngày] & [Khách hàng] ($H$1:$H$2)


Trở lại ví dụ 0 thì các thông số hộp thoại được thiết lập như trên
hình, cụ thể là: tích chọn Copy to another location, List range
chọn vùng $A$1$D$8, Criteria range chọn vùng $F$1:$F$2, và
Tạo tiêu đề cho vùng kết quả
Copy to chọn vùng $H$1:$H$2 (vùng này đã được nhập sẵn các
tiêu đề cần lấy như hình bên trái)

Sau đó bấm OK, kết quả sẽ được
như hình bên phải
KẾT QUẢ

Lưu ý:
Để sử dụng Advanced Filter một cách hữu hiệu thì cơ cở dữ liệu (List Range) nên đảm bảo
được các yêu cầu sau:
- Hàng đầu tiên là hàng tiêu đề, mỗi một cột phải có một tiêu đề duy nhất – tiêu đề trùng lặp
là nguyên nhân Advanced Filter cho kết quả không đúng.
- Hàng tiếp theo trở đi chứa dữ liệu
- Trong vùng dữ liệu không được chứa dòng trống, không được hợp ô (merged cells).
- Kết thúc một cơ sở dữ liệu chừa một dòng trống phía dưới và một cột trống bên phải của cơ
sở dư liệu đó.
Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 3


B. CÁC TRƯỜNG HỢP ÁP DỤNG VÀ VÍ DỤ MINH HỌA ADVANCED FILTER
1. Ví dụ 1 : Lọc các mẩu tin duy nhất
Yêu cầu : Hãy lọc duy nhất những tên khách hàng xuất hiện trong bảng cơ sở dữ
liệu trên sang vùng A12.
Bước 1 : Chọn vùng cơ sở dữ liệu.

Bước 2 : Vào ribbon Data click Advanced Filter và check các thông số như hình sau :

Bước 3 : Bấm OK để kết thúc thao tác.
Kết quả hiển thị như sau :

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 4


2. Ví dụ 2 : Lọc với điều kiện AND và OR
a/ Điều kiện AND :
Yêu cầu : Lọc những khách hàng mua sản phẩm kem và có số tiền hơn hơn $15.000
sang vùng A12.
Bước 1 : Thiết lập vùng điều kiện F1 :G2 như hình
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Bấm OK để kết thúc thao tác.
Kết quả hiển thị như sau :

Lưu ý : Các điều kiện And phải cùng nằm với nhau trên một hàng.
b/ Điều kiện OR :
Yêu cầu : Lọc hoặc những khách hàng mua sản phẩm kem hoặc có số tiền lớn hơn
$15000
Bước 1 : Thiết lập vùng điều kiện F1:G3 như hình.
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter
Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 5



Bấm OK để kết thúc thao tác.
Kết quả được hiển thị như sau :

Lưu ý : Các điều kiện OR không cùng nằm với nhau trên một hàng.
3. Ví dụ 3 : Lọc với các ký tự đại diện *, ?, ~
a/ Ký tự * : Trong Excel thì ký tự * được đại diện cho một chuỗi ký tự.
Yêu cầu : Lọc tất cả khách hàng có họ Nguyễn
Bước 1 : Thiết lập vùng điều kiện F1:G3 như hình.
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 6


Kết quả hiển thị như sau :

b/ Ký tự ? : Trong excel ký tự ? đại diện cho 1 ký tự duy nhất
Yêu cầu : Chèn thêm 1 cột mã SP như hình vẽ và lọc những mẩu tin có Mã SP là 3 ký
tự và bắt đầu bằng S và kết thúc bằng H.
Bước 1 : Thiết lập vùng điều kiện như G1:G2
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 7


Kết quả hiển thị như sau :


Như vậy khi đặt điều kiện là S?H thì các mã sản phẩm được lọc là SHH, SAH
c/ Ký tự ~ :
Yêu cầu : Lọc những mẩu tin có Mã SP là K*HH
Nếu vùng điều kiện chúng ta thiết lập là K*HH thì Excel sẽ hiểu chúng ta muốn lọc
những mẩu tin có mã SP bắt đầu bằng K và kết thúc bằng HH và mã SP KAHH
cũng sẽ được liệt kê vào. Vậy chúng ta sẽ phải thiết lập điều kiện thế nào để
Excel hiểu chính xác là chúng ta chỉ muốn lấy mẩu tin có mã SP là K*HH???
Bước 1 : Thiết lập vùng điều kiện như G1 :G2 trong hình
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 8


Kết quả hiển thị sau khi bấm OK như sau :

4. Ví dụ 4 : Lọc Advanced Filter bằng công thức.
Để nghiên cứu làm thế nào có thể lọc Advanced filter bằng công thức thì chúng ta
phải chú ý một số vấn đề sau :
- Vùng điều kiện có tiêu đề cột không giống với tiêu đề cột trong cơ sở dữ liệu, có
thể là dòng trống.
- Ô đặt công thức trong vùng điều kiện phải trả về giá trị là TRUE hoặc FALSE
Ví dụ 4.1 : Từ vùng cơ sở dữ liệu đã cho trên lọc Top 3 mẩu tin có số tiền lớn nhất.
Bước 1 : Thiết lập vùng điều kiện, ta sẽ nhập công thức sau vào vùng điều kiện :
=E2>=LARGE($E$2:$E$8,3)
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi


Page 9


Kết quả sau khi lọc được như sau :

Giải thích : Hàm Large() sẽ cho kết quả là giá trị lớn thứ 3 trong dãy số liệu của
vùng $E$2:$E$8. Trong quá trình lọc lần lượt từng giá trị trong vùng từ E2 : E8 sẽ
được đem đi so sánh với kết quả hàm Large() trả về (ở đây Large trả về giá trị
16.250) , giá trị nào thỏa mãn sẽ cho kết quả TRUE và cuối cùng chúng ta được kết
quả như vùng dữ liệu từ A12:E15. Trong cột H tôi có đặt công thức đem từng giá trị
từ E2, E3, E4....E8 so sánh với Large() và có thể thấy những Cells cho kết quả TRUE
đều xuất hiện trong vùng dữ liệu Advanced Filter xuất kết quả ra.
Ví dụ 4.2: Lọc những khách hàng mua hàng nhiều lần trong tháng (mua nhiều hơn
1 lần)
Bước 1: Thiết lập vùng điều kiện, ta nhập công thức sau vào vùng điều kiện
=COUNTIF($B$2:$B$8,B2)>1
Bước 2 : Chọn vùng cơ sở dữ liệu - Vào Ribbon Data click Advanced Filter

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 10


Bấm OK để kết thúc thao tác
Kết quả được như hình sau :

Giải thích : Khi lọc hàm Countif() sẽ lần lượt trả về số lần khách hàng xuất hiện
trong vùng từ $B$2 : $B$8 và đem so sánh kết quả đó với 1, những khách hàng nào
xuất hiện hơn 1 lần sẽ cho kết quả TRUE và những kết quả TRUE này chính là kết

quả mà Advanced Filter cho hiển thị ra ngoài màn hình như trên.
Trên đây là 2 ví dụ vận dụng công thức đơn giản vào các điều kiện lọc của
Advanced Filter, các bạn có thể tìm hiểu thêm nhé.

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 11


C. KẾT LUẬN
Trên đây tôi đã trình bày với các bạn một số ứng dụng của Advanced Filter vào việc
trích lọc dữ liệu, bên cạnh những tác dụng mà Advanced Filter làm được như trên, nó cũng có
một số nhược điểm nhất định :
- Vùng cơ sở dữ liệu phải thỏa mãn 4 điều kiện đã nêu
- Vùng điều kiện thiết lập cũng phải chịu ràng buộc bởi những yếu tố nhất định
như cột tiêu đề phải trùng với tiêu đề cột tại cơ sở dữ liệu.
- Khi cơ sở dữ liệu cũng như vùng điều kiện thay đổi chúng ta phải thực hiện lại
toàn bộ thao tác lọc.
Như vậy để khắc phục những nhược điểm trên chúng ta cần kết hợp thêm một số
phương pháp khác như lọc bằng công thức, lọc bằng VBA...để đạt được kết quả mong muốn.

Trích lọc dữ liệu với công cụ Advanced Filter – hoamattroicoi

Page 12



×