Lọc số trùng nhau

Liên hệ QC
Cám ơn bạn, mình đã làm được sau khi đổi tên trong sheet mới trùng với các sheet khác. Nhưng bạn có thể diễn giải công thức trên cho mình hiểu được không, để mình có thể tự áp dụng vào các file dữ liệu khác. Cám ơn bạn nhiều.
 
Cột A2 và B2 bạn có thể dùng Advanced Filter để lọc (quá đơn giản)
Riêng cột A3 và B3 ta dùng 1 hàm tự tạo như sau:
PHP:
Function JointUnique(Range As Range, Optional Sep As String = " ") As String
  Dim Dic, Clls As Range
  On Error Resume Next
  With CreateObject("Scripting.Dictionary")
    For Each Clls In Range
      If Clls <> "" Then .Add Clls.Value, ""
    Next Clls
   JointUnique = Join(.Keys, Sep)
  End With
End Function
Xem file

Thưa Thầy NDU
Có cách nào mà Range trong hàm JoinUnique mình chỉ lấy vùng visible không?

Cám ơn Thầy
 
theo mình được biết thì hàm lọc những số trung nhau thì cũng tương đối đơn giản thôi bạn ah.
Bạn hãy dùng hàm này xem có đúng ko ? chỉ cần coppy về và paste lại là đc thôi bạn ah
=IF(COUNTIF($A$1:A1,A1)=1,($A1:A1)," ")
Lưu ý:bạn hãy bỏ các cột tại dòng đầu tiên nha
 
Muốn thỉnh giáo cái này

Mình muốn kiểm tra trùng tên trong danh sách . Vui lòng hướng dẫn giúp mình nhé.
Các bạn xem file đính kèm nhé
 

File đính kèm

  • Bao trung ten.xlsx
    9.2 KB · Đọc: 38
Bạn xem file đính kèm nhé.

Chi tiết hướng dẫn bổ sung:

Chọn vùng dữ liệu cần lọc (A1:A10), vào Formatting-->Manager Rule-> New Rule-->Use a formula to determine which cell to format, nhập công thức =COUNTIF($A:$A,$A3)>1 vào mục Format values where this formula is true--> chọn Format-->chọn màu-->OK.

Những trường hợp trùng tên sẽ tự động có màu như đã chọn.
 
Lần chỉnh sửa cuối:
Nếu dữ liệu có 100.000 dòng thì chắc là dùng Excel 2007.
Ví dụ dữ liệu ở cột A.
Bạn copy sang cột B.
Và vào menu Data/Remove Duplicates. Nhớ chọn cột B. Kết quả sẽ nằm ở cột B là những số không trùng nhau.
Mình muốn hỏi, khi remove thì nó sẽ remove tất cả các dữ liệu trùng nhau, hay là vẫn dữ lại dữ liệu chính?
 
Chào các bạn
Các bạn cho mình hỏi
Mình có 1 cột A có dữ liệu trùng nhau, dùng hàm sang cột B để loại bỏ những dữ liệu trùng chỉ lấy 1 tên

ví dụ:

CỘT A
DỮ LIỆU
CỘT B
KẾT QUẢ
PN001-05PN001-05
PN001-05PN002-05
PN002-05PX001-05
PX001-05


Giúp mình thanks


 
Công thức tại [B2]
Mã:
=iferror(index($a$1:$a$4,match(0,countif(b$1:b1,$a$1:$a$4),0)),"")
gõ xong nhấn Ctrl+shift+enter , rồi Fill xuống dưới
 

File đính kèm

  • booo.xlsx
    9.6 KB · Đọc: 12
Ok rồi bạn a
cảm ơn bạn nhiều
 
Chào bạn
Có cách nào để cho nó chạy nhanh hơn không? Hàm này chiếm bộ nhớ rất lớn chạy rất châmk
không thì vba cũng được
thanks
 
Bạn xem File này, để đỡ mất thời gian khuyên bạn nên đưa dữ liệu thật lên đây, tránh tình trạng tí tí lại phải sửa lại
Chào bạn
Mình chuyển file dữ liệu lên bạn làm giúp mình với
Mình lấy cột B và lọc dữ liệu trùng vào cột AB

BẠn xem hỗ trợ mình với, với số dòng 2050 dòng nhé
Cảm ơn bạn nhiều
 
Chào bạn
Mình chuyển file dữ liệu lên bạn làm giúp mình với
Mình lấy cột B và lọc dữ liệu trùng vào cột AB

BẠn xem hỗ trợ mình với, với số dòng 2050 dòng nhé
Cảm ơn bạn nhiều

Nếu nhiều dữ liệu quá thì chuyển qua dùng Code. Bạn mở File này lên, Enable Macro sau đó nhập liệu tiếp vào cột B, cột AB sẽ tự lọc ra 1 danh sách duy nhất
 

File đính kèm

  • du lieu nhap.xls
    572 KB · Đọc: 17
Cảm ơn bạn nhiều
nhưng mà khi dòng B không có dữ liệu nó báo lỗi
bạn giúp mình tý nữa nhé
thanks

Bạn sửa đoạn Code bên trong thành vầy:
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
[AB5:AB3000].ClearContents
If Not Intersect(Target, [B5:B3000]) Is Nothing Then
  For i = 5 To 3000
    If Cells(i, 2) <> "" Then
       If Not dic.exists(Cells(i, 2).Value) Then
          dic.Add Cells(i, 2).Value, ""
       End If
    End If
  Next i
  [AB5].Resize(dic.Count) = WorksheetFunction.Transpose(dic.keys)
End If
End Sub
 
Bạn sửa đoạn Code bên trong thành vầy:
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
[AB5:AB3000].ClearContents
If Not Intersect(Target, [B5:B3000]) Is Nothing Then
  For i = 5 To 3000
    If Cells(i, 2) <> "" Then
       If Not dic.exists(Cells(i, 2).Value) Then
          dic.Add Cells(i, 2).Value, ""
       End If
    End If
  Next i
  [AB5].Resize(dic.Count) = WorksheetFunction.Transpose(dic.keys)
End If
End Sub

Nó lặp liên tục và lỗi excel luôn
bạn xem code lại giúp nhé
thanks
 
Web KT
Back
Top Bottom