Các câu hỏi về lọc ra danh sách duy nhất (loại bỏ dữ liệu trùng)

Liên hệ QC
Chào bạn,
Muốn có kết quả như bạn cần thì sử dụng chức năng advanced filter nhé, đơn giản lắm. Bạn nghiên cứu nha.
 
Dùng công thức thì thế này bạn nhé, dạng bài này có rất nhiều trên diễn đàn mà! Xem file đính kèm nhé!
 

File đính kèm

  • Loc danh sach duy nhat.xls
    14 KB · Đọc: 43
Giờ em muốn kết quả ở 1 sheet khác cơ. Nên chức năng advanced filter trong trường hợp này chưa phát huy tác dụng.

bạn để trỏ chuột tới sheet cần lọc và sau đó lọc bình thường thôi có đâu mà chưa có tác dụng, bạn làm thừ đi nha

bạn xem kết quả tui lọc có đúng theo ý của bạn không, tui dùng addvan filter
 

File đính kèm

  • Copy of Loc danh sach duy nhat-2.xls
    16.5 KB · Đọc: 28
Chỉnh sửa lần cuối bởi điều hành viên:
Dùng công thức thì thế này bạn nhé, dạng bài này có rất nhiều trên diễn đàn mà! Xem file đính kèm nhé!
Name DK của bạn nên sửa thành vầy thì mới ổn:
PHP:
=IF(DL="","",IF(MATCH(DL,DL,0)=ROW(INDIRECT("1:"&ROWS(DL))),MATCH(DL,DL,0),""))
Lỡ trong vùng dữ liệu có cell rổng thì sao?
------------
Ngoài ra xin nói thêm: Với dạng bài toán này thì kể cả dùng code hay công thức hoặc Advanced Filter đều không hay bằng dùng PivotTable vì những lý do:
- Dễ thao tác (chỉ mấy cái click chuột)
- Học thao tác PivotTable dù sao vẫn nhanh hơn so với học viết code
- PivotTable cũng có khả năng cập nhật khi dữ liệu nguồn thay đổi (bẳng cách click phải vào PV và chọn Refresh Data)
- File rất nhẹ nhàng so với khi dùng công thức vì chẳng phải tính toán
vân vân
 
Lần chỉnh sửa cuối:
Mở thêm vùng dữ liệu thì bạn có thể sửa name DL thành :
PHP:
=OFFSET(Sheet1!$B$3;;;COUNTA(Sheet1!$B$3:$B$1000);)
(Mấy chiêu này bạn search bài của thầy Ndu và anhtuan1066 sẽ thấy rất nhiều kiểu lọc hay lắm đó!)
 
Mở thêm vùng dữ liệu thì bạn có thể sửa name DL thành :
PHP:
=OFFSET(Sheet1!$B$3;;;COUNTA(Sheet1!$B$3:$B$1000);)
(Mấy chiêu này bạn search bài của thầy Ndu và anhtuan1066 sẽ thấy rất nhiều kiểu lọc hay lắm đó!)
Nếu dữ liệu có cell rổng thì name này cũng sai luôn
 
Nếu vậy thì sửa name DL thành thế này,mong thầy chỉ giáo thêm :
PHP:
=OFFSET(Sheet1!$B$3;;;MAX(IF(LEN(Sheet1!$B$3:$B$1000)<>0;ROW(Sheet1!$B$3:$B$1000);""));)
Công thức mảng như vậy sẽ rất nặng! Vầy ngon hơn:
PHP:
=OFFSET(Sheet1!$B$3,,,MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),)
Đây là công thức thường nên tốc độ nhanh hơn
 
Công thức mảng như vậy sẽ rất nặng! Vầy ngon hơn:
PHP:
=OFFSET(Sheet1!$B$3,,,MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),)
Đây là công thức thường nên tốc độ nhanh hơn
Nhưng nếu Vùng Dữ liệu có kiểu số ở dòng cuối cùng chứa dữ liệu thì name này cũng không chạy thầy à,Công thức của em đúng là hơi nặng nhưng nó lấy được cả dữ liệu dạng số ở dòng cuối cùng! Mong thầy chỉ thêm cho em!
 
bạn để trỏ chuột tới sheet cần lọc và sau đó lọc bình thường thôi có đâu mà chưa có tác dụng, bạn làm thừ đi nha

bạn xem kết quả tui lọc có đúng theo ý của bạn không, tui dùng addvan filter
Anh xem lại chứ. Hình như em cũng biết Advanced fiter không lọc được sang sheet khác thì mới phải?
----------
Sau khi đọc bài #413
domfootwear đã viết:
Bạn đứng tại sheet khác cần đưa dữ liệu rồi lọc thử nhé.
Em cảm ơn anh nhiều! Có anh chỉ bây giờ em mới biết.
 
Lần chỉnh sửa cuối:
Nhưng nếu Vùng Dữ liệu có kiểu số ở dòng cuối cùng chứa dữ liệu thì name này cũng không chạy thầy à,Công thức của em đúng là hơi nặng nhưng nó lấy được cả dữ liệu dạng số ở dòng cuối cùng! Mong thầy chỉ thêm cho em!
Kiểu số thì ta thay MATCH(REPT("z",255),Sheet1!$B$3:$B$1000) thành MATCH(9.99999999999999E+307,Sheet1!$B$3:$B$1000)
Nếu dữ liệu vừa số vừa chuổi thì ta lấy MAX của 2 kết quả trên
Cả 2 đều không phải là mảng
Ẹc... Ẹc...
 
Cho em xem công thức MAX đó là sao luôn đi thầy .
Thanks
 
Thế này thôi bạn ạ :
PHP:
=OFFSET(Sheet1!$B$3,,,max(MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),MATCH(9.99999999999999E+307,Sheet1!$B$3:$B$1000)),)
 
Hình như không ổn nhe bạn ơi ,nó không ra kết quả nhe !
 
Chạy ngon mà bạn, xem file đính kèm mình làm thử nhé!
 

File đính kèm

  • Loc danh sach duy nhat.rar
    2.3 KB · Đọc: 57
Thanks, siêu quá thế này bao giờ theo kịp, sao lai dùng z và 9.99999999999999E+307, sao không là 308 ah?
Không đi SN ah,
z là ký tự cuối cùng trong bảng chữ cái và 9.99999999999999E+307 là số lớn nhất mà Excel có thể hiểu được (sửa 307 thành 308 thì thua ngay ---> Thử biết liền)
Xem thêm chi tiết tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?7669-Những-công-thức-độc-đáo&
Vụ này đã có trên diễn đàn từ lâu lắm rồi
 
BẠn ơi có thể không dùng nút được không?
 
Web KT
Back
Top Bottom