Нужна помощь в извлечении/возвращении подстроки из строки, если эта подстрока совпадает с записью в таблице. Поиск/нахождение не сработали, так как подстроки имеют общие под-подстроки (например, 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 — Стандартные названия
Имя | Дополнительная информация |
---|---|
ДР-1 | А |
ДР-1 | Б |
ДР-1 | С |
ДР-12 | 1 |
ДР-12 | 2 |
ДР-2 | А |
МХ-2 | 1 |
МН-21 | Б |
Таблица 2 — Входные данные и результаты
Вход | Результат |
---|---|
слово ДР-1_ | ДР-1 |
словоDR-1 | ДР-1 |
словоDR-12 1234 | ДР-12 |
ДР-2 | ДР-2 |
МХ-2МОД | МХ-2 |
MH-21 EL 2.33 ИНВ 1.0 | МН-21 |