Вопрос или проблема
Я уже давно пытаюсь разобраться с этой VLOOKUP
и не могу её понять. Я пытаюсь сопоставить имена из разных источников данных с именами, которые у меня есть. Поэтому чаще всего у нас будет имя в нашей системе, но оно может быть написано по-другому. Таким образом, я хочу использовать функцию VLOOKUP
, которая будет сопоставлять первое слово имени + следующие 2 буквы после пробела.
Пример:
Я выяснил, что могу выделить первое слово, сделав VLOOKUP
с помощью LEFT
и FIND
, чтобы выделить первое слово до пробела.
=VLOOKUP(LEFT(B19,FIND(" ",B19)-1)&"*",[report1554766140823.csv]report1554766140823!$A:$J,2,FALSE())
Я привел два примера на изображении: один случай, когда это работает (строка 19), и один случай, когда это не работает (строки 21, 22, 23).
Вы можете видеть, что это работает в строке 19, но в строках 21, 22, 23 она подбирает другое имя с первым словом ‘American’.
Мне было интересно, могу ли я объединить VLOOKUP
первого слова и первых 2 букв второго слова с помощью формулы, например:
=VLOOKUP(LEFT(B19,FIND(" ",B19)-1)&(RIGHT(B19,FIND(" ",B19)+2),[report1554766140823.csv]report1554766140823!$A:$J,2,FALSE())
Будет ли это возможно?
=VLOOKUP(LEFT(B19,FIND(" ",B19)+2)&"*",[report1554766140823.csv]report1554766140823!$A:$J,2,FALSE())
Вам нужно всего лишь добавить -1, так как +2 вы хотите расширить после символа пробела на +2, а не уменьшать его.
Ответ или решение
Чтобы достичь нужного результата с помощью функции VLOOKUP
, где вам необходимо сопоставить имена по первому слову и первым двум буквам второго слова, необходимо корректно составить формулу. Давайте рассмотрим, как это можно сделать на практике.
Шаг 1: Извлечение первого слова
Вам удалось правильно использовать функции LEFT
и FIND
, чтобы получить первое слово. Формула, которую вы применяете, выглядит так:
LEFT(B19, FIND(" ", B19) - 1)
Это действительная часть, которая возвращает первое слово из строки в ячейке B19.
Шаг 2: Извлечение первых двух букв второго слова
Теперь необходимо добавить функцию для извлечения первых двух букв второго слова. Мы можем использовать MID
или RIGHT
в комбинации с FIND
, чтобы получить нужные символы.
Вот как это можно сделать шаг за шагом:
-
Найдите позицию пробела:
FIND(" ", B19)
-
Определите начальную позицию второго слова, прибавив 1 к позиции пробела:
FIND(" ", B19) + 1
-
Получите первые два символа второго слова, используя функцию
MID
:MID(B19, FIND(" ", B19) + 1, 2)
Шаг 3: Объединение результатов
Теперь, когда у вас есть обе части — первое слово и первые две буквы второго слова, вы можете объединить их с помощью оператора &
:
=LEFT(B19, FIND(" ", B19) - 1) & MID(B19, FIND(" ", B19) + 1, 2)
Шаг 4: Полная формула VLOOKUP
Теперь вы можете интегрировать эту формулу в VLOOKUP
. Получаем следующую финальную формулу:
=VLOOKUP(LEFT(B19, FIND(" ", B19) - 1) & MID(B19, FIND(" ", B19) + 1, 2), [report1554766140823.csv]report1554766140823!$A:$J, 2, FALSE)
Итог
Теперь, когда вы собрали полную формулу, VLOOKUP
будет успешно извлекать нужные имена, сопоставляя первое слово и первые две буквы второго слова. Убедитесь, что данные в исходном диапазоне без лишних пробелов и в едином формате, чтобы минимизировать вероятность ошибок.
Следуя этой инструкции, вы сможете провести более точные сопоставления имен в ваших данных. Если возникнут дополнительные вопросы или потребуется помощь, пожалуйста, дайте знать!