XLOOKUP не работает, если искомый элемент не находится в первом столбце диапазона поиска или если вы забыли указать аргумент для пустого результата. Проверьте эти три настройки, прежде чем искать ошибку в данных.
Второй аргумент — ваш диапазон поиска (lookup_array)
Самая частая причина. XLOOKUP ищет значение только в первом столбце указанного вами диапазона.
- Ошибка:
=XLOOKUP(A2; C2:D100; D2:D100). Здесь вы ищетеA2в диапазонеC2:D100. Формула будет смотреть только в столбец C (первый столбец диапазонаC:D). Если совпадения нет там — результат#Н/Д. - Исправление: Убедитесь, что ваш
lookup_array— это один столбец (или строка), где точно находятся искомые ключи. Правильно:=XLOOKUP(A2; C2:C100; D2:D100).
Четвертый аргумент — что делать, если нет совпадения ([if_not_found])
В отличие от ВПР, XLOOKUP не маскирует ошибки #Н/Д по умолчанию. Если совпадения нет, вы увидите именно эту ошибку.
- Проблема: Вы ожидаете пустую ячейку или прочерк, а получаете
#Н/Д, что ломает последующие расчеты, например, Excel игнорирует нули и ошибки — 3 точные формулы для чистого среднего. - Решение: Всегда указывайте четвертый аргумент. Это не опция, а правило для стабильных отчетов. Например:
=XLOOKUP(A2; C2:C100; D2:D100; "Не найден")или=XLOOKUP(A2; C2:C100; D2:D100; 0)или=XLOOKUP(A2; C2:C100; D2:D100; "")для пустой строки.
Пятый аргумент — режим поиска ([search_mode])
По умолчанию XLOOKUP ищет с первого элемента (режим 1). Но если ваш диапазон поиска (lookup_array) не отсортирован по возрастанию, а вы используете бинарный поиск (режимы 2 или -2 для ускорения), результат будет неверным или вы получите #Н/Д.
- Проверка: Посмотрите на формулу. Если пятый аргумент
2(поиск по убыванию) или-2(бинарный поиск с последнего элемента), вашlookup_arrayдолжен быть строго отсортирован соответствующим образом. - Быстрое исправление: Для несортированных данных (списков, справочников) либо уберите пятый аргумент, либо явно укажите
1(поиск с первого) или-1(поиск с последнего). Часто проблема решается простым удалением лишних аргументов:=XLOOKUP(A2; C2:C100; D2:D100; "Не найден"; 1).
Чек-лист: что проверить за 60 секунд
- Диапазон поиска (
lookup_array) — это один столбец с ключами? Убедитесь, что не захватили лишние столбцы. - Аргумент
[if_not_found]— прописан ли? Если нет, добавьте""или0. - Режим поиска — если данные не отсортированы, удалите пятый аргумент или поставьте
1. - Разделители — в русской версии Excel это точка с запятой (
;), а не запятая. - Абсолютные ссылки — если копируете формулу, зафиксируйте диапазон:
$C$2:$C$100.
Если после всех проверок XLOOKUP всё равно возвращает ошибку, возможно, в самих данных есть невидимые пробелы или разный формат (текст vs число). Очистить ячейки поможет инструмент «Найти и заменить» или [функция СЖПРОБЕЛЫ](Как быстро разбить ФИО на три столбца в Excel и Google Таблицы), кстати, если нужно быстро сравнить два списка на предмет таких несоответствий — гляньте инструкцию по сравнению двух столбцов в Excel за 30 секунд. Пишите на почту info@эксел.рф, если нужен готовый шаблон с уже настроенным и защищенным от ошибок поиском по базе контрагентов или номенклатуре.



