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

Пусть у нас есть четыре таблицы с продажами пофамильно. Каждая таблица соответствует своему региону. Мы хотим указать программе фамилию, чтобы ВПР нашёл продажи этого человека. Вы можете объединить таблицы в одну, и потом выбирать оттуда данные. А можете обойтись без этого, используя описанный ниже метод.

данные в нескольких таблицах

Распишем алгоритм в естественной последовательности выполнения задачи:

  1. Ищем нужную фамилию в первой таблице. И не находим, получаем ошибку #Н/Д

    данные не найдены

  2. Теперь нужно как-то сказать программе, что следует повторить поиск в следующей таблице. Для этого можно воспользоваться функциями перехвата ошибок ЕСЛИОШИБКА или ЕСНД. Я воспользуюсь первой: =ЕСЛИОШИБКА(ВПР(I3;таблица_1;2;0);ВПР(I3;таблица_2;2;0))

    перехват ошибки

    Здесь мы задали такую логику: программа ищет фамилию в первой таблице, и если не находит (возвращается ошибка) – ищет во второй с помощью еще одного ВПР.

  3. Аналогично, мы еще 2 раза обернем ВПР в функцию ЕСЛИОШИБКА, чтобы она переходила к третьему и четвертому диапазону:

    проверка всех таблиц

Получилась такая «шагающая» формула, которая, при неудаче в каждой таблице, переходит в следующую и снова ищет нужную фамилию там. Как видите на картинке, мы всё же получили правильный результат, а не ошибку.

Можно было бы на этом и остановиться, но я хочу предусмотреть случай, когда мы пытаемся найти человека, которого нет ни в одной из таблиц. В том виде, что есть сейчас, мы снова получим ошибку #Н/Д, а я этого не хочу. Оберну последний ВПР в еще одну функцию ЕСЛИОШИБКА, укажу ей, что в случае появления последней ошибки, вернуть строку «Не найдено»

ничего не найдено

Теперь у нас есть хорошая (хоть и длинная) формула, для поиска в нескольких таблицах. Проделайте указанные здесь операции, чтобы закрепить материал. А если что-то не получится – уточняйте в комментариях, всем отвечу.