Используем несколько ВПР в одной формуле
Бывает так, что основная таблица и таблица поиска не имеют ни одного общего столбца, и это мешает использовать обычную функцию ВПР. Однако, существует ещё одна таблица, которая не содержит интересующую нас информацию, но имеет общий столбец с основной таблицей и таблицей поиска.
Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).
Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.
-
Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:
Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)
-
Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:
Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.
На рисунке ниже виден результат, возвращаемый созданной нами формулой:
Сочетание с функцией ПОИСКПОЗ
Теперь давайте перейдем к более сложным задачам, выполняемым с помощью комбинированного использования оператора ИНДЕКС с другими функциями, например, с ПОИСКПОЗ (довольно часто эти функции используются вместе).
Оператор ПОИСКПОЗ возвращает положение указанного значения в выделенном диапазоне ячеек.
Формула функции выглядит следующим образом:
.
Давайте “пробежимся” по аргементам функции:
- Искомое значение – то значение, которе мы хотим найти в выделенном диапазоне;
- Просматриваемый массив – область ячеек, в которой мы будем искать искомое значение;
- Тип сопоставления – с помощью данного аргумента (не является обязательным) можно задать точность поиска.
Использование ПОИСКПОЗ позволяет автоматически заполнить аргументы “Номер строки” и/или “Номер столбца” функции ИНДЕКС.
Чтобы было нагляднее, давайте разберемся, как это работает на практическом примере. Для этого нам понадобится все та же таблица. Также, рядом с ней у нас есть небольшая вспомогательная таблица, в которой отведено место для одного наименования и его стоимости.
Наша задача – используя ИНДЕКС и ПОИСКПОЗ добавить в ячейку со стоимостью (G2) такую функцию, которая будет выводить конкретное значение в зависимости от того, что будет указано в ячейке с наименованием рядом.
Для начала, заполняем ячейку с наименованием. Можно просто скопировать и вставить значение из основной таблицы.
Теперь встаем в ячейку, в которой планируем отображать результат, и жмем кнопку “Вставить функцию” (fx).
Выбираем функцию ИНДЕКС из списка операторов.
Выбираем список аргументов для массива и жмем OK.
Приступаем к заполнению аргументов:
в значении “Массива” указываем ячейки столбца, содержащего цены позиций. Сделать это можно вручную или с помощью выделения ячеек в самой таблице.
в поле аргумента “Номер_строки” требуется добавить оператор ПОИСКПОЗ. Для этого делаем следующее:
перейдя в поле для заполнения данного аргумента щелкаем по небольшой стрелке вниз в поле с именем ячейки (в котором будет отображаться название текущей функции), расположенным слева от кнопки “Вставить функцию”.
в раскрывшемся перечне выбираем пункт “Другие функции”.
в очередном окне Мастера функций выбираем категорию “Ссылки и массивы”, находим оператор “ПОИСКПОЗ”, отмечаем его и жмем OK.
в аргументе “Искомое_значение” указываем адрес ячейки, по содержимому которого будет выполняться поиск в основном массиве (в нашем случае – это F2). В “Просматриваемом_массиве” указываем вручную или с помощью выделения в самой таблице диапазон ячеек, в котором будет производиться поиск искомого значения
В аргумент “Тип_сопоставления” указываем цифру .
Обращаем внимание на строку формул. Здесь мы левой кнопкой мыши щелкаем по слову “ИНДЕКС”.
появится снова список аргументов функции ИНДЕКС
Мы можем заметить, что в результате проделанных выше действий, поле “Номер_строки” заполнилось автоматически. Так как выделенный массив одномерный и содержит только один столбец, последний аргумент оставляем незаполненным и жмем кнопку OK.Примечание: заполнить аргумент “Номер_строки” можно и вручную, ориентируясь на синтаксис функции ПОИСКПОЗ.
Таким образом, мы получаем в выбранной ячейке нужный результат, а именно цену указанной рядом позиции.
Так как информация “подтягивается” с помощью формулы, изменение цены соответствующей позиции в основной таблице немедленно отразится в данной ячейке.
Также, если мы изменим наименование позиции во вспомогательной таблице, ее цена автоматически будет заполнена из основной.
Поиск по одному слову
Как найти значение в Excel
Когда вы работаете с электронной таблицей, иногда вам нужно искать определенное значение ячейки. Конечно, если это небольшой лист, вы можете пробежаться глазами по экрану, чтобы найти ячейку. Но эта задача может быстро стать обременительной, если нужно обработать тысячи строк и столбцов.
Не волнуйся. Функция поиска в Microsoft Excel поможет вам. Чтобы найти определенное значение ячейки:
- Сначала выберите диапазон ячеек, в котором вы хотите выполнить поиск. Если вы хотите выполнить поиск по всей таблице, просто щелкните случайную ячейку.
- Перейдите на главную> Найти и выбрать> Найти . Как вариант, вы также можете использовать комбинацию клавиш Ctrl + F.
- Рядом с меткой « Найти» введите значение, которое вы хотите найти.
- Excel выделит первое появление значения в электронной таблице. Нажмите кнопку « Найти далее» , чтобы перейти ко второй ячейке.
Вы можете перечислить все вхождения поискового запроса, щелкнув опцию « Найти все» . Нажав на запись, вы попадете в соответствующую ячейку.
Используйте подстановочные знаки для поиска ячеек
Excel также позволяет использовать подстановочные знаки при поиске значений в электронной таблице.
- Звездочка (*) : соответствует строке символов. Ab * будет соответствовать Abbott, Abandon, Absolutely и т. Д.
- Вопросительный знак (?) : Соответствует одному символу. Ab? будет соответствовать Abc, Abd, Abz и т. д.
Например, для поиска значений, начинающихся с J в электронной таблице, введите «J *» в поле « Найти» .
Найти ячейки с определенным форматированием
Excel также позволяет искать форматирование ячейки, а не ее значение. Для этого нажмите Ctrl + F, чтобы открыть диалоговое окно « Найти и заменить ». Затем нажмите на опцию « Формат», расположенную справа.
Выберите форматирование, которое вы хотите найти. Например, варианты форматирования на изображении ниже будут искать ячейки с зеленым фоном.
Щелкните ОК . Затем выберите вариант « Найти далее» или « Найти все» . Excel перечислит все ячейки с тем же стилем форматирования, который вы указали.
Найти ячейки с формулами
Точно так же вы также можете искать ячейки, в которых используются формулы. Перейдите на главную> Найти и выбрать, а затем нажмите на опцию Перейти к специальному .
Excel отобразит список параметров с флажками. Проверьте формулы и выберите подпункты, которые соответствуют вашим потребностям. Параметры « Числа» выделяют формулы, возвращающие числа, « Текст» – формулы, возвращающие текстовое значение, и т. Д.
После этого нажмите OK , и Excel выделит все ячейки с формулами, соответствующими критериям.
Как сравнить два столбца в Excel по строкам
Сравнивая два столбца с данными часто необходимо сравнивать данные в каждой отдельной строке на совпадения или различия. Сделать такой анализ мы можем с помощью функции ЕСЛИ . Рассмотрим как это работает на примерах ниже.
Пример 1. Как сравнить два столбца на совпадения и различия в одной строке
Для того, чтобы сравнить данные в каждой строке двух столбцов в Excel напишем простую формулу ЕСЛИ . Вставлять формулу следует в каждую строку в соседнем столбце, рядом с таблицей, в которой размещены основные данные. Создав формулу для первой строки таблицы, мы сможем ее протянуть/скопировать на остальные строки.
Для того чтобы проверить, содержат ли два столбца одной строки одинаковые данные нам потребуется формула:
Формула, определяющая различия между данными двух столбцов в одной строке будет выглядеть так:
Мы можем уместить проверку на совпадения и различия между двумя столбцами в одной строке в одной формуле:
Пример результата вычислений может выглядеть так:
Для того чтобы сравнить данные в двух столбцах одной строки с учетом регистра следует использовать формулу:
Поиск точного совпадения с помощью ВПР
Посмотрим на примере, как работает функция ВПР, когда выбран тип сопоставления «ЛОЖЬ», поиск точного совпадения. В массиве В5:Е10
указаны основные средства некой компании, их балансовая стоимость, инвентарный номер и место расположения. В ячейке В2
указано наименование, для которого нужно в таблице найти инвентарный номер и поместить его в ячейку С2
.
Запишем формулу: =ВПР(B2;B5:E10;3;ЛОЖЬ)
.
Здесь первый аргумент указывает, что в таблице нужно искать значение из ячейки В2
, т.е. слово «Факс». Второй аргумент говорит, что таблица для поиска — в диапазоне В5:Е10
, а искать слово «Факс» нужно в первом столбце, т.е. в массиве В5:В10
. Третий аргумент сообщает программе, что результат расчета содержится в третьем столбце массива, т.е. D5:D10
. Четвёртый аргумент равен «ЛОЖЬ», т.е. требуется полное совпадение.
И так, функция получит строку «Факс» из ячейки В2
и будет искать его в массиве В5:В10
сверху вниз. Как только совпадение будет найдено (строка 8), функция вернёт соответствующее значение из столбца D
, т.е. содержимое D8
. Именно это нам и требовалось, задача решена.
Если искомое значение не будет найдено, функция вернёт .
Способ 1
Самый простой способ — выполнить поиск. Для этого можно нажать клавиатурную комбинацию CTRL + F (от англ. Find), откроется окно поиска слов. Для нажатия клавиатурной комбинации, нажмите клавишу клавиатуры CTRL и, удерживая ее, нажмите клавишу F (на английский язык переходить не нужно).
Вместо клавиатурной комбинации можно использовать кнопку поиска на панели Главная — Найти и выделить — Найти.
По умолчанию открывается маленькое окно, в которое нужно вписать искомое слово и нажать клавишу Найти все или Найти далее.
Найти все — выполнит поиск всех совпадений с указанной фразой. В окне ниже появится список, в котором будет указана фраза, содержащая искомые символы, а также место в документе, где символы были найдены.
Для удобства работы это окно можно увеличить, потянув за маркер в правом нижнем углу.
Также можно сделать шире столбцы: Книга, Лист, Имя и т.д., потянув за маркеры между названиями столбцов.
В столбце Значение можно видеть полный текст ячейки, в котором есть искомые символы (в нашем примере — excel). Чтобы перейти к этому месту в таблице просто нажмите левой кнопкой мыши на нужную строку, и курсор автоматически переместится в выбранную ячейку таблицы.
Найти далее — выделит и перейдет к следующей ячейке, в которой найдены искомые символы. Таким образом можно последовательно переходить от одной найденной ячейке к другой.
Как работать с поиском в Excel
Взаимодействие с поиском по таблице Excel происходит через интерфейс инструмента «Найти и заменить». Как следует из названия, с его помощью очень легко найти и заменить текстовые или числовые значения. Однако, если вам требуется выполнить только поиск, то этот инструмент тоже неплохо подойдет.
Далее рассмотрим варианты поиска данных по таблице Excel.
Вариант 1: Быстрый поиск
Это наиболее простой вариант поиска данных по всей таблице. В итоге он находит все ячейки, где содержится введенный набор символов в точном совпадении. Регистр при вводе не учитывается.
Использование инструмента происходит по данной инструкции:
- Откройте нужный документ в Excel. В верхнем меню переключитесь на вкладку «Главная». Вообще она открыта всегда по умолчанию.
- Теперь кликните по блоку «Найти и выделить». В контекстном меню выберите «Найти». Вместо описанных действий можно просто воспользоваться сочетанием клавиш Ctrl+F.
После у вас откроется окно «Найти и заменить» во вкладке «Найти». В одноименное поле введите слово, символы, или выражения, по которым собираетесь производить поиск. Для запуска процесса нажмите на кнопку «Найти все» или «Найти далее». Различия между ними следующие:
- В первом случае все результаты поиска выводятся в нижней части окна в виде списка. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Можно перейти к любому результату, просто кликнув по нему левой кнопкой мыши.
- Во втором случае вы перемещаетесь сразу же к первому найденному совпадению. Сама ячейка с найденным совпадением становится автоматически активной. Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «лев», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, слово «налево».
Вариант 2: поиск в указанном интервале
Если вы точно знаете, где примерно расположен искомый вами объект, то можете воспользоваться данным вариантом поиска. В этом случае вам будут показаны только результаты, находящиеся только в выделенном диапазоне. Очень удобно, если в таблице очень часто встречается искомый элемент, а вам нужно только чтобы он был отображен только в определенной части таблицы.
Инструкция к этому типу поиска выглядит следующим образом:
- Выделите область ячеек, внутри которых нужно провести поиск. Если вам нужно выделить несколько областей, разделенных между собой другими ячейками, то зажмите клавишу Ctrl, чтобы добавить новый блок к выделению.
- После выделения вызовите окошко поиска, воспользовавшись сочетанием клавиш Ctrl+F.
- Откроется такое же окно для поиска, как и в предыдущем варианте с той только поправкой, что оно будет искать только в выделенной области. В поле «Найти» введите то, что вам нужно отыскать.
- Воспользуйтесь кнопкой «Найти все» или «Найти далее». Подробно о том, чем обе кнопки отличаются друг от друга мы писали выше.
Вариант 3: Расширенный поиск
При обычном поиске в результат выдачи будут попадать все ячейки, которые содержат последовательный набор поисковых символов в любом виде не зависимо от регистра. Мало того, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Если в поиск задать цифру 4, то все равно будет показываться ячейка E2, даже если результат сумм A4 и C3 получился совершенно другим.
Возможности расширенного поиска позволяют избежать представленных трудностей. Давайте рассмотрим, как с ними взаимодействовать:
- Вызовите окно обычного поиска. Это можно сделать через кнопку «Найти» или воспользовавшись сочетанием клавиш Ctrl+F.
- В открывшемся окне настроек воспользуйтесь кнопкой «Параметры».
- После этого появится целый ряд параметров, которые можно настроить под себя, например, можно сделать так, чтобы во время поиска учитывался регистр, в поиске выводились элементы, содержащие точное наименование. Также здесь можно задать, что конкретно просматривать, в какой части документа искать и даже формат, в котором должен быть результат.
Указав все необходимые параметры для поиска, воспользуйтесь строкой «Найти» и введите туда искомое значение.
После этого используйтесь одну из двух кнопок «Найти все» или «Найти далее».
Как видите, в Excel представлен довольно функциональный поиск по элементам. Мало того, вы можете искать необходимые значения не только на конкретном листе, но и по всему файлу или какой-то небольшой области.
Другие примеры использования функции ПОИСК
=МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))
Найти первую цифру в ячейке и вернуть все, что перед ней:
=ЛЕВСИМВ(A1,МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))-1)
Узнать, содержит ли ячейка латиницу. Формула вернет «ИСТИНА» или «ЛОЖЬ» (формула массива):
=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0
Поясним, как работает эта формула. Функция СТРОКА(65:90) возвращает массив номеров строк с 65 по 90 включительно.
В таблице ASCII находятся числовые коды латинских букв. Функция СИМВОЛ возвращает для каждого числового кода соответствующую ему букву, таким образом создавая массив латинских букв.
Функция ПОИСК последовательно перебирает этот массив, ищет каждую из этих букв в тексте и возвращает либо число, либо ошибку, таким образом создавая массив чисел и ошибок.
Функция СЧЁТ считает числа в полученном массиве. Если результат больше нуля, значит, хотя бы один символ латиницы был найден. Если результат – ноль, то латинских букв нет.
Аналогично можно узнать, содержит ли ячейка кириллицу. Формула вернет «ИСТИНА» или «ЛОЖЬ» (формула массива):
=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0
Определить, содержит ли текст ключевые слова.
Если у вас есть массив текстовых значений, и вы хотите узнать, содержат ли они определенные ключевые слова, формула ПОИСК поможет это сделать. Вы можете использовать ее в сочетании с функцией ЕСЛИ, чтобы создать условие, которое проверяет наличие ключевого слова в тексте.
Формула для определения присутствия ключевого слова в тексте:
=ЕСЛИ(ЕСЛИОШИБКА(ПОИСК(«ключевое_слово»; A1); 0) > 0; «Содержит»; «Не содержит»)
где A1 — ячейка с текстом, а «ключевое_слово» — искомое слово.
Разновидности поиска
Поиск совпадений
Иногда бывает необходимо обнаружить в таблице повторяющиеся значения. Чтобы произвести поиск совпадений, сначала нужно выделить диапазон поиска. Затем, на той же вкладке «Главная» в группе «Стили», открыть инструмент «Условное форматирование». Далее последовательно выбрать пункты «Правила выделения ячеек» и «Повторяющиеся значения».
Результат представлен на скриншоте ниже.
При необходимости пользователь может поменять цвет визуального отображения совпавших ячеек.
Фильтрация
Другая разновидность поиска – фильтрация. Предположим, что пользователь хочет в столбце B найти числовые значения в диапазоне от 3000 до 4000.
- Выделить первый столбец с заголовком.
- На той же вкладке «Главная» в разделе «Редактирование» открыть инструмент «Сортировка и фильтр», и щёлкнуть пункт «Фильтр».
- В верхней строчке столбца B появляется треугольник – условный знак списка. После его открытия в списке «Числовые фильтры» щёлкнуть пункт «между».
- В окне «Пользовательский автофильтр» следует ввести начальное и конечное значение плюс OK.
Как видно, отображаться стали только строки, удовлетворяющие введённому условию. Все остальные оказались временно скрытыми. Для возврата к начальному состоянию следует повторить шаг 2.
Различные варианты поиска были рассмотрены на примере Excel 2010. Как сделать поиск в эксель других версий? Разница в переходе к фильтрации есть в версии 2003. В меню «Данные» следует последовательно выбрать команды «Фильтр», «Автофильтр», «Условие» и «Пользовательский автофильтр».
Поиск значения в строке Excel
Теперь узнаем, в каком максимальном объеме и в каком месяце была максимальная продажа Товара 4.
Чтобы выполнить поиск по столбцам следует:
Найдено в каком месяце и какая была наибольшая продажа Товара 4 на протяжении двух кварталов.
Принцип действия формулы поиска значения в строке Excel:
В первом аргументе функции ВПР (Вертикальный ПРосмотр) указывается ссылка на ячейку где находится критерий поиска. Во втором аргументе указывается диапазон ячеек для просмотра в процессе поиска. В третьем аргументе функции ВПР должен указываться номер столбца, из которого следует взять значение на против строки с именем Товар 4. Но так как нам заранее не известен этот номер мы с помощью функции СТОЛБЕЦ создаем массив номеров столбцов для диапазона B4:G15.
Это позволяет функции ВПР собрать целый массив значений. В результате в памяти хранится все соответствующие значения каждому столбцу по строке Товар 4 (а именно: 360; 958; 201; 605; 462; 832). После чего функции МАКС остается только взять из этого массива максимальное число и возвратить в качестве значения для ячейки D1, как результат вычисления формулы.
Как видно конструкция формулы проста и лаконична. На ее основе можно в похожий способ находить для определенного товара и другие показатели. Например, минимальное или среднее значение объема продаж используя для этого функции МИН или СРЗНАЧ. Вам ни что не препятствует, чтобы приведенный этот скелет формулы применить с использованием более сложных функций для реализации максимально комфортного анализа отчета по продажам.
Как получить заголовки столбцов по зачиню одной ячейки?
Например, как эффектно мы отобразили месяц, в котором была максимальная продажа, с помощью второй формулы. Не сложно заметить что во второй формуле мы использовали скелет первой формулы без функции МАКС. Главная структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0). Мы заменили функцию МАКС на ПОИСКПОЗ, которая в первом аргументе использует значение, полученное предыдущей формулой. Оно теперь выступает в качестве критерия для поиска месяца. И в результате функция ПОИСКПОЗ нам возвращает номер столбца 2 где находится максимальное значение объема продаж для товара 4. После чего в работу включается функция ИНДЕКС, которая возвращает значение по номеру сроки и столбца из определенного в ее аргументах диапазона. Так как у нас есть номер столбца 2, а номер строки в диапазоне где хранятся названия месяцев в любые случаи будет 1. Тогда нам осталось функцией ИНДЕКС получить соответственное значение из диапазона B4:G4 – Февраль (второй месяц).
Используем несколько ВПР в одной формуле
Бывает так, что основная таблица и таблица поиска не имеют ни одного общего столбца, и это мешает использовать обычную функцию ВПР. Однако, существует ещё одна таблица, которая не содержит интересующую нас информацию, но имеет общий столбец с основной таблицей и таблицей поиска.
Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).
Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.
-
Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:
Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)
-
Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:
Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.
На рисунке ниже виден результат, возвращаемый созданной нами формулой:
Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы : Простой способ, знакомая функция, работает с любыми данными.
Минусы : Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).