查找以逗号分隔的单元格值,并引用另一张表

查找以逗号分隔的单元格值,并引用另一张表

我有 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 进行文本连接。还有其他方法吗?

答案1

我会使用 VBA 来完成它。

  1. Alt使用+打开 VBA 编辑器F11

  2. 插入 > 模块

  3. 粘贴此代码:

子查找_VBA()

  昏暗的 c 作为范围
  Dim arr() 作为字符串
  暗淡如长
  暗淡匹配只要
  Dim sResult 作为字符串

  出错时转到 errH
  对于工作表中的每个 c ("Sheet1").范围 ("A2:A10")
    arr = 拆分(c,“,”)
    对于 i = 0 至 UBound(arr)
      匹配 = 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 = 左(sResult,Len(sResult) - 2)
    c.偏移量(, 1).值 = sResult
    sResult = vbNullString
  下一个
呃呃:
  如果 Err.Number = 1004 那么
    继续下一步
  ElseIf 错误号 > 0 则
    MsgBox Err.Number & " " & Err.Description, , "错误"
  万一

子目录结束
  1. 在代码中,.Range("A2:A10")用“组”列中数据的实际地址进行更改。
  2. 如果需要,请将 更改Sheet1Sheet2您的实际工作表名称。
  3. F5

结果:
vba 查找分隔符逗号结果

相关内容