Функция ВПР (VLOOKPU) может очень многое и часто умелое использование данной функции сравнивают с тем, умеет человек работать в табличном процессоре, или нет. Несмотря на отличные возможности данная функция имеет некоторое особенности, которые ограничивают ее использование или, другими словами – недостатки.
Смотрите также видеоверсию статьи «Альтернатива функции ВПР (VLOOKUP)».
Первая особенность заключается в том, что поиск всегда осуществляется в первом столбце таблицы, а вторая – результат возвращается справа от искомого столбца. В принципе, с первой особенностью можно бороться, достаточно просто в параметр «таблица» формулы функции ВПР (VLOOKUP) вводить не всю таблицу, а только часть ее, чтобы она начиналась с нужного столбца. А вот со второй особенностью так просто разобраться не получится, конечно можно заняться преобразованием исходной таблицы, но это совсем не то.
Для решения такого недостатка понадобятся формулы ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH). Эксперименты проведем с файлом из справочника Excel формулы ВПР.
Таблицы состоит из трех столбцов и, если найти значение вязкости по плотности, используя ВПР не составит труда, то наоборот уже не получится, по крайней мере, если столбцы таблицы не трогать.
В то же время связка функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) позволит найти значение плотности, используя значения вязкости, т.е. можно осуществлять поиск не только справа от целевого столбца, но и слева.
Итак, формула для поиска плотности при вязкости 2,17 будет следующей:
=ИНДЕКС($A$2:$C$10;ПОИСКПОЗ(2,17;$B$2:$B$10;0);1) – если сортировка данных во втором столбце не произведена;
=ИНДЕКС($A$2:$C$10;ПОИСКПОЗ(2,17;$B$2:$B$10;1);1) – сортировка произведена по возрастанию;
=ИНДЕКС($A$2:$C$10;ПОИСКПОЗ(2,17;$B$2:$B$10;-1);1) – сортировка произведена по убыванию.
Конечно, использование связки ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) несколько сложнее, нежели ВПР (VLOOKUP), однако, она более гибкая в применении и выручает в ситуациях, когда более известную ВПР (VLOOKUP) применить затруднительно.