Tài liệu Excel- Tìm hiểu về Advanced Filter - Pdf 95

Phần 1 : Tìm hiểu về Advanced Filter
1/ Cơ sở dữ liệu cho Advanced Filter cần những gì ?
Giả sử ta có một bảng dữ liệu A2 : D20
- Hàng đầu tiên A1 : D1 phải là hàng tiêu đề, hàng này được phân biệt bằng một kiểu
Format khác, như tô đậm chẳng hạn và các từ nên viết liền nhau, không bỏ dấu
Td : cột A chứa ngày tháng, thì A1 được đặt là Ngay. Tương tự, cột B là MaKH, cột C là
MaMH, cột D là SoLuong
- Các hàng chứa dữ liệu phải liên tục, liền nhau
- Không có hàng trống trong CSDL
- Nếu kết thúc một CSDL, bạn phải chừa một hàng trống phía dưới và một cột trống bên
phải của CSDL đó
2/ Vùng điều kiện (Criteria Range) :
Tại vùng này, bạn sẽ cho điều kiện để chỉ những hàng nào đáp ứng được điều kiện này
mới hiển thị ra sau khi trích lọc. Bạn có thể sử dụng một hay nhiều điều kiện để lọc
Thí dụ : Vùng F1:F2 là vùng điều kiện
-Tiêu đề F1 phải chính xác đúng với một trong các tiêu đề (A1 : D1), (nếu bạn muốn trích
lọc cột nào, thì lấy tiêu đề của cột đó đặt làm tiêu đề cho vùng điều kiện này). Td nếu ta
muốn lọc xem các khách hàng nào mua hàng với số lượng nào đó, ta sẽ đặt tại F1 tiêu đề
SoLuong
- Cell F2 sẽ chứa điều kiện. Các điều kiện lọc thường xảy ra là :
a) < : nhỏ hơn (Td : <500, chỉ những số lượng nào nhỏ hơn 500 sẽ được lọc)
b) <= : nhỏ hơn hay bằng (<=500)
c) >= : lớn hơn hay bằng (>=500)
d) > : lớn hơn (>500)
e) = : bằng (=500)
f) <> : khác hay không bằng (<>500)
3/ Vùng trích lọc dữ liệu :
Nếu bạn muốn sau khi lọc dữ liệu xong, dữ liệu mới sẽ được Copy sang một nơi khác, và
bạn chỉ muốn lọc một số cột thôi, thí dụ bạn chỉ muốn lấy cột B và D là cột maKH và cột
SoLuong, bạn sẽ phải đánh tiêu đề MaKH và SoLuong tại vị trí bạn muốn Copy dữ liệu.
Trong trường hợp bạn lấy đủ số cột hiển thị, bạn có thể bỏ qua bước này

Phần 3 : Lọc điều kiện AND và OR
Giả sử CSDL A1: D20 của ta có các cột như trên : Ngaythang, MaKH, MaMH, SoLuong
1/ Điều kiện AND :
Nếu bạn muốn lọc theo điều kiện AND, thí dụ lọc các khách hàng có tên là AA, mua mặt
hàng là HH1, với số lượng >500 thì vùng điều kiện G1:I2 của bạn sẽ như sau :
- Tại G1, bạn gõ MaKH, H1 là MaMH, I1 là Soluong
- Tại G2, bạn gõ AA, H2, bạn gõ HH1, I2 bạn gõ >500
Lưu ý : Các điều kiện AND nằm cùng với nhau trên một hàng
2/ Điều kiện OR :
Nếu bạn muốn lọc theo điều kiện OR, thí dụ lọc hoặc các khách hàng có tên là AA, hoặc
mua mặt hàng là HH1, hoặc mua với số lượng >500 thì vùng điều kiện G1:I4 của bạn sẽ
như sau :
- Tại G1, bạn gõ MaKH, H1 là MaMH, I1 là Soluong
- Tại G2, bạn gõ AA, H3, bạn gõ HH1, I4 bạn gõ >500
Lưu ý : Các điều kiện OR không nằm cùng với nhau trên một hàng. Bạn thấy không,
vùng đK lọc AND là G1:I2, trong khi vùng điều kiện OR là G1:I4
Phần 4 : Lọc với các ký tự đại diện *, ?, ~
1/ Ký tự * :
Nếu cột MaKH của bạn bao gồm các mã khách hàng khác nhau, trong đó có khách hàng :
AAB, BAA, ABC, BAB bạn muốn lọc các khách hàng có chuỗi ký tự AB thì vùng điều
kiện lọc bạn sẽ ghi là : *AB*
Các mã KH là AAB, ABC, BAB sẽ được trích lọc ra khỏi CSDL
Như vậy, ký tự * đại diện cho một chuỗi ký tự
2/ Ký tự ? :
Ký tự ? đại diện cho một ký tự duy nhất trong chuỗi, ở thí dụ trên nếu ta đặt vùng điều
kiện là : BA? thì các mã KH BAA, BAB sẽ được lọc
3/ Ký tự ~ :
Nếu trong mã KH của bạn có ký tự *, thí dụ A*B, khi bạn đặt điều kiện lọc là A*B, Excel
sẽ ngầm hiểu là bạn muốn lọc tất cả các KH có ký tự đầu là A và ký tự cuối là B, trong
khi đó, bạn chỉ muốn lọc đúng mã KH là A*B mà thôi. Trong trường hợp này, bạn phải

Trích nguyên văn:
Vùng ListRange là A2:C20, CriteriaRange là F1:F2. Yêu cầu lọc các hàng ở cột A có mã
là giá trị ô A1 (lúc này là SP01) và cột C có SL > giá trị ô B1 (Lúc này là 10). Tại ô F2
đặt công thức =AND(A3=A$1, C3>B$1).
AdvancedFilter (AF) sẽ chạy duyệt qua tất cả các Record có trong ListRange, (trừ dòng
tiêu đề) đối chiếu lần lượt với điều kiện ở vùng CriteriaRange, nhưng AF sẽ tham chiếu
biểu thức ở CriteriaRange với các dòng tương ứng.
Cụ thể, tại dòng thứ 1(dòng 3), Advanced sẽ kiểm tra biểu thức =AND(A3=A$1,
C3>B$1) = FALSE
Dòng 4: =AND(A4=A$1, C4>B$1) = FALSE
Dòng 5: =AND(A5=A$1, C5>B$1) = FALSE
Dòng 6: =AND(A6=A$1, C6>B$1) = TRUE
Tương tự như vậy thì AF chỉ trích ra các dòng 6, 8 và 13, tức các dòng có điều kiện
TRUE.
Chỉ cần thay đổi dấu cố định ở ô F2 thành =AND(A3=A1, C3>B1), AF sẽ cho kết quả
hoàn toàn khác.
Dòng 3: =AND(A3=A1, C3>B1) = FALSE
Dòng 4: =AND(A4=A2, C4>B2) = FALSE
Dòng 5: =AND(A5=A3, C5>B3) = FALSE
Dòng 6: =AND(A6=A4, C6>B4) = FALSE
Do đó, địa chỉ tham chiếu ở CriteriaRange là rất quan trọng, có thể nói chỉ cần thay đổi
biểu thức ở CriteriaRange ta có thể trích lọc theo ý muốn của mình.
Theo em dùng biểu thức điều kiện hay hơn vì CriteriaRange chỉ dùng 1 ô, nếu dùng nhiều
ô thì có thể gặp rắc rối với các giá trị ngày hay các kiểu dữ liệu khác nhau. Nhưng dùng 1
ô thì phải nắm chác "cách" mà AF làm việc.
Có 1 điều mà AF lẫn AutoFilter đều giống nhau ở chỗ, hình như giá trị kiểm tra của AF
hay Auto đêu quy ra kiểu Text. (Sheet Thí dụ 2, em không hiểu cặn kẻ lắm). Sheet Thí dụ
2 cột A, ô A8 là 1 giá trị Text, nhưng khi lọc Cột A ngày 02/03/2006 thì giá trị này cũng
được đưa vào. Ở Cột D giá trị hoàn toàn giống cột A nhưng định dạng Format của cột D
là "MM" (Chỉ hiển thị tháng). Khi lọc cột D giá trị là 03 tất nhiên nó sẽ không lọc ô D8.

Vùng điều kiện : F2 : =D2>AVERAGE($D$2:$D$20)
TD5 : Lọc các mã KH mua hàng nhiều lần trong tháng. Cột B là cột MaKH. Ta đặt công
thức sau vào vùng điều kiện :
F2 : = COUNTIF($B$2:$B$20,B2)>1
TD6 : Tìm chữ số trong một số hay một ký tự trong một chuỗi. Giả sử ta muốn tìm các
mã KH tại cột B có chữ A, ta có thể đặt công thức vào vùng điều kiện như sau : (bài trên
ta đặt *A*)
F2 : = ISTEXT(FIND("A",B2)
Tương tự, nếu ta muốn tìm những hàng có số 5 trong cột D, ta sẽ đặt công thức sau vào
vùng điều kiện :
F2 : = ISNUMBER(FIND("5",D2)
Nếu các bạn không đặt hàm ISTEXT hay ISNUMBER, vùng điều kiện sẽ thể hiện lỗi
#VALÚE, nhưng Advanced Filter vẫn cho kết quả đúng
TD7 : Lọc chính xác có phân biệt chữ hoa và chữ thường. Nếu cột MaKH của bạn có các
mãKH là ab, AB, aB và Ab. Khi bạn đặt công thức sau vào vùng điều kiện :
F2 : =EXACT(B2,"AB")
Thì sẽ lọc những mã KH AB, còn ab, Ab, aB bị bò qua
TD8 : Lọc dòng trống. Giả sử cột D, SoLuong của bạn có KH không mua hàng, nhưng
vẫn có tên trong CSDL. Cuối tháng, bạn muốn lọc những KH này, bạn sẽ đặt công thức
sau vào vùng điều kiện :
F2 : =D2=""
Trên đây là một số thí dụ cho thấy 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 hãy tìm hiểu thêm nhé
ột vài ý kiến về sắp xếp CSDL cho Advanced Filter

Có ý kiến cho rằng ta nên đặt vùng Criteria bên dưới CSDL, nhưng điều này thường
không hợp lý. Vì sao ? CSDL của ta không biết sẽ giới hạn kích thước ở đâu, và nó luôn
luôn phát triển.
Do đó, nhiều lời khuyên cho thấy, CSDL của ta sẽ được thiết kế từ hàng 4 hay hàng 5 trở
xuống.

b) Ký hiệu > và < : Nhập >M sẽ lọc các tên bắt đầu từ M cho đến Z, trong khi nhập <M,
sẽ lọc các tên bắt đầu từ A đến L
Xoá vùng lọc và điều kiện lọc của AutoFilter và Advanced Filter
Lê Văn Duyệt
Công cụ AutoFilter và Advanced Filter là công cụ mạnh trong Excel, nó giúp cho người
sử dụng lọc và lấy khối dữ liệu cần thiết.
_Đối với AutoFilter
Khi sử dụng công cụ này nếu chú ý, bạn sẽ thấy rằng Excel nhớ vùng trước đó bạn lọc.
Trong một số trường hợp thì điều này hữu ích. Nhưng nếu bạn muốn làm việc với các
vùng khác thì thật là bất tiện. Excel lưu giữ vùng lọc của bạn với tên _FilterDatabase.
Bạn không thể xoá tên này bằng cách thông thường là vào Insert/Name/Define.
Giả sử tôi có vùng dữ liệu muốn lọc là vùng A1:E5 của Sheet1.
Tôi Click và ô A2 và chọn Data/Filter/AutoFilter. Sau đó tôi chọn Insert/Name/Define.
Hộp thoại Define Name xuất hiện. Nhưng bạn sẽ không thấy một tên nào cả (giả sử rằng
trước đó bạn chưa đặt tên cho vùng nào cả).
Tên _FilterDatabase là loại hidden. Vì vậy bạn sẽ không thấy được bằng cách này. Bây
giờ giả sử tôi nhập vào ô A6 với nội dung Lê Quốc và ô B6 với nội dung Cường các ô
khác tôi không nhập (bạn cũng có thể nhập nội dung vào các ô khác, ở đây do làm ví dụ
tôi giản lược bớt). Tôi chọn điều kiện lọc ở cột địa chỉ là: Quận Thủ Đức.
Kết quả lọc của tôi sẽ như sau:
Bạn thấy rằng hàng bạn vừa nhập vào cũng bị Hide luôn. Bây giờ tôi chọn điều kiện lọc ở
cột Diachi là All để tôi bỏ điều kiện lọc vừa rồi. Sau đó tôi xoá dữ liệu vừa nhập vào ở ô
A6 và B6. Sau đó tôi lại lập lại điều kiện lọc ở cột Diachi là Quận Thủ Đức. Bạn sẽ thấy
hàng số 6 cũng bị dấu luôn.
Vâng đó là bất tiện của AutoFilter.
_Đối với AdvancedFilter
Tương tự đối với AdvancedFilter. Tôi chọn Data/Filter/AdvancedFilter với các dữ liệu
như sau:
Kết quả tôi được các dữ liệu ở hàng 16 và 17 dưới đây
Đến lúc này nếu bạn chọn Insert/Name/Define bạn sẽ thấy hai tên Criteria, và Extract

việc.
Mọi góp ý xin gởi cho tôi theo địa chỉ email sau:
[email protected]
Lê Văn Duyệt.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status