Lọc các dòng còn lại trong excel

  • Thread starter Thread starter nthxe
  • Ngày gửi Ngày gửi
Liên hệ QC

nthxe

Trình còi
Tham gia
14/6/08
Bài viết
260
Được thích
112
Chào các anh chị em,
Tớ có 1 file excel gồm 500 dòng. Trong các cột, giá trị ở các dòng là không nhau. Từ file này đã tách ra được 300 dòng không liên tục sang file khác. Mong các anh chị chỉ giúp cách tìm 200 dòng còn lại.

Xin cảm ơn
 
Chào các anh chị em,
Tớ có 1 file excel gồm 500 dòng. Trong các cột, giá trị ở các dòng là không nhau. Từ file này đã tách ra được 300 dòng không liên tục sang file khác. Mong các anh chị chỉ giúp cách tìm 200 dòng còn lại.

Xin cảm ơn
Bạn cho biết thêm dữ liệu của bạn có dòng nào giống nhau hoàn toàn không? Nếu có thì xử lý như thế nào?
 
Trong mỗi cột, không dòng nào giống nhau bạn ạ
 
Trong mỗi cột, không dòng nào giống nhau bạn ạ

Chả có cái tiêu chí nào cho 300 dòng hoặc 200 dòng sao???
Thêm cái cột ghi chú. Đánh dấu x cho 300 dòng sẽ dưa ra ngoài. và y cho 200 dòng còn lại.
Sau đó dòng auto filler chọn x hoặc y rồi copy là xong.
 
Việc lấy 300 dòng ra trước ko có quy luật nào cả nên nó thể gán thêm vào file gốc 1 trường để đánh dấu 300 dòng đã lấy ra rồi filter. Nhưng ko biết còn cách nào khác không?
 
Nếu việc lọc 300 dòng đầu là có quy luật: Lọc 200 dòng còn lại với quy luật ngược lại
Nếu việc lọc 300 dòng đầu không có quy luật: Nếu không muốn tạo 1 field đánh dấu, thì lọc lấy ra được dòng nào xoá béng dòng đó.
 
Trong mỗi cột, không dòng nào giống nhau bạn ạ
Nếu vậy thì có hai cách:
- Dùng SUMPRODUCT() để kiểm tra
- Dùng Advance Filter
Không biết dữ liệu của bạn có bao nhiêu cột. Nếu bạn gửi file lên thì có lẽ sẽ được hướng dẫn chi tiết hơn.
 
Nếu vậy thì có hai cách:
- Dùng SUMPRODUCT() để kiểm tra
- Dùng Advance Filter
Không biết dữ liệu của bạn có bao nhiêu cột. Nếu bạn gửi file lên thì có lẽ sẽ được hướng dẫn chi tiết hơn.

Đây, file đây ạ. File có 3 sheet, sheet đầu tiên là gốc, sheet thứ 2 là các dòng đã lấy và sheet thứ 3 là muốn lấy các dòng còn lại (sheet 1 - sheet 2)
 

File đính kèm

Đây, file đây ạ. File có 3 sheet, sheet đầu tiên là gốc, sheet thứ 2 là các dòng đã lấy và sheet thứ 3 là muốn lấy các dòng còn lại (sheet 1 - sheet 2)
Cách 1: Dùng công thức
Bạn dùng công thức này cho ô C2, Sheet goc
Mã:
=IF(SUMPRODUCT(('cac dong da lay'!$A$2:$A$383=A2)*('cac dong da lay'!$B$2:$B$383=B2)),"","x")
Copy xuống đến dòng cuối cùng. Dòng nào hiện chữ x là chưa được lấy.
Cách 2: Dùng Advance Filter
Dùng Advance với vùng điều kiện D1:E2. Với công thức của ô D2 và E2 lần lượt là:
Mã:
=COUNTIF('cac dong da lay'!$A$2:$A$383,goc!A2)=0
Mã:
=COUNTIF('cac dong da lay'!$B$2:$B$383,goc!B2)=0
 
Ngó file rồi thì thấy thật dễ dàng.
 

File đính kèm

Cách 1: Dùng công thức
Bạn dùng công thức này cho ô C2, Sheet goc
Mã:
=IF(SUMPRODUCT(('cac dong da lay'!$A$2:$A$383=A2)*('cac dong da lay'!$B$2:$B$383=B2)),"","x")
Copy xuống đến dòng cuối cùng. Dòng nào hiện chữ x là chưa được lấy.
Cách 2: Dùng Advance Filter
Dùng Advance với vùng điều kiện D1:E2. Với công thức của ô D2 và E2 lần lượt là:
Mã:
=COUNTIF('cac dong da lay'!$A$2:$A$383,goc!A2)=0
Mã:
=COUNTIF('cac dong da lay'!$B$2:$B$383,goc!B2)=0
Cách 3: dùng VBA cho "phẻ"
Mã:
Private Sub Worksheet_Activate()
    Dim d, DaLay, Ws, I, Mg(), DlGoc, K
    Set d = CreateObject("scripting.dictionary")
    Set Ws = Sheets("cac dong da lay")
    DaLay = Ws.Range(Ws.[a2], Ws.[a100000].End(xlUp))
    DlGoc = Sheets("goc").Range(Sheets("goc").[a2], Sheets("goc").[a100000].End(xlUp)).Resize(, 2)
    ReDim Mg(1 To UBound(DlGoc) - UBound(DaLay), 1 To 2)
        For I = LBound(DaLay) To UBound(DaLay)
            If Not d.exists(DaLay(I, 1)) Then d.Add DaLay(I, 1), Nothing
        Next I
                For I = LBound(DlGoc) To UBound(DlGoc)
                    If Not d.exists(DlGoc(I, 1)) Then
                        d.Add DlGoc(I, 1), Nothing
                        K = K + 1
                        Mg(K, 1) = DlGoc(I, 1): Mg(K, 2) = DlGoc(I, 2)
                    End If
                Next I
[a3:b100000].ClearContents
[a3].Resize(K, 2) = Mg
End Sub
Cứ thêm, bớt, sửa búa xua ở sheet "goc" và sheet "cac dong da lay" xong chọn sheet "Phan con lai" xem kết quả, hổng phải làm gì cả, "phẻ re"
Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Cách 3: dùng VBA cho "phẻ"
Mã:
    DaLay = Ws.Range(Ws.[a2], Ws.[a100000].End(xlUp))
Cứ thêm, bớt, sửa búa xua ở sheet "goc" và sheet "cac dong da lay" xong chọn sheet "Phan con lai" xem kết quả, hổng phải làm gì cả, "phẻ re"
Thân
Bác ơi, em trình còi cả VBA, chạy file bác up thấy nó báo lỗi rồi bôi vàng ở dòng lệnh trên???
 
Web KT

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

Back
Top Bottom