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.
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.
Name DK của bạn nên sửa thành vầy thì mới ổ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é!
=IF(DL="","",IF(MATCH(DL,DL,0)=ROW(INDIRECT("1:"&ROWS(DL))),MATCH(DL,DL,0),""))
=OFFSET(Sheet1!$B$3;;;COUNTA(Sheet1!$B$3:$B$1000);)
Nếu dữ liệu có cell rổng thì name này cũng sai luônMở 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 vậy thì sửa name DL thành thế này,mong thầy chỉ giáo thêm :Nếu dữ liệu có cell rổng thì name này cũng sai luôn
=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: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);""));)
=OFFSET(Sheet1!$B$3,,,MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),)
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!Công thức mảng như vậy sẽ rất nặng! Vầy ngon hơn:
Đây là công thức thường nên tốc độ nhanh hơnPHP:=OFFSET(Sheet1!$B$3,,,MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),)
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?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
Em cảm ơn anh nhiều! Có anh chỉ bây giờ em mới biết.domfootwear đã viết:Bạn đứng tại sheet khác cần đưa dữ liệu rồi lọc thử nhé.
Bạn đứng tại sheet khác cần đưa dữ liệu rồi lọc thử nhé.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?
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)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!
=OFFSET(Sheet1!$B$3,,,max(MATCH(REPT("z",255),Sheet1!$B$3:$B$1000),MATCH(9.99999999999999E+307,Sheet1!$B$3:$B$1000)),)
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)),)
Vì 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)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,