Giúp lọc danh sách trong excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

miko_080888

Thành viên chính thức
Tham gia
25/7/10
Bài viết
55
Được thích
29
Nghề nghiệp
Formosa Hà Tĩnh
Giả sử mình có bảng excel như sau, mình muốn lọc tất cả các số phiếu giống nhau chỉ lấy 1 phiếu thì làm thế nào. Giúp mình với nha mọi người
 

File đính kèm

Giả sử mình có bảng excel như sau, mình muốn lọc tất cả các số phiếu giống nhau chỉ lấy 1 phiếu thì làm thế nào. Giúp mình với nha mọi người
bạn dùng chức năng Remove Duplicates trong Data sẻ có kết quả như bạn mong muốn
 
Bạn dùng công thức này để lọc nhé :
PHP:
=INDEX($A$2:$A$10;MATCH(1;(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1);0))
Kết thúc bằng Ctrl+shift+Enter
Xem file đính kèm :
 

File đính kèm

Bạn thử cách này nhé!!!
- Chọn tất cả các phiếu
- Data/filter/advanced filter/đánh dấu: filter the list, un-place; unique records only./ok/
- Copy và paste vào chỗ khác.
- Quay lại data/filter/shoe all để lại danh sách phiếu đầy đủ
Chú ý: trên phiếu đầu tiên phải có ít nhất 1 dòng chống
 
Bạn thử cách này nhé!!!
- Chọn tất cả các phiếu
- Data/filter/advanced filter/đánh dấu: filter the list, un-place; unique records only./ok/
- Copy và paste vào chỗ khác.
- Quay lại data/filter/shoe all để lại danh sách phiếu đầy đủ
Chú ý: trên phiếu đầu tiên phải có ít nhất 1 dòng chống
 
Cách của bạn chỉ dùng để lọc duy nhất thôi, còn yêu cầu của tác giả là lọc những phiếu xuất hiện hơn 1 lần cơ, nếu có dòng trống thì AF cũng thua!
 
Bạn ui, mình làm lại như bạn mà sao không được nhỉ?Bạn có thể giái thích rõ hơn về công thức này không
 
Ban ui, sao minh lam lai nhu ban ma khong duoc nhi? ban co the giai thich lai cong thuc nay cho minh duoc khong? Cam on ban nhieu nha
Bạn dùng công thức này để lọc nhé :
PHP:
=INDEX($A$2:$A$10;MATCH(1;(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1);0))
Kết thúc bằng Ctrl+shift+Enter
Xem file đính kèm :
 
Ban ui, sao minh lam lai nhu ban ma khong duoc nhi? ban co the giai thich lai cong thuc nay cho minh duoc khong? Cam on ban nhieu nha
PHP:
=INDEX($A$2:$A$10;MATCH(1;(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1);0))
Bắt đầu từ cái này :
=COUNTIF($C$1:C1;$A$2:$A$10)=0
{0;0;0;0;0;0;0;0;0} = 0
Trả về mảng này : {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
=COUNTIF($A$2:$A$10;$A$2:$A$10)>1 :
{2;2;1;2;2;2;2;2;2} > 1
Trả về mảng này : {TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
=(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1) trở thành :
= {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}* {TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
= {1;1;0;1;1;1;1;1;1}
Tiếp theo :
Match(1; {1;1;0;1;1;1;1;1;1};0)
Sẽ trả về vị trí số 1 đầu tiên.
= Index($A$2:$A$10;1)
= Index({"01";"01";"05";"06";"06";"03";"03";"04";"04"};1) = "01"
 
Lần chỉnh sửa cuối:
Ban ui, sao minh lam lai nhu ban ma khong duoc nhi? ban co the giai thich lai cong thuc nay cho minh duoc khong? Cam on ban nhieu nha
Đây là yêu cầu trích lọc danh sách duy nhất, xuất hiện từ 2 lần trở lên.
Phương pháp:
Tạo thêm 2 vùng : vùng 1 và vùng 2, cùng kích thước với DATA, gán giá trị 1 (thỏa điều kiện) và 0 (không thỏa) cho các phần tử trong vùng 1 và 2, lấy vị trí thỏa 2 điều kiện gán qua DATA để lấy giá trị.
Ta xét thử công thức tại ô C4
=INDEX($A$2:$A$10,MATCH(1,(COUNTIF($C$1:C3,$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10,$A$2:$A$10)>1),0))
Rút gọn:​
=INDEX(DATA,MATCH(1,VUNG1*VUNG2,0))
VUNG1 : COUNTIF($C$1:C3,DATA)=0 ==>Chứa điều kiện phần tử duy nhất
VUNG2: COUNTIF(DATA,DATA)>1 ==> Chứa điều kiện số lần xuất hiện >1

Loc 2.JPG
 

File đính kèm

Hic, may cai nay kho hieu qua
PHP:
=INDEX($A$2:$A$10;MATCH(1;(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1);0))
Bắt đầu từ cái này :
=COUNTIF($C$1:C1;$A$2:$A$10)=0
{0;0;0;0;0;0;0;0;0} = 0
Trả về mảng này : {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
=COUNTIF($A$2:$A$10;$A$2:$A$10)>1 :
{2;2;1;2;2;2;2;2;2} > 1
Trả về mảng này : {TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
=(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1) trở thành :
= {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}* {TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
= {1;1;0;1;1;1;1;1;1}
Tiếp theo :
Match(1; {1;1;0;1;1;1;1;1;1};0)
Sẽ trả về vị trí số 1 đầu tiên.
= Index($A$2:$A$10;1)
= Index({"01";"01";"05";"06";"06";"03";"03";"04";"04"};1) = "01"
 
Bạn ơi, mình làm theo cách này của hai ban bebo0219999 va hoamatroicoi nhưng mà không ra kết quả. Bạn xem hộ mình với.
Công thức này là của hoamattroicoi, mình chỉ xen vô thôi.
Bạn đọc kỹ công thức mẫu, cần phải có 1 dòng trống ở trên đầu để "thở" chứ?
 

File đính kèm

Ah, mình làm được rồi, đa tạ đa tạ.Mình còn có một thắc mắc nữa là mình muốn lọc ra các số phiếu đó cùng với các biển số xe tương ứng thì làm thế nào nhỉ
Công thức này là của hoamattroicoi, mình chỉ xen vô thôi.
Bạn đọc kỹ công thức mẫu, cần phải có 1 dòng trống ở trên đầu để "thở" chứ?
 
Lần chỉnh sửa cuối:
Ah, mình làm được rồi, đa tạ đa tạ.Mình còn có một thắc mắc nữa là mình muốn lọc ra các số phiếu đó cùng với các biển số xe tương ứng thì làm thế nào nhỉ
Dùng Vlookup thôi bạn ạ!
PHP:
=VLOOKUP(C2;$A$2:$B$10;2;0)
Xem file đính kèm nhé :
 

File đính kèm

Ah, mình làm được rồi, đa tạ đa tạ.Mình còn có một thắc mắc nữa là mình muốn lọc ra các số phiếu đó cùng với các biển số xe tương ứng thì làm thế nào nhỉ
Mở rộng: Nếu muốn liệt kê danh sách phiếu: bỏ countif thứ 2 ra khỏi công thức, hoặc sửa điều kiện lại là >0
 
Mở rộng: Nếu muốn liệt kê danh sách phiếu: bỏ countif thứ 2 ra khỏi công thức, hoặc sửa điều kiện lại là >0
Nếu chỉ bỏ countif thứ 2 ra thì chưa đủ anh ạ, theo em phải chỉnh lại công thức từ thế này:
PHP:
=INDEX($A$2:$A$10;MATCH(1;(COUNTIF($C$1:C1;$A$2:$A$10)=0)*(COUNTIF($A$2:$A$10;$A$2:$A$10)>1);0))
Thành thế này :
PHP:
=INDEX($A$2:$A$10;MATCH(0;COUNTIF($C$1:C1;$A$2:$A$10);0))
Nếu trong vùng dữ liệu $A$2:$A$10 có chứa dòng trống thì công thức sẽ thế này :
PHP:
=INDEX($A$2:$A$10;MATCH(0;($A$2:$A$10="")+(COUNTIF($C$1:C1;$A$2:$A$10));0))
Kết thúc các công thức trên bằng Ctrl+shift+Enter
Xem file đính kèm :
 

File đính kèm

Lần chỉnh sửa cuối:
Cách lọc này cũng là một cách độc đáo.
Nhưng khi số bản ghi tăng lên hàng trăm vạn khi đó có thể lọc được không? các giá trị đó xuất hiện không phải giống nhau số lần.
Cái này có thể lọc được dạng text không?

Rất mong mọi thành viên phát triển!
 
Cách lọc này cũng là một cách độc đáo.
Nhưng khi số bản ghi tăng lên hàng trăm vạn khi đó có thể lọc được không? các giá trị đó xuất hiện không phải giống nhau số lần.
Cái này có thể lọc được dạng text không?

Rất mong mọi thành viên phát triển!
Tất nhiên với dữ liệu lớn, dùng công thức không phải là giải pháp tối ưu. Nhưng không phải ai cũng biết, sử dụng và hiểu tường tận về VBA.
Do đó, được voi, phải chấp nhận ...mất HBT.
Các dạng dữ liệu đều có thể lọc được; nếu bạn có file mẫu thì post lên cho mọi người cùng thử.
 
Cảm ơn mọi người nhiều nha.
 
Web KT

Bài viết mới nhất

Back
Top Bottom