LÀM THẾ NÀO ĐỂ CÓ ĐƯỢC TẤT CẢ CÁC GIÁ TRỊ TRÙNG LẶP TRONG PHẠM VI TRA CỨU

Liên hệ QC

trinhquocdat1510

Thành viên mới
Tham gia
15/1/20
Bài viết
6
Được thích
6
=IFERROR(INDEX($C$2:$C$16, SMALL(IF($F$2=B2:B16, ROW(C2:C16)-1,””), ROW()-3)),””)
e thấy lệnh mà sao không dùng không dùng được các bác.
Bác nào chỉ giáo e với e cảm ơn ạ.
 

File đính kèm

  • vlookup-duplicates.png
    vlookup-duplicates.png
    17.1 KB · Đọc: 81
Bạn xem cách mình làm bỡi UDF

Mã KHSố lượng
A
500​
Mã KHTổng
B
300​
A99742
C
400​
B4954
D
20
C1004
E
70​
D504
A
5​
E568
F
41​
C
556​
A
98798​
B
4654​
A
435​
E
498​
C
48​
D
484
A
4​
 

File đính kèm

  • UDF.rar
    9.2 KB · Đọc: 41
Nội dung của hàm tự tạo (UDF) là vầy:
PHP:
Function ThongKe(Rng As Range)
 Dim Arr()
 Dim J As Long, W As Integer, Num As Long, Z As Long, VTr As Integer
 Dim Tmp As String, sTrC As String
Arr() = Rng.Value
ReDim dArr(1 To UBound(Arr()), 1 To 2) As String
For J = 1 To UBound(Arr())
    VTr = InStr(sTrC, Arr(J, 1))
    If VTr < 1 Then
        sTrC = sTrC & Arr(J, 1)
        Tmp = Arr(J, 1):                    Num = Arr(J, 2)
        For Z = J + 1 To UBound(Arr())
            If Arr(Z, 1) = Tmp Then Num = Num + Arr(Z, 2)
        Next Z
        If Num > Arr(J, 2) Then
            W = W + 1:                          dArr(W, 1) = Tmp
            dArr(W, 2) = CStr(Num)
        End If
    End If
Next J
If W Then
    ThongKe = dArr()
End If
End Function
 
thanks bác.
Nhưng hàm này chỉ lọc các giá trị giống nhau thôi à bác.Các giá trị không trùng lặp không lấy ra được à bác.
 
Hàm này thỏa cho iêu cầu của tiêu đề & bài viết đầu tiên của bạn cơ mà?
Còn các trị không trùng lắp thì dể thôi: Viết mới 1 công cụ khác
Nhưng nói trước vì bạn xài Excel của bọn chệch nên mình sẽ không viết tiếp đâu nha; Tìm người khác đi!
 

File đính kèm

  • CV 03.JPG
    CV 03.JPG
    34.1 KB · Đọc: 33
Lần chỉnh sửa cuối:
PHP:
Function KhongTrung(Rg0 As Range)
Dim sRng As Range, Rng As Range
Dim J As Long, W As Integer, Rws As Long, VTr As Integer
Dim MaKH As String

Rws = Rg0.Rows.Count:                                            MaKH = "@@@"
ReDim Arr(1 To Rws + 1, 1 To 2) As String    :                  W = 1
Arr(1, 1) = "Mã Khách Hàng":                                     Arr(1, 2) = "Sô Luong"
Arr(2, 1) = "Nothing!"
For J = 1 To Rws
    VTr = InStr(MaKH, Rg0(1).Offset(J - 1).Value)
    If VTr < 1 Then
        MaKH = MaKH & Rg0(1).Offset(J - 1).Value
        Set Rng = Rg0(1).Offset(J).Resize(Rws)
        Set sRng = Rng.Find(Rg0(1).Offset(J - 1), , xlFormulas, xlWhole)
        If sRng Is Nothing Then
            W = W + 1:                                      Arr(W, 1) = Rg0(1).Offset(J - 1).Value
            Arr(W, 2) = Str(Rg0(1).Offset(J - 1, 1).Value)
        End If
    End If
Next J
KhongTrung = Arr()
End Function
 

File đính kèm

  • 814.jpg
    814.jpg
    63 KB · Đọc: 2
Lần chỉnh sửa cuối:
Em chào các anh chị, em muốn tìm các giá trị như trong file đính kèm sau.
Mong anh chị giúp đỡ ạ !!
 

File đính kèm

  • Tìm kiếm giá trị trùng.xlsx
    12.9 KB · Đọc: 28
=IFERROR(INDEX($C$2:$C$16, SMALL(IF($F$2=B2:B16, ROW(C2:C16)-1,””), ROW()-3)),””)
e thấy lệnh mà sao không dùng không dùng được các bác.
Bác nào chỉ giáo e với e cảm ơn ạ.

Em sử dụng theo hướng dẫn trên mà sao bị lỗi #NAME? ( đã ctrl+shìt+enter) được mỗi dòng đầu, chỉnh sửa tên tra cứu lại bị lỗi luôn cả dòng đâu
 
Em bị tương tự như chủ thớt, ai có cách khắc phục chỉ giúp e với ạ. zalo 0336937796 nhé. Em cám ơn nhiều ạ,
 
Web KT
Back
Top Bottom