返回列表 上一主題 發帖

对VLOOKUP加

对VLOOKUP加

Public Function DnLook(区域, 取值列, 查找值1, 对应列1, Optional 查找值2, Optional 对应列2) As String
'2021/2/19编写
'在VLOOKUP查找有重复值的情
Dwy123

本帖最後由 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
Dwy123

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題