excel中要将数据匹配,可以用lookup函数来让两个条件匹配。
lookup函数返回向量或数组中的数值。
函数 LOOKUP 有两种语法形式:向量和数组。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。
函数 LOOKUP 有两种语法形式:向量和数组。
Excel实现多条件数据匹配的方法有很多,如下:
多条件求和可以使用SUMIFS函数;多条件求个数可以用COUNTIFS函数;多条件求平均值用AVERAGEIFS函数;除了上述的函数还有其他的函数,也可以使用数据透视表,辅助列、高级筛选等方法,这需要看具体数据和具体要求。如果您想返回多个值,则需要使用一个可以查询多个匹配值并返回这些值的函数,例如INDEX和MATCH函数的组合。例如,假设表格1的数据在A1:B10区域中,表格2的数据在C1:D20区域中,您可以使用以下公式来解决这个问题:Copy code=INDEX(D1:D20,MATCH(A1,C1:C20,0))
这个公式会返回表格2中A列匹配表格1 A列的值的表格2 D列的值。
最后,如果您想将多个值用逗号连接,您可以使用JOIN函数。例如,假设表格1的数据在A1:B10区域中,表格2的数据在C1:D20区域中,您可以使用以下公式来解决这个问题:
Copy code=JOIN(",",INDEX(D1:D20,MATCH(A1,C1:C20,0)))
希望对你有帮助。Function MVlookup(str As String, ran As Range, k As Integer)
Dim kval As Integer, i As Integer, j As Integer, arr, arrk(), arr1(), arr2(), arrval As String, h As Integer, z As Integer, ChrI As Integer
arr = ranValue
kval = k
For i = 1 To Len(str)
ChrI = InStr(str, Chr(10))
h = h + 1
ReDim Preserve arrk(1 To h)
If ChrI > 1 Then
arrk(h) = Mid(str, 1, ChrI - 1)
ElseIf ChrI = 1 Then
arrk(h) = "龥"
ElseIf ChrI = 0 And Len(str) = 0 Then
arrk(h) = "龥"
Exit For
Else
arrk(h) = str
Exit For
End If
str = Mid(str, ChrI + 1, Len(str))
Next i
h = 0
For i = 1 To UBound(arr)
For j = 1 To Len(arr(i, 1))
ChrI = InStr(arr(i, 1), Chr(10))
h = h + 1
ReDim Preserve arr1(1 To h)
ReDim Preserve arr2(1 To h)
If ChrI > 1 Then
arr1(h) = Mid(arr(i, 1), 1, ChrI - 1)
arr2(h) = arr(i, kval)
Else
arr1(h) = arr(i, 1)
arr2(h) = arr(i, kval)
Exit For
End If
arr(i, 1) = Mid(arr(i, 1), ChrI + 1, Len(arr(i, 1)))
Next j
Next i
For i = 1 To UBound(arrk)
For j = 1 To UBound(arr1)
If arr1(j) = arrk(i) And Len(arrk(i)) > 0 Then
arrval = arrval & vbCrLf & arr2(j)
Exit For
ElseIf arr1(j) <> arrk(i) And j = UBound(arr1) Then
arrval = arrval & vbCrLf
End If
Next j
Next i
MVlookup = Right(arrval, Len(arrval) - 2)
End Function
来个VBA的,函数的不会;需要先alt+F11,插入模块,复制代码;再输入公式例如=MVlookup(A1,B1:D9,3),单元格格式设置为自动换行。
=MVlookup(查找的值,被查找的区域,返回被查找区域的第几列的值)
1通过vlookup函数匹配人员:先提取名字,E2输入公式并下拉:=LEFT(F2,FIND("领取",F2)-1)left是左截取函数:参数1是截取字符,参数2是截取长度
2在B2输入公式vlookup函数:=VLOOKUP(A2,E:F,2,0)
用来匹配名字后面的备注
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)