cách tạo hàm tìm kiếm dữ liệu trùng lớn hon 1

Liên hệ QC

nguyendangkhoi

Thành viên chính thức
Tham gia
18/2/09
Bài viết
59
Được thích
5
Nhờ các anh chị trong GPE hướng dẫn giúp em tạo hàm tìm kiếm tự tạo

em muốn tạo một hàm tìm kiếm như Vlookcup để tìm theo mã nhưng em muốn là bao nhiêu cái mã trùng thì nó sẽ lấy tất cả dữ liệu của cột theo mã mình tìm vào cùng 1 ô và ngăn cách nhau bằng dấu &.

=tim(giatritim;vungtim;cotlayketqua)

ví dụ đính kèm

Cám ơn các anh chị
 

File đính kèm

Vậy bạn đến đây tham khảo & thử sức mình trước đi

http://giaiphapexcel.com/forum/showthread.php?t=23994

=tim(giatritim;vungtim;cotlayketqua)​

Riêng tham số CotLayKetQua của bạn sẽ phải thay thé vào chổ có chỉ mũi tên trong hàm tự tạo sau:

PHP:
Option Explicit: Option Base 1 
Function TrichLoc(Ma As String, Vung As Range) As Variant 
 Dim Rng As Range, sRng As Range 
 ReDim MDL(9, 3):                Dim Zz As Byte, Ww As Byte 
  
 Set Rng = Vung.Cells(1, 1).Resize(Vung.Rows.Count) 
  
 For Each sRng In Rng 
   With sRng 
      If sRng.Value = Ma Then 
         Zz = Zz + 1:            MDL(Zz, 1) = sRng.Offset(, 1).Value '<=|'
         MDL(Zz, 2) = sRng.Offset(, 2).Value  '<=|'
         MDL(Zz, 3) = sRng.Offset(, 3).Value  '<=|'
      End If 
   End With 
 Next sRng 
 For Ww = Zz + 1 To 9 
   MDL(Ww, 1) = "":              MDL(Ww, 2) = "" 
   MDL(Ww, 3) = "" 
 Next Ww 
 TrichLoc = MDL 
End Function

Tất nhiên dòng lệnh đầu tiên của hàm sẽ phải là

Mã:
Function TrichLoc(Ma As String, Vung As Range, Optional CotLayDuLieu As Integer = 1)

Chú ý thêm:
(*) Hàm đang tìm kiếm dữ liệu dạng chuỗi; Nếu muốn tìm ký số, phải chỉnh sửa chút đỉnh;
(*) Muốn tìm kiếm kiểu dữ liệu dạng ngày thàng sẽ phải viết hàm khác!

Chúc bạn thành công!
 
Upvote 0
Nhờ các anh chị trong GPE hướng dẫn giúp em tạo hàm tìm kiếm tự tạo

em muốn tạo một hàm tìm kiếm như Vlookcup để tìm theo mã nhưng em muốn là bao nhiêu cái mã trùng thì nó sẽ lấy tất cả dữ liệu của cột theo mã mình tìm vào cùng 1 ô và ngăn cách nhau bằng dấu &.

=tim(giatritim;vungtim;cotlayketqua)

ví dụ đính kèm

Cám ơn các anh chị
Bạn dùng code sau thử nhé
PHP:
Function TIM(CELLTIM, VUNG As Range, SOCOT As Long)
Dim rCell As Range, KQ
    TIM = CVErr(xlErrNA)
      For Each rCell In VUNG
        If rCell = CELLTIM Then
            KQ = KQ & "& " & rCell.Offset(, SOCOT - 1)
        End If
    Next rCell
       If KQ <> "" Then
        KQ = Right(KQ, Len(KQ) - 1)
        TIM = KQ
    End If
End Function

Tham khảo thêm file đính kèm
Thân
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom