cái đó thì thường quá, em muốn dùng công thức cơ
DS = OFFSET(Sheet1!$C$7,,,COUNTA(Sheet1!$C:$C),)
DK_1 = IF(MATCH(DS,DS,0)=ROW(Sheet1!$1:$1000),ROW(Sheet1!$1:$1000),"")
DK = IF(ISNA(DK_1),"",DK_1)
Sau đó File công thức xuống dưới!H7 = IF(ROWS($1:1)>COUNT(DK),"",LOOKUP(SMALL(DK,ROWS($1:1)),DK,DS))
Theo mình, Adv fiter là xa lộ mà không muốn, thật hết biết!cái đó thì thường quá, em muốn dùng công thức cơ
cái đó thì thường quá, em muốn dùng công thức cơ
cảm ơn tất cả các bác đã giúp đỡ, tất cả những bài lọc trùng đều có điểm chung là dữ liệu trùng phải nằm ở cột A dòng 1, liệu có phương pháp lọc trùng tại bất kỳ vị trí nào được không hả các bạn, mọi người cùng thảo luận thử xem.
và em muốn hỏi một câu nữa là liệu có lọc trùng trên một hàng được không?
Kiệt ơi, chỉ cần 2 name thôi:Bạn thử sức với 1 chiêu của anh ndu96081631 như sau:
Đặt 3 Name như sau:
!
DS =OFFSET($C$7,,,MATCH(REPT("Z",255),OFFSET($C$7,,,1000,)),)
DK =IF(DS="","",IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),""))
Bạn vui lòng nói rõ: Dử liệu gốc của bạn nằm hàng ngang? Hay bạn muốn sau khi lọc ra, xếp chúng thành hàng ngang (điều này rất quan trọng, phải xác nhận trước mới làm được)Bác ndu96081631 quá pro, rất cảm ơn bác, em làm được rồi, bác có thể chỉ cho em cách lọc dữ liệu trùng theo hàng ngang được không, em thử giữ nguyên hai name thay row = hàm column nhưng không được.
Thày ơi các công thức của thày DS =OFFSET($C$7,,,MATCH(REPT("Z",255),OFFSET($C$7,,,1000,)),) đoạn em bôi đậm có nghĩa là gì ạh? Trong lạ mắt quá, em chẳng hiểu gì cả.Kiệt ơi, chỉ cần 2 name thôi:
vàPHP:DS =OFFSET($C$7,,,MATCH(REPT("Z",255),OFFSET($C$7,,,1000,)),)
Vừa đầy đủ (tại ngày trước... NGU... Ẹc... Ẹc...)PHP:DK =IF(DS="","",IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),""))
Với 2 name này, bất chấp luôn trong dử liệu có dòng rổng
Mỗi người có mỗi cách làm riêng! Nhưng sau khi làm xong, các bạn Test thử thành quả của mình bằng cách:
- Quét chọn vùng dử liệu nguồn
- Kéo dử liệu nguồn ra nơi khác (chẳng hạn, gốc của nó là A2:A20, giờ kéo nó qua C5:C23)
- Kiểm tra lại kết quả của công thức ---> Xem chúng có bị "loạn xà ngầu" không (Nếu kết quả vẫn không đổi, xem như bạn thành công)
- Test thêm 1 chiêu nữa: Chèn dòng, xóa dòng, chèn cột, xóa cột ---> Xem kết quả công thức
Thì vầy:Thày ơi các công thức của thày DS =OFFSET($C$7,,,MATCH(REPT("Z",255),OFFSET($C$7,,,1000,)),) đoạn em bôi đậm có nghĩa là gì ạh? Trong lạ mắt quá, em chẳng hiểu gì cả.
Thưa thày có lẽ do trước kia em chưa va chạm đến công thức mảng nên phần nào bị choáng khi đụng phải vấn đề này, cả chiều nay em nghịch trên máy và đã phần nào hình dung ra phương pháp thuật toán nhưng chưa được tường minh rõ lắm, xin thày giải thích hộ em ý nghĩa của cụm từ: DK =IF(DS="","",IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),"")); em phần nào hiểu được tư duy bản chất của bài toán chủ yếu nằm ở đoạn bôi đỏ nhưng không thể nào toát ra hết ý được; xin thày chỉ giáo cho em nếu trong đoạn đỏ ta bỏ hàm Indirect đi thì ảnh hưởng gì đến kết quả bài toán.Kiệt ơi, chỉ cần 2 name thôi:
vàPHP:DS =OFFSET($C$7,,,MATCH(REPT("Z",255),OFFSET($C$7,,,1000,)),)
Vừa đầy đủ (tại ngày trước... NGU... Ẹc... Ẹc...)PHP:DK =IF(DS="","",IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),""))
Với 2 name này, bất chấp luôn trong dử liệu có dòng rổng
Mỗi người có mỗi cách làm riêng! Nhưng sau khi làm xong, các bạn Test thử thành quả của mình bằng cách:
- Quét chọn vùng dử liệu nguồn
- Kéo dử liệu nguồn ra nơi khác (chẳng hạn, gốc của nó là A2:A20, giờ kéo nó qua C5:C23)
- Kiểm tra lại kết quả của công thức ---> Xem chúng có bị "loạn xà ngầu" không (Nếu kết quả vẫn không đổi, xem như bạn thành công)
- Test thêm 1 chiêu nữa: Chèn dòng, xóa dòng, chèn cột, xóa cột ---> Xem kết quả công thức
=IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),"")