Требуется помощь в отлове ошибки в VLOOKUP (критерий дает не тот индекс)

Автор maksvlad, 12 сентября 2018, 16:35

0 Пользователи и 1 гость просматривают эту тему.

maksvlad

Добрый день, форумчане
Не могу отловить баг в формуле с VLOOKUP
Проблема проявляется в том, что в результат поиска не соответствует заданному критерию.
Файл прилагается.
Строки с ошибкой выделены светло-розовым


bigor

Последний параметр VLOOKUP, 1 - для отсортированных по возрастанию массивов, у тебя не отсортированный - ставь 0
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Или если можно отсортировать исходные данные по возрастанию.

maksvlad

Цитата: Bigor от 12 сентября 2018, 16:43
Последний параметр VLOOKUP, 1 - для отсортированных по возрастанию массивов, у тебя не отсортированный - ставь 0
От спасибо. Заработало ;) когда мануалы читал, не уловил я нюанса с сортировкой

Цитата: rami от 12 сентября 2018, 16:55
Или если можно отсортировать исходные данные по возрастанию.
В данном случае - это не вариант

economist

А еще привыкшим к Excel (таких много) - стоит включить вот этот параметр, иначе VLOOKUP/ВПР тоже будет "врать" и возвращать не то, что ожидалось:

Сервис - Параметры - Calc - Вычисления - Условия поиска <> = должны распространяться на всю ячейку
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

maksvlad

Цитата: economist от 12 сентября 2018, 22:14
А еще привыкшим к Excel (таких много) - стоит включить вот этот параметр, иначе VLOOKUP/ВПР тоже будет "врать" и возвращать не то, что ожидалось:

Сервис - Параметры - Calc - Вычисления - Условия поиска <> = должны распространяться на всю ячейку
Проверил. Включен. Судя по всему, он включен по-умолчанию.

maksvlad

#6
Цитата: Bigor от 12 сентября 2018, 14:43Последний параметр VLOOKUP, 1 - для отсортированных по возрастанию массивов, у тебя не отсортированный - ставь 0
Проявился один не понятный для меня нюанс: если значение "0" (как я накопал, это означает точное соответствие), то результат = "#N/A". В качестве искомого - "2А-1111/18"

Куда копать, комрады?

rami

Птичка "Учитывать регистр" стоит? в настройках параметров вычислений?

maksvlad

Цитата: rami от 21 сентября 2018, 07:51
Птичка "Учитывать регистр" стоит? в настройках параметров вычислений?
нет. не стоит.

Скорее всего здесь вот это
ЦитироватьThe VLOOKUP function cannot look at its left. It always searches for the lookup value in the left-most column of the lookup range (table_array).

Значение было в третьей колонке из индекса. Сейчас проверяю

rami

Цитата: maksvlad от 21 сентября 2018, 06:02нет. не стоит.
Поставьте.

Цитата: maksvlad от 21 сентября 2018, 06:02Скорее всего здесь вот это
Цитата:
The VLOOKUP function cannot look at its left. It always searches for the lookup value in the left-most column of the lookup range (table_array).
Это значит, что критерий поиска должен быть в первом столбце диапазона (как у вас). Тут проблем нет.

maksvlad

Цитата: rami от 21 сентября 2018, 08:13
Это значит, что критерий поиска должен быть в первом столбце диапазона (как у вас). Тут проблем нет.
В этом и была проблема :) Ибо критерий находился не в первом, а в третьем столбце... Мысль же она прет... И вместе с ней движутся, иногда, и данные по таблицам ;)
Спасибо за помощь

rami

Цитата: maksvlad от 21 сентября 2018, 10:25Ибо критерий находился не в первом, а в третьем столбце... Мысль же она прет... И вместе с ней движутся, иногда, и данные по таблицам
О движении мысли нужно предупреждать, я смотрел в ваш документ в первом посте.

economist

Если критерий гуляет по столбцам - лучше использовать связку функций вида =ИНДЕКС(ПОИСКПОЗ...)
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

maksvlad

Цитата: rami от 21 сентября 2018, 10:43=ИНДЕКС(ПОИСКПОЗ
Спасибо за подсказку. Подумаю, как это применить

Цитата: rami от 21 сентября 2018, 10:43
О движении мысли нужно предупреждать, я смотрел в ваш документ в первом посте.
Все верно :) Хорошее документирование облегчает жизнь... в идеале... но она, к сожалению, не идеальна. Но мы будем над этим бороться