Xuất ra danh sách dữ liệu duy nhất trong tập dữ liệu

Liên hệ QC

ncicacc

Thành viên mới
Tham gia
27/5/09
Bài viết
17
Được thích
0
Dear Các bác,
Em có tập data rất lớn sau. Tại cột F(CardNumber), 1 cardNumber có thể xuất hiện lại nhiều lần. Bài toán của em đưa ra là: xuất tất cả các CardNumber là duy nhất sang cột A(cụ thể từ A2) của Sheet2.

Các bác giúp em với.

Tks các bác nhiều!
(Các bác xem data đính kèm nhé)
 

File đính kèm

Dear Các bác,
Em có tập data rất lớn sau. Tại cột F(CardNumber), 1 cardNumber có thể xuất hiện lại nhiều lần. Bài toán của em đưa ra là: xuất tất cả các CardNumber là duy nhất sang cột A(cụ thể từ A2) của Sheet2.

Các bác giúp em với.

Tks các bác nhiều!
(Các bác xem data đính kèm nhé)
Bạn tìm hiểu chức năng Advance Filter nha. Thử lên Google tìm với từ khóa Advance Filter xem sao.
 
Upvote 0
Còn cách nữa là dùng Pivot , Consolidate, Hàm...
 
Upvote 0

File đính kèm

Upvote 0
Bạn phải yêu cầu rõ lọc theo cột nào, bao nhiêu điều kiện lọc để mọi người có thể giúp cho
 
Upvote 0
Dear Các bác,
Em có tập data rất lớn sau. Tại cột F(CardNumber), 1 cardNumber có thể xuất hiện lại nhiều lần. Bài toán của em đưa ra là: xuất tất cả các CardNumber là duy nhất sang cột A(cụ thể từ A2) của Sheet2.

Các bác giúp em với.

Tks các bác nhiều!
(Các bác xem data đính kèm nhé)
Tôi vừa tải file của bạn về và thấy rằng:
- Chẳng có dữ liệu nào tại cột F của tất cả các sheet... Cũng chẳng tìm thấy cái CardNumber gì đó ở đâu cả
- Còn xem nội dung file thì chẳng hiểu bạn đang muốn làm điều gì
 
Upvote 0
Tôi vừa tải file của bạn về và thấy rằng:
- Chẳng có dữ liệu nào tại cột F của tất cả các sheet... Cũng chẳng tìm thấy cái CardNumber gì đó ở đâu cả
- Còn xem nội dung file thì chẳng hiểu bạn đang muốn làm điều gì

Thật sự sorry mọi người, file data gốc rất lớn nên em cắt một số trường sang thôi. Cột A(ID) ở file data ta chính là cột cần xuất
(Híc, nhìn file gốc nên diễn giải bị sai)
.
 
Upvote 0
Tại cột F (cột phụ): Số lần xuất hiện ID
tại F2 gõ: =COUNTIF($A$2:$A$25905;A2), sau đó kéo công thức hết bảng
Chọn A1:F1, Vào Data/FilterAutoFiltor. Sau đó lọc cột F theo ĐK là 1
(Tôi thấy bảng Data của bạn chỉ có 1 lần xuất hiện ID mà thôi)
 
Upvote 0
Tại cột F (cột phụ): Số lần xuất hiện ID
tại F2 gõ: =COUNTIF($A$2:$A$25905;A2), sau đó kéo công thức hết bảng
Chọn A1:F1, Vào Data/FilterAutoFiltor. Sau đó lọc cột F theo ĐK là 1
(Tôi thấy bảng Data của bạn chỉ có 1 lần xuất hiện ID mà thôi)
Dùng hàm count thì OK rồi nhưng bạn nên xem lại địa chỉ.
Nếu 1 ID mà đếm > 1 thì lấy 1 làm sao.
 
Upvote 0
Vì bạn yêu cầu xuất ra danh sách 1 lần duy nhất nên mới lấy điều kiện là countif =1
Còn muốn lấy >1 thì bạn chọn ĐK trong Filter >1
 
Upvote 0
Mã 4220768680000070 chỉ có 1 lần, nếu có 2 lần trở lên thì không xuất hiện nếu ta chọn Filter là 1
 
Upvote 0
Mã 4220768680000070 chỉ có 1 lần, nếu có 2 lần trở lên thì không xuất hiện nếu ta chọn Filter là 1
Tác giả yêu cầu là lấy dữ liệu duy nhất bạn à, nếu như mã 4220768680000070 xuất hiện n lần thì chỉ chọn là 1 thôi.
Ví dụ của bạn nếu như mã 4220768680000070 xuất hiện n >1 thì không có trong danh sách dữ liệu duy nhất.
 
Upvote 0
Dear Các bác,
Em có tập data rất lớn sau. Tại cột F(CardNumber), 1 cardNumber có thể xuất hiện lại nhiều lần. Bài toán của em đưa ra là: xuất tất cả các CardNumber là duy nhất sang cột A(cụ thể từ A2) của Sheet2.
Hay mình đọc sai yêu cầu nhỉ.
Vì bài trên toàn bộ ID là duy nhất rồi nên sẽ không có ID nào lặp lại.
To: hanhpptc
Vần đề countif thì mình có biết và autofilter cũng vậy.
Nên rằng tại F2=COUNTIF($A$2:$A2,$A2) thì OK hơn.
Bạn xem lại ID 4220768680000760 xuất hiện 2 lần mà mình phải lấy 1...
Bài này mà dùng AdFi thì phải thêm Vlooukp.
Nên dùng Pivot lại hay. Hay là dùng code sau thử. Dùng Dictionary, lúc này mình cứ gặp lấy duy nhất là dùng nó.
PHP:
Option Explicit
Dim endR As Long, i As Long, s As Long, k As Long
Dim Arr(), ArrKQ()
Dim Dic As Object
Sub TrichLoc()
With Sheet1
  endR = .Cells(65000, 1).End(xlUp).Row
  Arr = .Range("A2:E" & endR)
End With
ReDim ArrKQ(1 To UBound(Arr), 1 To 6)
Set Dic = CreateObject("Scripting.Dictionary")
s = 0
For i = 1 To UBound(Arr)
  If Not Dic.Exists(Arr(i, 1)) Then
    s = s + 1
    ArrKQ(s, 1) = s
    For k = 1 To 5
      ArrKQ(s, k + 1) = Arr(i, k)
    Next k
    Dic.Add Arr(i, 1), Nothing
  End If
Next i
With Sheet2
  .Range("A2:F65000").ClearContents
  .Range("A2").Resize(s, 6) = ArrKQ
End With
Erase Arr(), ArrKQ(): Set Dic = Nothing
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom