Board logo

標題: 对VLOOKUP加 [打印本頁]

作者: Dwy123    時間: 2025-9-7 11:52     標題: 对VLOOKUP加

Public Function DnLook(区域, 取值列, 查找值1, 对应列1, Optional 查找值2, Optional 对应列2) As String
'2021/2/19编写
'在VLOOKUP查找有重复值的情
作者: Dwy123    時間: 2025-9-9 14:22

本帖最後由 Dwy123 於 2025-9-9 14:25 編輯

Public Function DnLook(区域, 取值列, 查找值1, 对应列1, Optional 查找值2, Optional 对应列2) As String
'2021/2/19编写
'在VLOOKUP查找有重复值时可加一条件查找
'对应列1只有一个查找值1时只用查找值1查找,当对应列1有重复查找值1时,加用查找值2在对应列2查找
    Dim j As Integer
    Dim k As Integer
    Dim co As New Collection
    Dim reSolt As String
    For j = 1 To 区域.Rows.Count
        'For k = 1 To 区域.Columns.Count
            If 区域(j, 对应列1) = 查找值1 Then
                reSolt = reSolt & 区域(j, 取值列) & vbCrLf
                co.Add j
            End If
        'Next k
    Next j
    If co.Count = 1 Then
        DnLook = Left(reSolt, Len(reSolt) - 2) '去除最后的回车换行
        Exit Function
    End If
    If Not IsMissing(查找值2) And Not IsMissing(对应列2) Then
        reSolt = ""
        For Each d In co
            If 区域(d, 对应列2) = 查找值2 Then
                reSolt = reSolt & 区域(d, 取值列) & vbCrLf
                'co2.Add D      '又有参数3时加
            End If
        Next
    End If
    DnLook = Left(reSolt, Len(reSolt) - 2) '去除最后的回车换行
End Function




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)