Jos*_*rvo 13 excel excel-formula
我试图使用vlookup或类似的功能来搜索工作表,匹配帐号,然后返回指定的值.我的问题是有重复的帐号,我希望结果将结果连接成一个字符串.
Acct No CropType
------- ---------
0001 Grain
0001 OilSeed
0001 Hay
0002 Grain
Run Code Online (Sandbox Code Playgroud)
在第一个工作表中,在第二个工作表上我有Acct No和其他信息,我需要将所有匹配结果放到第二个工作表上的一列中,即."粮食油籽干草"
这是一个可以为您完成的功能.它与Vlookup略有不同,你只会给它搜索列,而不是整个范围,然后作为第三个参数,你会告诉它剩下多少列(负数)或右(正)以获得你的回报价值.
我还添加了使用分隔符的选项,在您的情况下,您将使用"".这是函数调用,假设第一行的Acct No.是A,结果是B行:
=vlookupall("0001", A:A, 1, " ")
Run Code Online (Sandbox Code Playgroud)
这是功能:
Function VLookupAll(ByVal lookup_value As String, _
ByVal lookup_column As range, _
ByVal return_value_column As Long, _
Optional seperator As String = ", ") As String
Dim i As Long
Dim result As String
For i = 1 To lookup_column.Rows.count
If Len(lookup_column(i, 1).text) <> 0 Then
If lookup_column(i, 1).text = lookup_value Then
result = result & (lookup_column(i).offset(0, return_value_column).text & seperator)
End If
End If
Next
If Len(result) <> 0 Then
result = Left(result, Len(result) - Len(seperator))
End If
VLookupAll = result
End Function
Run Code Online (Sandbox Code Playgroud)
笔记:
| 归档时间: |
|
| 查看次数: |
27254 次 |
| 最近记录: |