
VLOOKUP работает как задумано. XLOOKUP выдает ошибку "#NAME":
скриншот формулы:
рабочая функция ВПР:
=VLOOKUP(C12,B24:C29,2,FALSE)
Что я читаю как «взять значение из c12», посмотреть на таблицу B24:C29, найти второй столбец.
неработающий XLOOKUP:
=XLOOKUP(C11,B24:B29,C24:C29)
что я читаю как:
Поиск значения в ячейке C11, поиск значения в диапазоне B24:B29, возврат соответствующего значения в ячейках C24:C29.
Возможно, я допустил опечатку, но, возможно, я недостаточно понимаю функцию XLOOKUP.
В основном я использую Microsoft Co-Pilot, а также читаю обучающие материалы.
Я воспользуюсь редактором Markdown, но скопирую и вставлю данные:
Client Name SKU Item Name
McGowan 294211 =XLOOKUP(C11,B24:B29,C24:C29)
Grossman 327064 =VLOOKUP(C12,B24:C29,2,FALSE)
Chamberlain 446741
Vong 643081
Williams 294211
Hicks 446741
Singh 306862
Zach 643081
Li 446741
Totals
SKU Description Price
294211 Leather sectional 1399
306862 Entertainment center 809.99
327064 Media cabinet 379.99
446229 Suede recliner 1099.99
446741 End table set 467.99
643081 Dining table 599.99
решение1
Начнем с главного:
Ваша VLOOKUP()
функция, показанная в OP, безусловно, вернет неправильный вывод, начиная с 14
строки th. Второй параметр VLOOKUP()
функции —table_array
которая должна быть либо относительной абсолютной ссылкой, как B$24:C$29
если бы не было заполнено правильно, либо полной абсолютной ссылкой $B$24:$C$29
. При этом формула будет:
=VLOOKUP(C11,B$24:C$29,2,0)
Во-вторых,
XLOOKUP()
функция доступна с Excel 2021+
этого момента, однако я не уверен, почемуСписок_функций_Excel_из_MSFTпо-прежнему показывает только для MS365
, не обновлено может быть.Отличный ресурсчтобы узнать, даже если у вас нет указанной функции, если у вас есть, то создайте Hotmail/Outlook
учетную запись и используйте ее Excel On Web
для изучения использования указанной функции.XLOOKUP_с_примерами.
В-третьих,
Хотя это и не нужно, чтобы использовать альтернативный метод для VLOOKUP()
функции, но вы можете попробовать использовать просто для обучения INDEX()
+ MATCH()
функцию или VLOOKUP()
+ CHOOSE()
или VLOOKUP()
+ IF()
. Обратите внимание, что последние две комбинации формул не так эффективны, как VLOOKUP()
и INDEX()
+ MATCH()
функции. Тем не менее.
• Использование INDEX()
+MATCH()
=INDEX(C$24:C$29,MATCH(C11&"",B$24:B$29&"",0))
• Использование VLOOKUP()
+ IF()
или сCHOOSE()
=VLOOKUP(C11,IF({1,0},B$24:B$29,C$24:C$29),2,FALSE)
Или,
=VLOOKUP(C11,CHOOSE({1,2},B$24:B$29,C$24:C$29),2,FALSE)
Примечание:Обе VLOOKUP()
комбинированные функции должны будут нажать CTRL+ SHIFT+ ENTERпри выходе из режима редактирования на основе единиц Excel Versions
.
СТАРЫЙ подход с использованием LOOKUP()
функции:
=LOOKUP(2,1/(B$24:B$29&""=C11&""),C$24:C$29)
Просто обратите внимание, что приведенная выше формула работает, когда вектор поиска используется в порядке возрастания, в противном случае вы можете получить FALSE POSITIVES
. Таким образом, вывод заключается в том, что лучше использовать XLOOKUP()
(если у вас есть версия Excel), в противном случае используйте VLOOKUP()
или INDEX()
+ MATCH()
(по мере необходимости).