Excel 中的复杂查找

时间:2021-06-16 07:14:03

标签: excel vba excel-formula vlookup

我在工作表 1 上的 Excel 中有一个表格 1,其中显示了以逗号分隔的产品选项。

<头>
型号 选项
G35UA A30E、F41A、F01B
G35UD A30E、F41A、F01B、PDIA
G35US A30E、F41A、K36B
G35UF A30E、XA43、L37A、J18G
G35UB A30E,F41A,F01B,FOOD,XA43,S10A

我在 sheet2 上有一个 table2,显示了选项的定义。

<头>
选项 定义
A30E 备用摄像头
F41A 消防分队
F01B 驱动轮胎
PDIA 工厂 PDI
K21D 备份报警
E911 级联SS
K36B K 垫
D59B 完整的仪表板
TR96 尾巴
S10A 天窗

我希望看到 sheet1 上的第三列,它根据选项查找定义。

<头>
型号 选项 定义
G35UA A30E、F41A、F01B 备用摄像头、消防车、驱动轮胎
G35UD A30E、F41A、F01B、PDIA 备用摄像头、消防车、驱动轮胎、工厂 PDI
G35US A30E、F41A、K36B 后备摄像头、Fire Ext、K Pad
G35UF A30E、XA43、L37A、J18G 备用摄像头
G35UB A30E,F41A,F01B,FOOD,XA43,S10A 备用摄像头、消防装置、驱动轮胎、天窗

我没有成功使用 vlookup 功能,因为用逗号分隔的选项以及查找、搜索以及索引和匹配功能都没有帮助,因为选项数量不同。 感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

假设您的选项总是四个字符长,因此您不必担心它们是另一个选项中的子字符串。这样你就不需要用逗号填充它们来精确匹配。因此,使用 Microsoft365,请尝试:

enter image description here

C2 中的公式:

=TEXTJOIN(", ",,FILTER(B$9:B$18,ISNUMBER(FIND(A$9:A$18,B2))))

在 Excel 2019 中,您将使用 CSE 输入的公式,例如:

=TEXTJOIN(", ",,IF(ISNUMBER(FIND(A$9:A$18,B2)),B$9:B$18,""))

在任何其他情况下,我建议您开始开发 UDF 来模仿 TEXTJOIN() 功能。

相关问题