【发布时间】:2019-04-17 03:34:40
【问题描述】:
我正在使用 Excel for Mac 2016。
在 B 列中有 1.000 多个产品名称,字母数字。产品名称的一部分可以是颜色的名称。
我现在想将颜色名称与产品名称分开并将颜色名称移动到 C 列,将 B 列中的颜色名称替换为“”(空)。
在 A 列中,我列出了可以出现在产品名称中的所有颜色名称。
我的问题是让 A 中的颜色名称列表作为 B 中的子字符串来查找。我尝试了使用 SEARCH 和 FIND 的数组和范围,但只有第一种颜色匹配。
我试过=FIND({26,29},B2)和=FIND(A1:A10;B2)
希望在这里得到帮助。
样本数据:
a 栏:
黑色
黄色
红色
b栏:
第一个产品红色
第二件产品黑色 2018
2017 年第三个产品
编辑 使用下面提供的公式后,我将其更改为仅在单独的字段中获取颜色。我正在使用这个:
Public Function getColor(rngSource As Range, rngReplace As Range, strDelim As String)
As String Dim varInput
Dim rngFound As Range varInput = Split(rngSource.Value, strDelim)
For i = LBound(varInput) To UBound(varInput)
Set rngFound = rngReplace.Find(varInput(i))
Next i
getColor = Application.Trim(rngFound) End Function
它工作正常,但是当在字段中找不到颜色时,我没有得到 EMPTY 而是一个错误。结果如何告诉代码空也可以?
【问题讨论】:
-
你能发布一些示例数据吗?
-
添加了一些数据