如果子字串與表中的條目匹配,則需要一些幫助從字串中提取/返回子字串。搜尋/尋找不起作用,因為子字串共用公共子子字串(例如,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 |
字DR-1 | DR-1 |
wordDR-12 1234 | DR-12 |
DR-2 | DR-2 |
MH-2MOD | MH-2 |
MH-21 EL 2.33 INV 1.0 | MH-21 |