Страницы: 1
RSS
Не работает ВПР при перестановке местами искомых значений в виртуальном массиве
 
Здравствуйте.
Столкнулся с неизвестной ошибкой при работе с ВПР.

Есть Исходные данные следующего вида

Пупкин Ставрополь, и диапазон в котором мы ищем вида Ставрополь Пупкин.
Понятно, что если написать для ВПР в качестве аргумента искомое значение Пупкин&Ставрополь, то будет ошибка. Тогда логично что можно по другому задать искомые значения просто поменяв их местами т.е. вместо Пупкин&Ставрополь сделать Ставрополь&Пупкин, и в таком виде задавать как аргумент для ВПР.
Вопреки логике, такой способ не работает.
Прошу разъяснить почему так не работает и как это обойти (без ИНДЕКС и ПОИСКПОЗ, интервальный просмотр=0, и исходные данные на листе тоже нельзя менять)
 
Не работает, потому что у Вас искомое значение "СтавропольПупкин", а диапазон для поиска {"Ставрополь";"Пупкин";3}. Почувствуйте разницу.
Можно так:

Код
=ВПР(C3&B3;ЕСЛИ({1;0};E$3:E$4&F$3:F$4;G$3:G$4);2;0)
формула массива - вводится Ctrl+Shift+Enter
Изменено: DV - 11.01.2014 07:08:04 (изменил диапазоны)
 
Спасибо, DV. Я видел разницу, но только обратил внимание на ";", её пытался "запихнуть" в искомые значение, но толку это не дало. Теперь понятно.

Ваш способ Работает, только вот что делает массив констант {1;0}, получается он выдает значение истина или ложь? И конструкция с Если возвращает таблицу вида СтавропольПупкин без ";"
А как изменить если нужно указать диапазон для поиска вида E3:F4, т.е. "длинную портянку вниз"
 
Я уже изменил диапазоны, смотрите предыдущее сообщение.
 
DV, спасибо, теперь все понятно:
- для увеличения диапазонов надо их "попарно" вертикально сцепить
- а массив {1;0}, это работает так 1-истина, 0-ложь.

Спасибо еще раз.
Страницы: 1
Наверх