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

Liên hệ QC

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

uhm,tại vì CSDL khách hàng của mình cũng rắc rối, vừa trùng lặp,vừa thiếu,lại còn nhiều nữa nên...m add nick yahoo của bạn rùi thỉnh thoảng nhờ bạn chỉ cho m được ko?
 
Mình muốn chỉ lọc những dữ liệu trùng giữa 2 cột

Mình muốn lọc những dữ liệu chỉ trùng giữa 2 cột 1 và 2.Ko tính những dữ liệu trùng nhau trong 1 cột.Mình đã thử lọc bỏ những dữ liệu trùng nhau trong cột 1 và 2,rồi lọc những dữ liệu trùng giữa 2 cột mà sao ko đc. :(
CÁc bạn chỉ giúp mình với!!!
Mình kém excel lắm.CÁc bạn chỉ giúp mình từng bc với.
Cám ơn lắm lắm!!!
 

File đính kèm

Mình muốn lọc những dữ liệu chỉ trùng giữa 2 cột 1 và 2.Ko tính những dữ liệu trùng nhau trong 1 cột.Mình đã thử lọc bỏ những dữ liệu trùng nhau trong cột 1 và 2,rồi lọc những dữ liệu trùng giữa 2 cột mà sao ko đc. :(
CÁc bạn chỉ giúp mình với!!!
Mình kém excel lắm.CÁc bạn chỉ giúp mình từng bc với.
Cám ơn lắm lắm!!!
Xem file đính kèm nha.
 

File đính kèm

Hờ hờ,chả hiểu sao mình đánh code y hệt bạn mà nó lại ko ra
 
Hờ hờ,chả hiểu sao mình đánh code y hệt bạn mà nó lại ko ra
Vậy thì bạn xem lại đi chứ sao nữa. Rõ ràng trên file bạn upload tôi làm được đây thôi. Nếu không được thì nén file gốc lại upload lên tôi làm cho.
 
ÔI TRỜI ƠI!!! SR,T THỬ LẠI BẢN CŨ CÓ ĐOẠN T ĐÁNH NHẦM 2 DẤU CÁCH .NÊN NÓ CHỈ RA 1 KQUẢ.NGẠI GHÊ.cÁM ƠN BẠN NHÉ!!!MẮT VỚI MŨI
 
Dùng cái này thì khỏi bc gì sất.

PHP:
Option Explicit
Sub TimTrung()
  Dim Rng As Range, Clls As Range, sRng As Range
  Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
  Set Rng = Range([B1], [B1].End(xlDown))
  For Each Clls In Range([a1], [a1].End(xlDown))
    If Clls.Offset(1) <> Clls Then
      Set sRng = Rng.Find(Clls.Value, , xlFormulas, xlWhole)
      If Not sRng Is Nothing Then _
        [e65500].End(xlUp).Offset(1).Value = Clls.Value
    End If
  Next Clls
End Sub

Chú í: 'Cty D' sẽ không được thu nhận do khoảng trắng giữa 2 từ này ở 2 cột là khác nhau.
 
Giúp mình lọc dữ liệu 2 cột trong Excel

Mình mới vào 4rum lần đầu )*&^), có chuyện thắc mắc muốn hỏi ;;;;;;;;;;;, pác nào rành Excel thì giúp mình nhé . Thanks a lot ^^! |||||

Mình up file Excel lên , các pác lọc giùm mình dữ liệu 2 cột C D , xem có cột nào trùng thì viết ra 1 cột riêng giùm mình --=0
 

File đính kèm

Hic ... thì dữ liệu 2 cột C và D đó , nhìn vào , cái nào trùng thì giúp em lọc ra 1 cột khác , đó gọi là "Tiếng Việt" đó bạn .
Mình viết Tiếng Việt chứ có viết tiếng Pakistan đâu mà sao khó tính thế -0-/.
 
Hic ... thì dữ liệu 2 cột C và D đó , nhìn vào , cái nào trùng thì giúp em lọc ra 1 cột khác , đó gọi là "Tiếng Việt" đó bạn .
Mình viết Tiếng Việt chứ . . .
Chưa thật sự hiểu hết ý bạn;

(*) Bạn cần lọc trang tính nào (Nó tên là gì). Bạn chỉ cần đưa lên trang tính cần lọc thôi. Đưa lên nhiều chẳng ích gì!

(*) Trang tính đó có được sắp xếp lại theo cột 'C' & 'D' bằng bất cứ cách nào không? Hay Bạn đã sắp xếp chúng rồi?

(*) Theo mình hiểu là các dòng nào trùng dữ liệu tại 2 trường này sẽ được lọc ra;
Vậy chỉ cần tô màu cho bạn được không? Nếu lọc cột khác là phải chép sang trang khác cho dễ xem xét có tiện cho bạn không?

Chờ tin bạn!

Nếu đúng nh7 ý mình hiểu sẽ có 17 dòng trùng nhau cả 2 trường trong đó có 9 dòng cả 2 trường không dữ liệu.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình mới vào 4rum lần đầu )*&^), có chuyện thắc mắc muốn hỏi ;;;;;;;;;;;, pác nào rành Excel thì giúp mình nhé . Thanks a lot ^^! |||||

Mình up file Excel lên , các pác lọc giùm mình dữ liệu 2 cột C D , xem có cột nào trùng thì viết ra 1 cột riêng giùm mình --=0
Bạn xem file này có phải ý của bạn muốn làm không nhé rồi tính tiếp
 

File đính kèm

Nhờ các anh chị trên diễn đàn làm công thức để trích lọc những dữ liệu trùng nhau trên 2 cột để cho ra kết quả 1 dữ liệu duy nhất.
Sheet Data có nhiều những dữ liệu giống nhau trên cả 2 cột
Sheet Ketqua có dữ liệu khong trùng nhau. và phải nằm liền kề với nhau trên cùng 1 cột( không có dòng trống).
Với yều cầu như thế thì dùng công thức được không vậy? .
Cám ơn các anh chị nhiều

Mình gửi kèm file nhờ các bạn chỉ giúp dùm. Rất cám ơn các bạn.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
PHP:
Sub unique()
   Dim i As Long, K As Long
   Dim Vung1 As Range, Vung2 As Range, vung as range
   Set Vung1 = Sheets(1).Range("A2:A" & [A1000].End(xlUp).Row)
   Set Vung2 = Sheets(1).Range("B2:B" & [A1000].End(xlUp).Row)
   Vung = Union(Vung1, Vung2)
   
   For Each Cells In Vung
        If Cells <> "" Then
            K = K + 1
            
            If i = Application.WorksheetFunction.Match(Cells, Vung, 0) Then
                    i = i + 1
            End If
        
            If K = i Then Sheets(2).Range("B:" & K) = Cells: Exit For
            End If
        End If
   Next
  
End Sub

Thưa các Anh
Em thử nghịch một đoạn code nhưng không chạy được, vào tool/macro phần Run cứ bị mờ nên chẳng biết code trên sai hay đúng?

Chỉ dạy thêm cho em với

Cám ơn
 
Lần chỉnh sửa cuối:
Hãy thử với macro này

PHP:
Option Explicit
Sub Macro1()
 Dim eR As Long, lR As Long
 Dim Sh As Worksheet
 
   Application.ScreenUpdating = False:       Sheets("Data").Select
    Columns("A:B").Select:                   Selection.Insert Shift:=xlToRight
    eR = [C65500].End(xlUp).Row
 
    Range("B1:B" & eR - 1).Value = Range([c2], Cells(eR, "C")).Value
    lR = [d65500].End(xlUp).Row
    Range(Cells(eR, "B"), Cells(eR + lR - 2, "B")).Value = Range([d2], Cells(lR, "D")).Value
 
    Range("B1:B" & eR + lR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[a1], Unique:=True
    eR = [a65500].End(xlUp).Row
    Set Sh = Sheets("KetQua"):            Sh.Range(Sh.[a2], Sh.[a2].End(xlDown)).Clear
 
    Sh.Range(Sh.[a2], Sh.Cells(eR, "A")).Value = Range([a1], [a1].End(xlDown)).Value
    Columns("A:B").Delete
End Sub
 
Lần chỉnh sửa cuối:
PHP:
Option Explicit
Sub Macro1()
 Dim eR As Long, lR As Long
 Dim Sh As Worksheet
 
   Application.ScreenUpdating = False:       Sheets("Data").Select
    Columns("A:B").Select:                   Selection.Insert Shift:=xlToRight
    eR = [C65500].End(xlUp).Row
 
    Range("B1:B" & eR - 1).Value = Range([c2], Cells(eR, "C")).Value
    lR = [d65500].End(xlUp).Row
    Range(Cells(eR, "B"), Cells(eR + lR - 2, "B")).Value = Range([d2], Cells(lR, "D")).Value
 
    Range("B1:B" & eR + lR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[a1], Unique:=True
    eR = [a65500].End(xlUp).Row
    Set Sh = Sheets("KetQua"):            Sh.Range(Sh.[a2], Sh.[a2].End(xlDown)).Clear
 
    Sh.Range(Sh.[a2], Sh.Cells(eR, "A")).Value = Range([a1], [a1].End(xlDown)).Value
    Columns("A:B").Delete
End Sub
Bạn ChanhTQ ơi!Bạn tải file đính kèm của mình về rồi bạn gắn macro này test thử dùm mình với, nếu đúng như kết quả thì bạn up cho mình ha. Tại vì mình chạy macro này nó bị báo lỗi. cám ơn sự nhiệt tình của bạn rất nhiều.
 
Bạn tải file đính kèm của mình , nếu macro cho đúng như kết quả thì bạn up cho mình ha. Tại vì mình chạy macro này nó bị báo lỗi.
Đó là lỗi gì vậy, đừng bí mật nữa có được không?

Macro của mình làm những việc sau:
Thêm mới 2 cột A & B - ở đây có thể phát sinh lỗi, nên CSDL của bạn xài 1 trong 2 cột cuối trang tính;
Chép nối dữ liệu 2 cột sang cột 'B'
Lập danh sách duy nhứt, bằng cách AdvancedFiilter (Unique)
Chép sang trang tính 'KQua'
Xóa 2 cột vừa tạo


:-= )(&&@@ @!## &&&%$R )(&&@@
 

File đính kèm

Lần chỉnh sửa cuối:
PHP:
Sub unique()
   Dim i As Long, K As Long
   Dim Vung1 As Range, Vung2 As Range, vung as range
   Set Vung1 = Sheets(1).Range("A2:A" & [A1000].End(xlUp).Row)
   Set Vung2 = Sheets(1).Range("B2:B" & [A1000].End(xlUp).Row)
   Vung = Union(Vung1, Vung2)
   
   For Each Cells In Vung
        If Cells <> "" Then
            K = K + 1
            
            If i = Application.WorksheetFunction.Match(Cells, Vung, 0) Then
                    i = i + 1
            End If
        
            If K = i Then Sheets(2).Range("B:" & K) = Cells: Exit For
            End If
        End If
   Next
  
End Sub
Thưa các Anh
Em thử nghịch một đoạn code nhưng không chạy được, vào tool/macro phần Run cứ bị mờ nên chẳng biết code trên sai hay đúng?

Chỉ dạy thêm cho em với

Cám ơn
Sai nhiều lắm bạn ơi!
1>
Set Vung1 = Sheets(1).Range("A2:A" & [A1000].End(xlUp).Row)
---> Cái này sai vì đoạn [A1000].End(xlUp).Row chả biết thuộc sheet nào (đúng tại sheet nào chạy code thì nó sẽ theo sheet đó)
Đúng ra phải:
Set Vung1 = Range(Sheets(1).[A2], Sheets(1).[A1000].End(xlUp))
Vung2 cũng sai tương tự
---------------------------
2> Vung = Union(Vung1, Vung2) ---> Sai
Đúng ra phải:
Set Vung = Union(Vung1, Vung2)
---------------------------
3>
For Each Cells In Vung ---> Sai vì Cells không thể đặt làm 1 biến được
Có thể sửa thành:
For Each Clls In Vung (chử gì cũng được, miển khác chử Cells)
--------------------------
4>
If i = Application.WorksheetFunction.Match(Cells, Vung, 0) Then ---> Sai cú pháp hàm MATCH... hàm MATCH chỉ dò trong 1 cột hoặc 1 dòng...
Và thêm nữa: Ngay từ vòng lập đầu tiên sẽ báo lổi vì i chưa tồn tại (phải cho i = bao nhiêu trước chứ)
vân vân và vân vân như:
Sheets(2).Range("B:" & K) ---> Sai
--------------------
Nói tóm lại sau khi sửa xong toàn bộ thì code vẫn chưa chạy, hoặc chạy sai ---> Có lẽ liên quan đến thuật toán (bạn bị lạc đường)
 
Mình nhầm!, macro không có lỗi nhung cho KQ không đúng: có dữ liệu bị trùng và có dữ liệu không bị thiếu.
 
Web KT

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

Back
Top Bottom