如果子字符串与表中的条目匹配,则需要一些帮助来从字符串中提取/返回子字符串。由于子字符串共享公共子字符串(例如,DR-1 和 DR-12 被视为相同),因此搜索/查找不起作用。子字符串可能有任意数量或类型的字符、空格等,并且不统一,因此位置提取(左/中/右)不起作用。最好保持此功能基于。请注意,表 1 中的标准名称在我的实际数据中的长度/格式/字母/数字并不统一,因此我需要在表 1 中查找字符串,而不能基于模式快捷方式。此外,实际的表 1 重复了标准名称,因为每个条目根据后续列代表不同的东西(对这个问题并不重要,除了它们重复可能使情况复杂化)
在我意识到搜索不起作用之前,我使用的原始公式是:
=IF(B6="","",INDEX(Table1,MATCH(1,SEARCH(Table1[Name],[@Input]),-1),MATCH(Table1[[#Headers],[Name]],Table1[#Headers],0)))
表 1 - 标准名称
姓名 | 其他信息 |
---|---|
DR-1 | A |
DR-1 | 乙 |
DR-1 | C |
DR-12 | 1 |
DR-12 | 2 |
DR-2 | A |
MH-2 | 1 |
MH-21 | 乙 |
表 2 - 输入数据和结果
输入 | 结果 |
---|---|
词 DR-1_ | DR-1 |
wordDR-1 | DR-1 |
wordDR-12 1234 | DR-12 |
DR-2 | DR-2 |
MH-2MOD | MH-2 |
MH-21 EL 2.33 改装版 1.0 | MH-21 |