
У меня есть две таблицы. Одна с 2 столбцами, а другая с 3 столбцами. T1C1(table1&column1) содержит смесь T2C1 и T2C2. Мне нужно сопоставить T1C1 с T2C1&T2C2 и вернуть значения T2C3 в T1C2.
Вот пример данных.
Я пробовал добавлять
=VLOOKUP(A643,$E$643:$G$654,3,0)
, но получаю #NA для ABW,ALA для всех трехбуквенных данных.
Я пробовал индексировать и сопоставлять, но бесполезно.
решение1
Используя данные вашего примера, вы можете решить эту проблему с помощью функции ЕСЛИОШИБКА. Я использую индекс/соответствие и ссылки на таблицы так часто, как это возможно, но та же идея применима к VLOOKUP и ссылкам на ячейки.
Таблица слева называется "UserInput", а таблица справа — ISODetails. Формула, которую я использовал в столбце B, следующая:
=IFERROR(INDEX(ISODetails[Country ISO 2],MATCH([@[User Input]],ISODetails[Country ISO 3],0)),INDEX(ISODetails[Country ISO 2],MATCH([@[User Input]],ISODetails[Display Full],0)))
ЕСЛИОШИБКА проверяет вашу первую формулу, и если она возвращает "#N/A", то запустит вторую формулу. В этом случае я сначала проверил 3-значный код, а затем проверил полное имя.
Вот объяснение формулы. Извините, это можно было бы отформатировать лучше:
=ЕСЛИОШИБКА(ИНДЕКС(серия, из которой вы хотите отобразить),ПОИСКПОЗ(ваше искомое значение, где вы хотите искать это значение, 0),[если это не сработает, iferror перейдет ко второй части]ИНДЕКС(серия, из которой вы хотите отобразить),ПОИСКПОЗ(искомое значение, другой столбец для поиска),0)))
Надеюсь это поможет.
решение2
Используя VLOOKUP()
, искомое вами значение находится Column F
не в Column E
, поэтому оно VLOOKUP()
должно быть:
=VLOOKUP(A643,$F$643:$G$654,2,0)
Обратите внимание, что пробел будет означать VLOOKUP()
неудачу. Вы можете исправить это, добавив wildcards
в формулу:
=VLOOKUP("*"&A643&"*",$F$643:$G$654,2,0)