Dee K Asked: 2019-04-03 03:17:56 +0800 CST2019-04-03 03:17:56 +0800 CST 2019-04-03 03:17:56 +0800 CST vlookup for comma separated cell value with refrence from another sheet 772 我有 sheet1 **group** **Name** red,white,blue white, blue,red blue,red red,white,blue,pink sheet2 Color Name red joe white jim blue bill 有多个记录想要在 sheet1 b1 中多次查找组名称的名称不能使用 Office 365 进行文本连接。还有别的办法吗? microsoft-excel microsoft-excel-2007 1 个回答 Voted Best Answer ZygD 2019-04-03T04:02:57+08:002019-04-03T04:02:57+08:00 我会用 VBA 来做。 Alt使用+打开 VBA 编辑器F11 插入 > 模块 粘贴此代码: 子查找_VBA() 调暗范围 Dim arr() 作为字符串 昏暗我一样长 昏暗匹配只要 将 sResult 调暗为字符串 错误转到 errH For each c In Sheets("Sheet1").Range("A2:A10") arr =拆分(c,“,”) 对于 i = 0 到 UBound(arr) match = WorksheetFunction.match(Trim(arr(i)), Sheets("Sheet2").Cells(1).EntireColumn, 0) 如果匹配 = 0 那么 sResult = sResult & "N/A, " 别的 sResult = sResult & Sheets("Sheet2").Cells(match, 2).Value & ", " 万一 匹配 = 0 下一个 sResult = Left(sResult, Len(sResult) - 2) c.Offset(, 1).Value = sResult sResult = vbNullString 下一个 错误: 如果 Err.Number = 1004 那么 继续下一步 ElseIf Err.Number > 0 那么 MsgBox Err.Number & " " & Err.Description, , "错误" 万一 结束子 在代码中,更改.Range("A2:A10")为“组”列中数据的实际地址。 如果需要,更改Sheet1并Sheet2使用您的实际工作表名称。 打F5 结果:
我会用 VBA 来做。
Alt使用+打开 VBA 编辑器F11
插入 > 模块
粘贴此代码:
.Range("A2:A10")
为“组”列中数据的实际地址。Sheet1
并Sheet2
使用您的实际工作表名称。结果: