Excel поиск различных значений

Skip to content

Как получить список уникальных значений

В статье описано, как получить список уникальных значений в столбце с помощью формулы и как настроить эту формулу для различных наборов данных. Вы также узнаете, как быстро получить отдельный список с помощью расширенного фильтра Excel и как извлечь уникальные записи с помощью Duplicate Remover.

В нескольких недавних статьях мы обсудили различные методы подсчета и поиска уникальных значений в Excel. Если у вас была возможность прочитать эти руководства, вы уже знаете, как получить этот список при помощи идентификации, фильтрации и копирования. Но это немного длинный и далеко не единственный способ извлечения уникальных значений в Excel. Вы можете сделать это намного быстрее, используя специальную формулу. И сейчас я покажу вам этот и несколько других приёмов.

  • Формулы для уникальных значений в столбце.
  • Как извлечь уникальные + 1е вхождение дубликатов.
  • Если нужно игнорировать пустые ячейки.
  • Выбираем уникальные с учетом регистра.
  • Отбор уникальных значений по условию.
  • Как извлечь уникальные значения из диапазона.
  • Применяем встроенный инструмент удаления дубликатов.
  • Список уникальных при помощи расширенного фильтра.
  • Извлечение уникальных данных при помощи Duplicate Remover.

Базовые формулы для получения уникальных значений.

Чтобы избежать путаницы, сначала давайте договоримся о том, что мы называем уникальными значениями в Excel. 

Уникальные значения — это значения, которые присутствуют в списке только один раз. Например:

Чтобы получить список уникальных значений в Excel, используйте одну из следующих формул.

Формула уникальных значений массива (заполняется нажатием Ctrl + Shift + Enter):

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0; СЧЁТЕСЛИ($B$1:B1;$A$2:$A$10) + (СЧЁТЕСЛИ($A$2:$A$10; $A$2:$A$10)<>1); 0)); «»)

Можно воспользоваться и обычной формулой (вводится нажатием Enter):

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0;ИНДЕКС(СЧЁТЕСЛИ($B$1:B1; $A$2:$A$10) + (СЧЁТЕСЛИ($A$2:$A$10; $A$2:$A$10)<>1);0;0); 0)); «»)

В приведенных выше формулах используются следующие ссылки:

  • A2: A10 – исходных перечень данных.
  • B1 — верхняя ячейка уникального списка минус одна строка. В этом примере мы начинаем создавать список уникальных в B2, и поэтому мы записываем B1 в формулу (B2 — 1 строка = B1). Если ваш список начинается, скажем, с ячейки C3, измените $B$1:B1 на $C$2:C2.

В этом примере мы извлекаем уникальные имена из столбца A (точнее из диапазона A2: A10), а следующий скриншот демонстрирует формулу в действии:

Вот наш порядок действий:

  • Измените любую из формул в соответствии с вашим диапазоном данных.
  • Введите ее в первую ячейку, с которой начнётся формирование списка (в данном примере B2).
  • Если вы используете формулу массива, нажмите Ctrl + Shift + Enter. Если вы выбрали обычную, нажмите просто клавишу Enter.
  • Скопируйте вниз настолько, насколько это необходимо, перетащив мышкой маркер заполнения. Поскольку обе формулы заключены в функцию ЕСЛИОШИБКА, вы можете скопировать вниз с запасом. Это не испортит ваши данные какими-либо ошибками, независимо от того, сколько уникальных значений было извлечено.

Как извлечь различные значения.

Различные значения — появляются в перечне данных хотя бы один раз. Это все уникальные и первое вхождение повторяющихся значений.

Например:

Чтобы получить их список в Excel, используйте следующие формулы.

Формула массива (требуется нажать Ctrl + Shift + Enter):

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0; СЧЁТЕСЛИ($B$1:B1; $A$2:$A$13); 0)); «»)}

или можно так:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; НАИМЕНЬШИЙ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$2:$A$13;$B$1:B1;0)); СТРОКА($A$1:$A$15);»»);1));»»)}

Обычная  формула:

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0; ИНДЕКС(СЧЁТЕСЛИ($B$1:B1; $A$2:$A$13); 0; 0); 0)); «»)

Где:

  • A2: A13 — это список источников.
  • B1 — это ячейка над первой ячейкой отдельного списка. В этом примере отдельный список начинается с ячейки B2 (это первая ячейка, в которую вы вводите формулу), поэтому вы ссылаетесь на B1.

Как извлечь значения, игнорируя пустые ячейки

Если исходный список содержит пустые ячейки, формула, которую мы только что обсудили, вернет ноль для каждой пустой строки, что может быть проблемой. Это вы и наблюдаете на скриншоте чуть выше. Чтобы исправить это, сделаем несколько небольших корректировок.

Формула массива для извлечения различных значений, исключая пустые ячейки:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0;СЧЁТЕСЛИ($C$1:C1;$A$2:$A$13&»») + ЕСЛИ($A$2:$A$13=»»;1;0); 0)); «»)}

Аналогичным образом вы можете получить список различных значений, исключая пустые ячейки и ячейки с числами:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0;СЧЁТЕСЛИ($D$1:D1;$A$2:$A$13&»») + ЕСЛИ(ЕТЕКСТ($A$2:$A$13)=ЛОЖЬ;1;0); 0)); «»)}

Напоминаем, что в приведенных выше формулах A2: A13 – это исходный список, а B1 – ячейка прямо над первой позицией формируемого списка.

На этом скриншоте показан результат отбора:

Быть может, кому-то будет полезна еще одна формула –

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; АГРЕГАТ(15;6;(СТРОКА($A$2:$A$13)-СТРОКА($A$2)+1) / (ПОИСКПОЗ($A$2:$A$13;$A$2:$A$13;0)=СТРОКА($A$2:$A$13)-СТРОКА($A$2)+1); ЧСТРОК($A$2:$A2)));»»)

Она работает с числами и текстом, игнорирует пустые ячейки.

Как извлечь отдельные значения с учетом регистра в Excel

При работе с данными, чувствительными к регистру, такими как пароли, имена пользователей или имена файлов, вам может потребоваться список отдельных значений с учетом заглавных и прописных букв. 

Для этого используйте формулу массива, где A2: A10 — это исходный список, а B1 — это ячейка над первой ячейкой отдельного списка.

Формула массива для получения различных значений с учетом регистра (требуется нажатие Ctrl + Shift + Enter)

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0; ЧАСТОТА(ЕСЛИ(СОВПАД($A$2:$A$10; ТРАНСП($B$1:B1)); ПОИСКПОЗ(СТРОКА($A$2:$A$10); СТРОКА($A$2:$A$10)); «»); ПОИСКПОЗ(СТРОКА($A$2:$A$10); СТРОКА($A$2:$A$10))); 0)); «»)}

Как видите, при отборе регистр здесь имеет значение.

Отбор уникальных значений по условию.

Представим, что у нас есть таблица с данными о продажах. Нам необходимо определить, какие наименования товаров заказывал определенный покупатель.

Сначала отберем из таблицы только те строки, которые удовлетворяют заданным условиям, затем из этих строк выберем уникальные наименования товаров.

В ячейке G2 указываем нужного нам заказчика, а в H2 записываем эту формулу массива:

{=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$20; ПОИСКПОЗ(0;ЕСЛИ((($A$2:$A$20=$G$2)); СЧЁТЕСЛИ($H$1:H1;$B$2:$B$20);»»);0));»»)}

Не забудьте, что формулу массива нужно вводить в ячейку EXCEL с помощью одновременного нажатия CTRL+SHIFT+ENTER. Копируем ее по столбцу вниз при помощи маркера заполнения. Получаем список из четырех позиций.

Усложним задачу. Определим список не только для этого покупателя, но также и для определённого менеджера.

Вот наша формула массива:

{=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$20;ПОИСКПОЗ(0; ЕСЛИ((($A$2:$A$20=$G$2)+($D$2:$D$20=$H$2))=2; СЧЁТЕСЛИ($I$1:I1;$B$2:$B$20);»»);0));»»)}

Как видите, теперь товаров всего два. В подсчете принимают участие только те строки, которые удовлетворяют сразу двум условиям: должно совпасть название фирмы и фамилия менеджера. Только из них мы извлекаем уникальные названия товаров.

В случае, если условий будет больше, нужно просто добавить соответствующий критерий в функцию ЕСЛИ и изменить число 2 на 3 или большее (в зависимости от количества условий).

Извлечь уникальные значения из диапазона.

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

Используем формулу массива

{=ДВССЫЛ(ТЕКСТ(МИН(ЕСЛИ(($A$2:$C$9<>»») * (СЧЁТЕСЛИ($E$1:E1;$A$2:$C$9)=0); СТРОКА($2:$9)*100 + СТОЛБЕЦ($A:$C);7^8));»R0C00″);)&»»}

Здесь A2:C9 обозначает диапазон, из которого вы хотите извлечь уникальные значения. E1 – это первая ячейка столбца, в который вы хотите поместить результат. $2:$9 указывает на строки, содержащие данные, которые вы хотите использовать. $A:$C указывает на столбцы, из которых вы берёте исходные данные. Пожалуйста, измените их на свои собственные.

Нажмите Shift + Ctrl + Enter , а затем перетащите маркер заполнения, чтобы вывести уникальные значения, пока не появятся пустые ячейки.

Как видите, извлекаются все уникальные и первые вхождения дубликатов.

Встроенный инструмент удаления дубликатов.

Начиная с Excel 2007 функция удаления дубликатов является стандартной. Найти ее можно на вкладке  Данные > Удаление дубликатов.

Вам нужно при помощи птички указать столбцы, в которых нужно найти и удалить повторяющиеся значения. Если сделать так, как на скриншоте, то в таблице останутся только уникальные пары «Заказчик – Товар». Остальное будет удалено. Если включить только флажок «Заказчик», то останется только по одной строке для каждого заказчика и т.д.

Использование расширенного фильтра.

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

  1. Выберите столбец данных, из которого вы хотите извлечь отдельные значения.
  2. Перейдите на вкладку «Данные» > группа «Сортировка и фильтр» и нажмите кнопку «Дополнительно» .
  3. В диалоговом окне Расширенный фильтр выберите следующие параметры:
    • Установите флажок Копировать в другое место .
    • В поле Исходный диапазон убедитесь, что он указан правильно.
    • В параметре Поместить результат в…   укажите самую верхнюю ячейку целевого диапазона. Помните, что вы можете копировать отфильтрованные данные только на текущий лист.
    • Выберите пункт «Только уникальные записи».
  4. Наконец, нажмите кнопку ОК и проверьте результат.

Как видите, мы проверили колонку B, и затем список уникальных наименований товара, найденных в ней, поместили в столбец K.

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

Теперь немного усложним задачу.

Если требуется искать записи не по одному, а по нескольким столбцам, то можно их предварительно «склеить» при помощи функции СЦЕПИТЬ.

=СЦЕПИТЬ(A2;B2)

Записываем это в столбец F и копируем вниз. Получаем вспомогательную колонку.

В качестве исходного диапазона мы по-прежнему выбираем данные, из которых извлекаем уникальные значения. Теперь это два столбца – A и B.

Но искать уникальные мы по-прежнему можем только в одном столбце. Вот для этого нам и пригодится вспомогательная колонка F с объединенными данными. Ее то мы и указываем в поле «Диапазон условий».

Все остальное – так же, как и в предыдущем примере.

В результате мы получили все имеющиеся в таблице комбинации «Заказчик — Товар» на основе данных во вспомогательном столбце F.

Думаю, вы понимаете, что аналогичные действия можно произвести и с тремя столбцами (например Фамилия – Имя – Отчество). Главное условие – исходный диапазон должен быть непрерывным, то есть все столбцы должны находиться рядом.

Как видите формулы здесь не нужны. Однако, если исходные данные изменятся, то все манипуляции придется повторять заново.

Извлечение уникальных значений с помощью Duplicate Remover.

В заключительной части этого руководства я покажу вам интересное решение для поиска и извлечения различных и уникальных значений в таблицах Excel. Это решение сочетает в себе универсальность формул Excel и простоту расширенного фильтра. Кроме того, здесь есть несколько уникальных функций:

  • Найти и извлечь уникальные или различные значения на основе записей в одном или нескольких столбцах.
  • Найти, выделить и скопировать уникальные значения в любое другое место в той же или другой книге Excel.

А теперь давайте посмотрим, как работает инструмент Duplicate Remover.

Предположим, у вас есть большая таблица, созданная путем объединения данных из нескольких других таблиц. Очевидно, что она содержит много повторяющихся строк, и ваша задача состоит в том, чтобы извлечь уникальные строки, которые появляются в таблице только один раз, или различные строки, включая уникальные и первые повторяющиеся вхождения. В любом случае, с надстройкой Duplicate Remover работа выполняется за несколько шагов.

  1. Выберите любую ячейку в исходной таблице и нажмите кнопку DuplicateRemover на вкладке AblebitsData в группе Dedupe.

Мастер Duplicate Remover запустится и выберет всю таблицу. Итак, просто нажмите « Далее», чтобы перейти к следующему шагу.

  1. Выберите тип значения, который вы хотите найти, и нажмите Далее :
    • Уникальные
    • Уникальные + 1е вхождения (различные)
В этом примере мы хотим извлечь различные строки, которые появляются в исходной таблице хотя бы один раз, поэтому мы выбираем опцию Unique + 1st occurences:

  1. Выберите один или несколько столбцов для проверки уникальных значений.

В этом примере мы хотим убрать все повторяющиеся значения на основе значений в 2 столбцах ( заказчик и товар), поэтому мы выбираем только нужные нам столбцы.

В нашем случае таблица имеет заголовок, поэтому отмечаем птичкой пункт My table has headers.

Думаю, нам не нужны пустые строки, которые могут случайно встретиться при объединении данных из разных таблиц. Поэтому отмечаем такжеSkip empty cells.

Если вдруг в наших записях случайно появились лишние пробелы, то, думаю, стоит их игнорировать. Поэтому отмечаем также Ignore extra spaces.

Также наш поиск буден нечувствителен к регистру, то есть не будем при сравнении данных различать прописные и строчные буквы. Поэтому  не трогаем опцию Case-sensitive match.

  1. Выберите действие, которое нужно выполнить с найденными значениями. Вам доступны следующие варианты:
    • Выделить цветом.
    • Выбрать и выделить.
    • Отметить в столбце статуса.
    • Копировать в другое место.

Чтобы не менять исходные данные, выберите «Копировать в другое место» (Copy to another location), а затем укажите, где именно вы хотите видеть новую таблицу – на этом же листе (выберите параметр «Custom Location» и укажите верхнюю ячейку целевого диапазона), на новом листе (New worksheet) или в новой книге (New workbook).

В этом примере давайте выберем новый лист:

  1. Нажмите кнопку « Готово» , и все готово!

В итоге у нас осталось всего 20 записей.

Понравился этот быстрый и простой способ получить список уникальных значений или записей в Excel? Если да, то я рекомендую вам загрузить полнофункциональную ознакомительную версию Ultimate Suite и попробовать в работе Duplicate Remover.

В Ultimate Suite for Excel также включено много других полезных инструментов, которые помогут вам сэкономить много времени. Мы о них также будем подробно рассказывать в других материалах на сайте.

Поиск значений в списке данных

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Что необходимо сделать

  • Точное совпадение значений по вертикали в списке

  • Подыыывка значений по вертикали в списке с помощью приблизительного совпадения

  • Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения

  • Точное совпадение значений по горизонтали в списке

  • Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения

  • Создание формулы подступа с помощью мастера подметок (только в Excel 2007)

Точное совпадение значений по вертикали в списке

Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.

Примеры ВРОТ

Пример 1 функции ВПР

Пример 2 функции ВПР

Дополнительные сведения см. в этой информации.

Примеры индексов и совпадений

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

Что означает:

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».

Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.

К началу страницы

Подыыывка значений по вертикали в списке с помощью приблизительного совпадения

Для этого используйте функцию ВЛВП.

Важно:  Убедитесь, что значения в первой строке отсортировали в порядке возрастания.

Пример формулы ВЛП, которая ищет приблизительное совпадение

В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.

Дополнительные сведения см. в этой информации.

К началу страницы

Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения

Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.

Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.

Пример функций OFFSET и MATCH

C1 — это левые верхние ячейки диапазона (также называемые начальной).

MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.

1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.

К началу страницы

Точное совпадение значений по горизонтали в списке

Для этого используйте функцию ГГПУ. См. пример ниже.

Пример формулы ГВП, которая ищет точное совпадение

Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.

К началу страницы

Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения

Для этого используйте функцию ГГПУ.

Важно:  Убедитесь, что значения в первой строке отсортировали в порядке возрастания.

Пример формулы ГВП, которая ищет приблизительное совпадение

В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.

Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.

К началу страницы

Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )

Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).

В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.

  1. Щелкните ячейку в диапазоне.

  2. На вкладке Формулы в группе Решения нажмите кнопку Под поиск.

  3. Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.

    Загрузка надстройки «Мастер подстройок»

  4. Нажмите кнопку Microsoft Office Изображение кнопки Office , выберите Параметры Excel и щелкните категорию Надстройки.

  5. В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

  6. В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.

  7. Следуйте инструкциям мастера.

К началу страницы

Нужна дополнительная помощь?

Поиск значений в списке данных

​Смотрите также​ установлена как отдельная​ помощью новых формул​Для заголовка столбца. В​ т.д.) Многим непривычны​Нектарин​С помощью функций ПОИСКПОЗ()​ Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)​Перевел: Антон Андронов​Если совпадение найдено, уравнение​ населённых стран мира.​ вариантов формул, применительно​ если значение в​ВПР​(номер_строки) и/или​(ИНДЕКС) в Excel​ ГПР.​Предположим, что требуется найти​ надстройка в Excel​ Excel.​

В этой статье

​ ячейку D2 введите​ формулы массива в​) в определенном месяце​

​ и ИНДЕКС() можно​ вернет ошибку, т.к.​Автор: Антон Андронов​

​ возвращает​ Предположим, наша задача​ к таблице из​ ячейке​

​, т.к. эта функция​column_num​ возвращает значение из​

​К началу страницы​ внутренний телефонный номер​ 2010-2013) жмем кнопку​

​Тема сравнения двух списков​ формулу: На этот​ принципе (тогда вам​

Поиск значений в списке по вертикали по точному совпадению

​ (​ заменить функцию ВПР(),​ значения «грейпфрут» в​Функция ПОИСКПОЗ(), английский вариант​1​

Примеры функции ВПР

Пример 1 функции ВПР

Пример 2 функции ВПР

​ узнать население США​ предыдущего примера:​A2​

Примеры функций ИНДЕКС и ПОИСКПОЗ

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

​ гораздо проще. Так​

​(номер_столбца) функции​ массива по заданным​Примечание:​ сотрудника по его​Из таблицы/диапазона (From Table)​

​ поднималась уже неоднократно​ раз после ввода​ сюда).​​Январь​​ об этом читайте​ диапазоне ячеек​ MATCH(), возвращает позицию​​(ИСТИНА), а если​​ в 2015 году.​

​1.​длиннее 255 символов.​ происходит, потому что​

​INDEX​

Поиск значений в списке по вертикали по приблизительному совпадению

​ номерам строки и​ Поддержка надстройки «Мастер подстановок»​

​ идентификационному номеру или​​:​ и с разных​ формулы для подтверждения​

Пример формулы ВПР для поиска неточного совпадения

​Допустим ваш отчет содержит​), т.е. получить на​ в статье о​B7:B13​ значения в диапазоне​ нет –​​Хорошо, давайте запишем формулу.​​MAX​ Вместо неё Вам​ очень немногие люди​(ИНДЕКС). Как Вы​ столбца. Функция имеет​ в Excel 2010​ узнать ставку комиссионного​Excel превратит нашу таблицу​ сторон, но остается​​ жмем как по​​ таблицу с большим​

​ выходе​ функции ВПР().​нет.​

​ ячеек. Например, если​

Поиск значений по вертикали в списке неизвестного размера по точному совпадению

​0​ Когда мне нужно​(МАКС). Формула находит​

​ нужно использовать аналогичную​​ до конца понимают​ помните, функция​ вот такой синтаксис:​ прекращена. Эта надстройка​ вознаграждения, предусмотренную за​ в «умную» и​ одной из самых​ традиции просто Enter:​ количеством данных на​152​Саш3​

Пример функций СМЕЩ и ПОИСКПОЗ

​В файле примера можно​​ в ячейке​(ЛОЖЬ).​ создать сложную формулу​

​ максимум в столбце​​ формулу​​ все преимущества перехода​ИНДЕКС​INDEX(array,row_num,[column_num])​ была заменена мастером​ определенный объем продаж.​

​ даст ей типовое​​ актуальных везде и​Для строки вводим похожую,​ множество столбцов. Проводить​, но автоматически, т.е.​: Всем привет​ найти применение функции​А10​Далее, мы делаем то​ в Excel с​​D​​ИНДЕКС​

​ с​

Поиск значений в списке по горизонтали по точному совпадению

​может возвратить значение,​ИНДЕКС(массив;номер_строки;[номер_столбца])​ функций и функциями​

Пример формулы ГПР для поиска точного совпадения

​ Необходимые данные можно​ имя​​ всегда. Давайте рассмотрим​​ но все же​ визуальный анализ таких​ с помощью формулы.​

​Хотелось бы задать​ при поиске в​содержится значение «яблоки»,​

​ же самое для​

Поиск значений в списке по горизонтали по приблизительному совпадению

​ вложенными функциями, то​и возвращает значение​

​/​​ВПР​ находящееся на пересечении​Каждый аргумент имеет очень​

Пример формулы ГПР для поиска неточного совпадения

​ для работы со​ быстро и эффективно​Таблица1​ один из ее​ немного другую формулу:​ таблиц крайне сложно.​ ВПР в чистом​ вопрос. Имеется ли​ горизонтальном массиве.​

​ то формула =ПОИСКПОЗ​ значений столбца​ я сначала каждую​

​ из столбца​

Создание формулы подстановки с помощью мастера подстановок (только Excel 2007)

​ПОИСКПОЗ​​на связку​ заданных строки и​ простое объяснение:​ ссылками и массивами.​ находить в списке​. После чего данные​ аспектов — подсчет​

​В результате получены внутренние​ А одним из​ виде тут не​ возможность у excel​Поиск позиции можно производить​ («яблоки»;A9:A20;0) вернет 2,​B​ вложенную записываю отдельно.​C​:​ИНДЕКС​ столбца, но она​array​В Excel 2007 мастер​ и автоматически проверять​

  1. ​ попадут в редактор​

  2. ​ количества и вывод​​ координаты таблицы по​​ заданий по работе​​ поможет, но есть​​ поиск по нескольким​​ не только в​​ т.е. искомое значение​

  3. ​(Product).​​Итак, начнём с двух​​той же строки:​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​

    ​и​

  4. ​ не может определить,​​(массив) – это​ Изображение кнопки Office​ подстановок создает формулу​ их правильность. Значения,​​ запросов Power Query.​​ совпадающих значений в​​ значению – Март;​​ с отчетом является​

  5. ​ несколько других способов​​ значений. Например имеется​​ диапазонах ячеек, но​​ «яблоки» содержится во​​Затем перемножаем полученные результаты​​ функций​​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​

  6. ​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​ПОИСКПОЗ​​ какие именно строка​ диапазон ячеек, из​​ подстановки, основанную на​​ возвращенные поиском, можно​​ Никаких преобразований с​​ двух списках. Предположим,​

  7. ​ Товар 4:​

​ – анализ данных​

support.office.com

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

​ решить эту задачу.​ список из 50​​ и в массивах​​ второй ячейке диапазона​​ (1 и 0).​​ПОИСКПОЗ​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​4. Более высокая скорость​, а тратить время​​ и столбец нас​​ которого необходимо извлечь​ данных листа, содержащих​ затем использовать в​ таблицей нам делать​ что у нас​На первый взгляд все​​ относительно заголовков строк​​Это самый очевидный и​

​ фамилий но мне​ констант. Например, формула​A9:A20А9​ Только если совпадения​, которые будут возвращать​​Результат: Beijing​​ работы.​ на изучение более​ интересуют.​ значение.​ названия строк и​ вычислениях или отображать​​ не нужно, поэтому​​ есть два диапазона​ работает хорошо, но​ и столбцов касающихся​ простой (хотя и​

​ необходимо найти эти​ =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение​- первая ячейка​​ найдены в обоих​​ номера строки и​2.​Если Вы работаете​ сложной формулы никто​Теперь, когда Вам известна​row_num​ столбцов. С помощью​ как результаты. Существует​ можно смело жать​​ данных, которые мы​​ что, если таблица​​ определенного месяца. На​​ не самый удобный)​ фамилии в другом​ 2.​ (предполагается, что в​ столбцах (т.е. оба​​ столбца для функции​​MIN​

ИНДЕКС и ПОИСКПОЗ в Excel

  • ​ с небольшими таблицами,​ не хочет.​
  • ​ базовая информация об​(номер_строки) – это​
  • ​ мастера подстановок можно​ несколько способов поиска​
  • ​ в левом верхнем​ хотим сравнить:​
    • ​ будет содержат 2​ первый взгляд это​
    • ​ способ. Поскольку штатная​ столбце где фамилий​
    • ​Если искомое значение точно​ ней не содержится​
    • ​ критерия истинны), Вы​
    • ​ИНДЕКС​(МИН). Формула находит​

Базовая информация об ИНДЕКС и ПОИСКПОЗ

​ то разница в​Далее я попробую изложить​ этих двух функциях,​​ номер строки в​​ найти остальные значения​​ значений в списке​​ углу кнопку​Для удобства, можно дать​ одинаковых значения? Тогда​ весьма простое задание,​ функция​

​ больше 500.​ не известно, то​ значение «яблоки»),​ получите​:​ минимум в столбце​​ быстродействии Excel будет,​​ главные преимущества использования​​ полагаю, что уже​​ массиве, из которой​​ в строке, если​​ данных и отображения​

ИНДЕКС – синтаксис и применение функции

​Закрыть и загрузить -​​ им имена, чтобы​​ могут возникнуть проблемы​ но его нельзя​ВПР (VLOOKUP)​Искать по одному​ с помощью подстановочных​А10​

​1​
​ПОИСКПОЗ для столбца​

​D​ скорее всего, не​

  • ​ПОИСКПОЗ​​ становится понятно, как​ нужно извлечь значение.​ известно значение в​ результатов.​
  • ​ Закрыть и загрузить​​ потом использовать их​ с ошибками! Рекомендуем​ решить, используя одну​умеет искать только​ это долго и​ знаков можно задать​- вторая,​​. Если оба критерия​​– мы ищем​
  • ​и возвращает значение​​ заметная, особенно в​и​ функции​ Если не указан,​ одном столбце, и​Поиск значений в списке​ в… (Close &​​ в формулах и​​ также посмотреть альтернативное​

​ стандартную функцию. Да,​ по одному столбцу,​​ нудно можно ли​​ поиск по шаблону,​А11​ ложны, или выполняется​ в столбце​

​ из столбца​​ последних версиях. Если​​ИНДЕКС​

​ПОИСКПОЗ​
​ то обязательно требуется​

​ наоборот. В формулах,​ по вертикали по​​ Load To…)​​ ссылках. Для этого​ решение для поиска​​ конечно можно воспользоваться​​ а не по​​ в экселе найти​​ т.е. искомое_значение может​- третья и​​ только один из​​B​

​C​ же Вы работаете​в Excel, а​и​ аргумент​ которые создает мастер​ точному совпадению​​и выбрать в​​ нужно выделить ячейки​

ПОИСКПОЗ – синтаксис и применение функции

​ столбцов и строк​​ инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F,​​ нескольким, то нам​ сразу эти 50​ содержать знаки шаблона:​ т.д. (подсчет позиции​ них – Вы​, а точнее в​

​той же строки:​​ с большими таблицами,​​ Вы решите –​ИНДЕКС​column_num​ подстановок, используются функции​​Поиск значений в списке​​ появившемся окне​ с элементами списка​ по значению.​

​ чтобы вызвать окно​
​ нужно из нескольких​

​ фамилий​​ звездочку (*) и​​ производится от верхней​ получите​

​ диапазоне​
​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​

  • ​ которые содержат тысячи​​ остаться с​могут работать вместе.​(номер_столбца).​ ИНДЕКС и ПОИСКПОЗ.​ по вертикали по​Только создать подключение (Create​ и на вкладке​
  • ​Чтобы проконтролировать наличие дубликатов​​ поиска значений на​ сделать один!​Nic70y​
  • ​ знак вопроса (?).​​ ячейки).​0​​B2:B11​​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​ строк и сотни​ВПР​
    • ​ПОИСКПОЗ​​column_num​​Щелкните ячейку в диапазоне.​​ приблизительному совпадению​ only connection)​Формулы​ среди значений таблицы​ листе Excel. Или​Добавим рядом с нашей​: Что значит сразу?​
    • ​ Звездочка соответствует любой​​Функция ПОИСКПОЗ() возвращает позицию​.​, значение, которое указано​​Результат: Lima​​ формул поиска, Excel​​или переключиться на​​определяет относительную позицию​(номер_столбца) – это​На вкладке​​Поиск значений по вертикали​​:​​нажать кнопку​​ создадим формулу, которая​
    • ​ же создать для​​ таблицей еще один​ Напротив каждой фио​ последовательности знаков, знак​ искомого значения, а​Теперь понимаете, почему мы​ в ячейке​3.​ будет работать значительно​

​ИНДЕКС​ искомого значения в​​ номер столбца в​​Формулы​ в списке неизвестного​Затем повторяем то же​Менеджер Имен — Создать​ сможет информировать нас​

​ таблицы правило условного​ столбец, где склеим​ — есть/ нет​ вопроса соответствует любому​ не само значение.​ задали​H2​AVERAGE​​ быстрее, при использовании​​/​​ заданном диапазоне ячеек,​​ массиве, из которого​​в группе​​ размера по точному​ самое со вторым​​ (Formulas — Name​​ о наличии дубликатов​ форматирования. Но тогда​ название товара и​ или например 49​ одиночному знаку.​ Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает​1​(USA). Функция будет​

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

​(СРЗНАЧ). Формула вычисляет​ПОИСКПОЗ​ПОИСКПОЗ​ а​ нужно извлечь значение.​Решения​​ совпадению​​ диапазоном.​​ Manager — Create)​​ и подсчитывать их​​ нельзя будет выполнить​​ месяц в единое​ есть, 1 нет​Предположим, что имеется перечень​ число 2 -​​, как искомое значение?​​ выглядеть так:​ среднее в диапазоне​и​.​

​ИНДЕКС​ Если не указан,​​выберите команду​​Поиск значений в списке​​И, наконец, переходим с​​. Также можно превратить​

​ количество. Для этого​ дальнейших вычислений с​ целое с помощью​
​ - значит не​ товаров и мы​ относительную позицию буквы​

​ Правильно, чтобы функция​=MATCH($H$2,$B$1:$B$11,0)​D2:D10​ИНДЕКС​1. Поиск справа налево.​

ИНДЕКС и ПОИСКПОЗ в Excel

​использует это число​ то обязательно требуется​Подстановка​ по горизонтали по​

​ выявлению совпадений. Для​
​ таблицы в "умные"​

​ в ячейку E2​ полученными результатами. Поэтому​ оператора сцепки (&),​

  • ​ совпало? Или как?​​ не знаем точно​​ «б» в массиве​ПОИСКПОЗ​​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​​, затем находит ближайшее​вместо​​Как известно любому​​ (или числа) и​​ аргумент​​.​ точному совпадению​ этого на вкладке​
  • ​ с помощью сочетания​​ вводим формулу:​​ необходимо создать и​​ чтобы получить уникальный​​Саш3​​ как записана товарная​​ {«а»;»б»;»в»;»б»}. Позиция второй​возвращала позицию только,​Результатом этой формулы будет​ к нему и​ВПР​

    ​ грамотному пользователю Excel,​
    ​ возвращает результат из​

    ​row_num​Если команда​Поиск значений в списке​​ Данные или на​​ клавиш Ctrl+T или​​Более того для диапазона​​ правильно применить соответствующую​ столбец-ключ для поиска:​: Может я не​ позиция относящаяся к​​ буквы «б» будет​​ когда оба критерия​4​ возвращает значение из​

​. В целом, такая​ВПР​

ИНДЕКС и ПОИСКПОЗ в Excel

​ соответствующей ячейки.​(номер_строки)​Подстановка​​ по горизонтали по​​ вкладке Power Query​ кнопки​​ табличной части создадим​​ формулу.​​Теперь можно использовать знакомую​​ точно выразился в​​ яблокам: яблоки или​​ проигнорирована, функция вернет​ выполняются.​

​, поскольку «USA» –​ столбца​ замена увеличивает скорость​​не может смотреть​​Ещё не совсем понятно?​Если указаны оба аргумента,​недоступна, необходимо загрузить​ приблизительному совпадению​​ находим команду​​Форматировать как таблицу​​ правило условного форматирования:​​Схема решения задания выглядит​

​ функцию​
​ экселе имеется функция​

​ яблоко.​ позицию только первой​Обратите внимание:​ это 4-ый элемент​C​ работы Excel на​​ влево, а это​​ Представьте функции​​ то функция​​ надстройка мастера подстановок.​Создание формулы подстановки с​Получить данные — Объединить​на вкладке​​Выделите диапазон B6:J12 и​​ примерно таким образом:​​ВПР (VLOOKUP)​​ «Найти» CTRL+F я​В качестве критерия можно​ буквы. О том​​В этом случае​​ списка в столбце​

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

​той же строки:​13%​ значит, что искомое​ИНДЕКС​​ИНДЕКС​​Загрузка надстройки мастера подстановок​​ помощью мастера подстановок​​ запросы — Объединить​​Главная (Home — Format​​ выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное​в ячейку B1 мы​для поиска склеенной​​ ее часто использую.​​ задать»яблок*» и формула​ как вернуть ВСЕ​ необходимо использовать третий​B​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​.​ значение должно обязательно​​и​​возвращает значение из​​Нажмите кнопку​​ (только Excel 2007)​​ (Get Data -​​ as Table)​ форматирование»-«Правила выделения ячеек»-«Равно».​ будем вводить интересующие​ пары​

​ Но она ищет​ =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию​​ позиции искомого значения​​ не обязательный аргумент​​(включая заголовок).​​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​Влияние​ находиться в крайнем​​ПОИСКПОЗ​​ ячейки, находящейся на​​Microsoft Office​​Для решения этой задачи​​ Merge Queries -​​.​

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

​В левом поле введите​​ нас данные;​НектаринЯнварь​​ по одному что​​ текстового значения, начинающегося​ читайте ниже в​ функции​ПОИСКПОЗ для строки​Результат: Moscow​ВПР​ левом столбце исследуемого​в таком виде:​​ пересечении указанных строки​​, а затем —​​ можно использовать функцию​​ Merge)​Для подсчета количества совпадений​ значение $B$1, а​в ячейке B2 будет​из ячеек H3​ очень долго. Вот​ со слова яблок​ разделе Поиск позиций​ИНДЕКС​

​– мы ищем​Используя функцию​​на производительность Excel​​ диапазона. В случае​​=INDEX(столбец из которого извлекаем,(MATCH​ и столбца.​ кнопку​ ВПР или сочетание​:​ в двух списках​​ из правого выпадающего​​ отображается заголовок столбца,​ и J3 в​ я хотел спросить​ (если она есть​​ ВСЕХ текстовых значений,​​. Он необходим, т.к.​ значение ячейки​СРЗНАЧ​ особенно заметно, если​ с​

​ (искомое значение,столбец в​Вот простейший пример функции​​Параметры Excel​​ функций ИНДЕКС и​В открывшемся окне делаем​​ можно использовать следующую​​ списка выберите опцию​ который содержит значение​​ созданном ключевом столбце:​​ имеется ли в​​ в списке).​​ удовлетворяющих критерию.​​ в первом аргументе​​H3​

​в комбинации с​
​ рабочая книга содержит​

​ПОИСКПОЗ​ котором ищем,0))​INDEX​​и выберите категорию​​ ПОИСКПОЗ.​​ три вещи:​​ элегантную формулу:​ «Светло-красная заливка и​​ ячейки B1​​Плюсы​​ экселе функция находить​​Подстановочные знаки следует использовать​ПОИСКПОЗискомое_значение просматриваемый_массив​ мы задаем всю​

​(2015) в строке​​ИНДЕКС​​ сотни сложных формул​​/​​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​(ИНДЕКС):​Надстройки​Дополнительные сведения см. в​выбираем наши таблицы из​В английской версии это​ темно-красный цвет» и​в ячейке B3 будет​: Простой способ, знакомая​ необходимые строки в​ только для поиска​; тип_сопоставления)​ таблицу и должны​1​и​ массива, таких как​ИНДЕКС​​ значение;столбец в котором​​=INDEX(A1:C10,2,3)​

​.​ разделе, посвященном функции​​ выпадающих списков​​ будет =SUMPRODUCT(COUNTIF(Список1;Список2))​​ нажмите ОК.​ отображается название строки,​ функция, работает с​ моем случаи это​ позиции текстовых значений​​Искомое_значение​​ указать функции, из​, то есть в​ПОИСКПОЗ​ВПР+СУММ​, столбец поиска может​​ ищем;0))​​=ИНДЕКС(A1:C10;2;3)​​В поле​​ ВПР.​

​выделяем столбцы, по которым​Давайте разберем ее поподробнее,​​В ячейку B1 введите​​ которая содержит значение​ любыми данными.​​ фамилии находить не​​ и​​- значение, используемое​​ какого столбца нужно​ ячейках​​, в качестве третьего​​. Дело в том,​

​ быть, как в​
​Думаю, ещё проще будет​

​Формула выполняет поиск в​Управление​Что означает:​​ идет сравнение​​ ибо в ней​ значение 3478 и​ ячейки B1.​Минусы​​ по одному а​​Типом сопоставления​​ при поиске значения​​ извлечь значение. В​

​A1:E1​
​ аргумента функции​

​ что проверка каждого​ левой, так и​​ понять на примере.​ диапазоне​выберите значение​=ИНДЕКС(нужно вернуть значение из​выбираем​ скрыто пару неочевидных​ полюбуйтесь на результат.​Фактически необходимо выполнить поиск​: Надо делать дополнительный​ сразу.​= 0 (третий​ в​ нашем случае это​:​​ПОИСКПОЗ​​ значения в массиве​​ в правой части​​ Предположим, у Вас​​A1:C10​​Надстройки Excel​ C2:C10, которое будет​Тип соединения​​ фишек.​​Как видно при наличии​

​ координат в Excel.​​ столбец и потом,​​Юрий М​ аргумент функции).​просматриваемом_массивеИскомое_значение​ столбец​=MATCH($H$3,$A$1:$E$1,0)​​чаще всего нужно​​ требует отдельного вызова​ диапазона поиска. Пример:​ есть вот такой​и возвращает значение​и нажмите кнопку​​ соответствовать ПОИСКПОЗ(первое значение​​=​Во-первых, функция СЧЁТЕСЛИ (COUNTIF).​ дубликатов формула для​ Для чего это​ возможно, еще и​: 2007 и выше​

​Функция ПОИСКПОЗ() возвращает только​может быть значением​​C​​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​​ будет указывать​​ функции​ Как находить значения,​ список столиц государств:​ ячейки во​

ИНДЕКС и ПОИСКПОЗ – примеры формул

​Перейти​ «Капуста» в массиве​Внутреннее (Inner Join)​​ Обычно она подсчитывает​​ заголовков берет заголовок​​ нужно? Достаточно часто​​ прятать его от​ — автофильтр.​ одно значение. Если​ (числом, текстом или​(Sum), и поэтому​

Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС

​Результатом этой формулы будет​​1​​ВПР​ которые находятся слева​Давайте найдём население одной​2-й​.​ B2:B10))​После нажатия на​ количество искомых значений​​ с первого дубликата​​ нам нужно получить​

​ пользователя. При изменении​​Саш3​​ в списке присутствует​​ логическим значением (ЛОЖЬ​​ мы ввели​5​или​. Поэтому, чем больше​ покажет эту возможность​ из столиц, например,​строке и​В области​Формула ищет в C2:C10​ОК​ в диапазоне ячеек​​ по горизонтали (с​​ координаты таблицы по​​ числа строк в​​: Тоже вариант но​ несколько значений, удовлетворяющих​ или ИСТИНА)) или​3​

​, поскольку «2015» находится​-1​ значений содержит массив​ в действии.​

​ Японии, используя следующую​
​3-м​

ИНДЕКС и ПОИСКПОЗ в Excel

​Доступные надстройки​ первое значение, соответствующее​на экране останутся​ и используется в​

  • ​ лева на право).​​ значению. Немного напоминает​​ таблице — допротягивать​ он не всегда​ критерию, то эта​

    ​ ссылкой на ячейку,​
    ​.​

  • ​ в 5-ом столбце.​в случае, если​​ и чем больше​​2. Безопасное добавление или​ формулу:​столбце, то есть​установите флажок рядом​​ значению​​ только совпадающие строки:​
  • ​ следующей конфигурации:​ А формула для​

    ​ обратный анализ матрицы.​
    ​ формулу сцепки на​

​ устраивает имеется ли​​ функция не поможет.​ содержащую число, текст​И, наконец, т.к. нам​​Теперь вставляем эти формулы​​ Вы не уверены,​​ формул массива содержит​​ удаление столбцов.​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​ из ячейки​ с пунктом​

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

​Капуста​Ненужный столбец​​=СЧЁТЕСЛИ(Где_искать; Что_искать)​​ получения названия (номера)​​ Конкретный пример в​​ новые строки (хотя​ готовая формула?​Рассмотрим список с повторяющимися​ или логическое значение.​ нужно проверить каждую​ в функцию​ что просматриваемый диапазон​

​ Ваша таблица, тем​​Формулы с функцией​​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))​C2​​Мастер подстановок​​(B7), и возвращает​Таблица2​​Обычно первый аргумент -​​ строки берет номер​

​ двух словах выглядит​
​ это можно упростить​

​Юрий М​

​ значениями в диапазоне​​Просматриваемый_массив​​ ячейку в массиве,​ИНДЕКС​​ содержит значение, равное​​ медленнее работает Excel.​ВПР​​Теперь давайте разберем, что​​.​

​и нажмите кнопку​
​ значение в ячейке​

​можно правой кнопкой​

​ это диапазон, а​​ с первого дубликата​​ примерно так. Поставленная​ применением умной таблицы).​​: были?​​B66:B72​— непрерывный диапазон​ эта формула должна​и вуаля:​​ среднему. Если же​​С другой стороны, формула​

​перестают работать или​
​ делает каждый элемент​

​Очень просто, правда? Однако,​

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

​ОК​​ C7 (​​ мыши удалить, а​​ второй — ячейка,​​ по вертикали (сверху​​ цель в цифрах​​Если нужно найти именно​Nic70y​​. Найдем все позиции​​ ячеек, возможно, содержащих​ быть формулой массива.​​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​ Вы уверены, что​​ с функциями​​ возвращают ошибочные значения,​ этой формулы:​ на практике Вы​.​100​ заголовок первого столбца​ значение или условие​ вниз). Для исправления​​ является исходным значением,​​ число (в нашем​: ГИПЕРССЫЛКА — на​

  • ​ значения Груши.​​ искомые значения.​​ Вы можете видеть​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​ такое значение есть,​ПОИСКПОЗ​ если удалить или​Функция​
  • ​ далеко не всегда​​Следуйте инструкциям мастера.​​).​ переименовать во что-то​ (одно!), совпадения с​ данного решения есть​ нужно определить кто​ случае цена как​

​ всякий случай:​Значение Груши находятся в​​Просматриваемый_массив​​ это по фигурным​Если заменить функции​ – ставьте​​и​​ добавить столбец в​​MATCH​​ знаете, какие строка​​К началу страницы​​Дополнительные сведения см. в​​ более понятное (например​ которым мы ищем​ 2 пути:​ и когда наиболее​ раз число), то​Antoxa​

ИНДЕКС и ПОИСКПОЗ в Excel

Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

​ позициях 2 и​может быть только​​ скобкам, в которые​​ПОИСКПОЗ​0​ИНДЕКС​ таблицу поиска. Для​

​(ПОИСКПОЗ) ищет значение​​ и столбец Вам​​Этот учебник рассказывает о​​ разделах, посвященных функциям​​Совпадения​ в диапазоне. В​Получить координаты первого дубликата​ приближен к этой​ вместо ВПР можно​: У меня аналогичная​

​ 5 списка. С​ одностолбцовым диапазоном ячеек,​​ она заключена. Поэтому,​​на значения, которые​для поиска точного​

​просто совершает поиск​
​ функции​

​ «Japan» в столбце​ нужны, и поэтому​ главных преимуществах функций​

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

​B​ требуется помощь функции​ИНДЕКС​К началу страницы​ полученную таблицу на​
​ второй аргумент -​ лева на право).​ используем простую матрицу​СУММЕСЛИМН (SUMIFS)​Ситуация следующая:​

​=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))​А9:А20​ формулу, не забудьте​ станет легкой и​​Если указываете​​ выполняя аналогичную работу​​любой вставленный или​​, а конкретно –​

​ПОИСКПОЗ​и​Для выполнения этой задачи​ лист, используя всё​ тоже диапазон. На​ Для этого только​ данных с отчетом​, появившуюся начиная с​

ИНДЕКС и ПОИСКПОЗ в Excel

​К примеру, в​можно найти все эти​или диапазоном, расположенным​ нажать​ понятной:​1​ заметно быстрее.​

​ удалённый столбец изменит​ в ячейках​​.​​ПОИСКПОЗ​ используется функция ВПР.​ ту же команду​​ практике это означает,​​ в ячейке С3​

  • ​ по количеству проданных​​ Excel 2007. По​ таблице имеется 5000​​ позиции. Для этого​​ в одной строке,​Ctrl+Shift+Enter​​=INDEX($A$1:$E$11,4,5))​​, значения в столбце​Теперь, когда Вы понимаете​​ результат формулы, поскольку​​B2:B10​Функция​

    ​в Excel, которые​
    ​Важно:​

    ​Закрыть и загрузить (Close​​ что мы заставляем​​ следует изменить формулу​ товаров за три​ идее, эта функция​​ уникальных телефонных номеров.​​ необходимо выделить несколько​

  • ​ например,​​.​=ИНДЕКС($A$1:$E$11;4;5))​​ поиска должны быть​​ причины, из-за которых​​ синтаксис​​, и возвращает число​MATCH​​ делают их более​​  Значения в первой​

    ​ & Load)​
    ​ Excel перебирать по​

    ​ на: В результате​​ квартала, как показано​​ выбирает и суммирует​ Через некоторое время​

​ ячеек (расположенных вертикально),​А2:Е2​​Если всё сделано верно,​​Эта формула возвращает значение​

​ упорядочены по возрастанию,​
​ стоит изучать функции​

​ВПР​​3​​(ПОИСКПОЗ) в Excel​ привлекательными по сравнению​ строке должны быть​:​

​ очереди все ячейки​
​ получаем правильные координаты​

​ ниже на рисунке.​ числовые значения по​​ из этого списка​​ в Строке формул​​. Таким образом формула​​ Вы получите результат​​ на пересечении​​ а формула вернёт​ПОИСКПОЗ​​требует указывать весь​​, поскольку «Japan» в​

ИНДЕКС и ПОИСКПОЗ в Excel

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

​ ищет указанное значение​​ с​​ отсортированы по возрастанию.​Если значения в исходных​​ из второго списка​​ как для листа,​ Важно, чтобы все​ нескольким (до 127!)​ мне нужно удалить,​ ввести вышеуказанную формулу​ =ПОИСКПОЗ(«слива»;A30:B33;0) работать не​​ как на рисунке​​4-ой​​ максимальное значение, меньшее​​и​ диапазон и конкретный​ списке на третьем​ в диапазоне ячеек​

​ВПР​В приведенном выше примере​ таблицах в будущем​ и подсчитывать количество​ так и для​​ числовые показатели совпадали.​​ условиям. Но если​​ ну допустим 100​​ и нажать​ будет (выдаст ошибку​ ниже:​строки и​ или равное среднему.​ИНДЕКС​ номер столбца, из​​ месте.​​ и возвращает относительную​. Вы увидите несколько​

ИНДЕКС и ПОИСКПОЗ в Excel

​ функция ВПР ищет​​ будут изменяться, то​​ вхождений каждого из​​ таблицы:​​ Если нет желания​

​ в нашем списке​
​ определенных номеров. Искать​

​CTRL+SHIFT+ENTER​
​ #Н/Д), так как​

​Как Вы, вероятно, уже​5-го​Если указываете​, давайте перейдём к​​ которого нужно извлечь​​Функция​​ позицию этого значения​​ примеров формул, которые​ имя первого учащегося​ необходимо не забыть​​ них в первый​​Получить координаты первого дубликата​ вручную создавать и​

​ нет повторяющихся товаров​
​ каждый номер "ручками"​

​. В позициях, в​Просматриваемый_массив​ заметили (и не​​столбца в диапазоне​​-1​ самому интересному и​ данные.​INDEX​ в диапазоне.​ помогут Вам легко​ с 6 пропусками в​

  • ​ обновить результирующий список​ список. По сути,​​ по вертикали (сверху​​ заполнять таблицу Excel​​ внутри одного месяца,​​ с помощью функции​ которых есть значение​представляет собой диапазон​ раз), если вводить​​A1:E11​​, значения в столбце​
  • ​ увидим, как можно​Например, если у Вас​​(ИНДЕКС) использует​​Например, если в диапазоне​ справиться со многими​​ диапазоне A2:B7. Учащихся​​ совпадений правой кнопкой​
  • ​ это равносильно целому​ вниз). Для этого​ с чистого листа,​​ то она просто​​ «Найти» CTRL+F, по​
  • ​ Груши будет выведено​ ячеек размещенный одновременно​ некорректное значение, например,​, то есть значение​ поиска должны быть​ применить теоретические знания​ есть таблица​​3​​B1:B3​ сложными задачами, перед​ с​ мыши или сочетанием​ столбцу дополнительных вычислений,​​ только в ячейке​​ то в конце​

​ выведет значение цены​ времени слишком затратно,​​ соответствующее значение позиции,​​ в нескольких столбцах​ которого нет в​​ ячейки​​ упорядочены по убыванию,​ на практике.​A1:C10​

​для аргумента​​содержатся значения New-York,​ которыми функция​6​ клавиш Ctrl+Alt+F5.​​ свернутому в одну​​ С2 следует изменить​ статьи можно скачать​ для заданного товара​ тем более проделывать​ в остальных ячейках​ и нескольких ячейках.​ просматриваемом массиве, формула​E4​ а возвращено будет​​Любой учебник по​​, и требуется извлечь​row_num​​ Paris, London, тогда​​ВПР​

​ пропусками в таблице нет,​Само-собой, для решения задачи​ формулу:​ формулу на:​ уже с готовым​ и месяца:​ это понадобится с​ быдет выведен 0.​Тип_сопоставления​ИНДЕКС​. Просто? Да!​ минимальное значение, большее​​ВПР​​ данные из столбца​

​(номер_строки), который указывает​ следующая формула возвратит​бессильна.​ поэтому функция ВПР​

ИНДЕКС и ПОИСКПОЗ в Excel

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

​ поиска совпадений можно​Во-вторых, функция​В данном случаи изменяем​ примером.​Плюсы​ несколькими таблицами периодически.​​C помощью другой формулы​​— число -1,​​/​​В учебнике по​​ или равное среднему.​​твердит, что эта​​B​​ из какой строки​ цифру​В нескольких недавних статьях​ ищет первую запись​ воспользоваться и макросом.​СУММПРОИЗВ (SUMPRODUCT)​​ формулы либо одну​​Последовательно рассмотрим варианты решения​​: Не нужен дополнительный​​Возможно ли как-то​​ массива​​ 0 или 1.​

​ПОИСКПОЗ​​ВПР​​В нашем примере значения​

​ функция не может​
​, то нужно задать​

​ нужно возвратить значение.​​3​​ мы приложили все​ со следующим максимальным​ Для этого нажмите​здесь выполняет две​ либо другую, но​​ разной сложности, а​​ столбец, решение легко​​ задать в поиске​​=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))​​Тип_сопоставления​​сообщает об ошибке​мы показывали пример​ в столбце​ смотреть влево. Т.е.​

​ значение​ Т.е. получается простая​, поскольку «London» –​​ усилия, чтобы разъяснить​​ значением, не превышающим​

​ кнопку​
​ функции - суммирует​ не две сразу.​
​ в конце статьи​
​ масштабируется на большее​ либо выделить требуемые​

​можно отсортировать найденные позиции,​указывает, как MS​#N/A​ формулы с функцией​

ИНДЕКС и ПОИСКПОЗ в Excel

​D​ если просматриваемый столбец​2​ формула:​ это третий элемент​ начинающим пользователям основы​​ 6. Она находит​​Visual Basic​

​ вычисленные СЧЁТЕСЛИ совпадения​
​ Стоит напомнить о​

​ – финальный результат.​ количество условий (до​ ячейки с нужными​ чтобы номера найденных​ EXCEL сопоставляет​(#Н/Д) или​ВПР​упорядочены по возрастанию,​ не является крайним​для аргумента​=INDEX($D$2:$D$10,3)​ в списке.​ функции​ значение 5 и возвращает​на вкладке​

​ и заодно превращает​ том, что в​
​Сначала научимся получать заголовки​
​ 127), быстро считает.​

​ значениями для удаления​

office-guru.ru

Функция ПОИСКПОЗ() в MS EXCEL

​ позиций отображались в​искомое_значение​#VALUE!​для поиска по​ поэтому мы используем​​ левым в диапазоне​​col_index_num​=ИНДЕКС($D$2:$D$10;3)​=MATCH(«London»,B1:B3,0)​ВПР​ связанное с ним​Разработчик (Developer)​​ нашу формулу в​​ ячейке С3 должна​ столбцов таблицы по​Минусы​ из таблицы или​​ первых ячейках (см.​​со значениями в​​(#ЗНАЧ!). Если Вы​​ нескольким критериям. Однако,​ тип сопоставления​ поиска, то нет​(номер_столбца) функции​

​Формула говорит примерно следующее:​=ПОИСКПОЗ(«London»;B1:B3;0)​и показать примеры​ имя​. Если ее не​ формулу массива без​ оставаться старая формула:​ значению. Для этого​: Работает только с​ хотя бы выделения​ файл примера).​ аргументе​ хотите заменить такое​ существенным ограничением такого​1​ шансов получить от​ВПР​ ищи в ячейках​

Синтаксис функции

​Функция​​ более сложных формул​

​Алексей​​ видно, то отобразить​ необходимости нажимать сочетание​Здесь правильно отображаются координаты​​ выполните следующие действия:​​ числовыми данными на​ искомых значений одновременно?​1. Произведем поиск позиции​просматриваемый_массив.​ сообщение на что-то​ решения была необходимость​. Формула​

​ВПР​​, вот так:​ от​MATCH​​ для продвинутых пользователей.​​.​ ее можно через​ клавиш Ctrl+Shift+Enter. Формула​​ первого дубликата по​​В ячейку B1 введите​ выходе, не применима​Kuzmich​​ в НЕ сортированном​​Если​ более понятное, то​ добавлять вспомогательный столбец.​ИНДЕКС​​желаемый результат.​​=VLOOKUP(«lookup value»,A1:C10,2)​D2​(ПОИСКПОЗ) имеет вот​ Теперь мы попытаемся,​

​Дополнительные сведения см. в​​Файл — Параметры -​ массива необходима, чтобы​​ вертикали (с верха​​ значение взятое из​ для поиска текста,​​: Возможно, но нужен​​ списке числовых значений​тип_сопоставления​​ можете вставить формулу​

  • ​ Хорошая новость: формула​​/​​Функции​=ВПР(«lookup value»;A1:C10;2)​до​ такой синтаксис:​​ если не отговорить​​ разделе, посвященном функции​​ Настройка ленты (File​​ функция СЧЁТЕСЛИ в​ в низ) –​
  • ​ таблицы 5277 и​ не работает в​ ваш пример.​ (диапазон​равен 0, то​​ с​​ИНДЕКС​ПОИСКПО​ПОИСКПОЗ​Если позднее Вы вставите​D10​MATCH(lookup_value,lookup_array,[match_type])​​ Вас от использования​​ ВПР.​ — Options -​ режиме с двумя​
  • ​ I7 для листа​​ выделите ее фон​​ старых версиях Excel​Antoxa​B8:B14​ функция ПОИСКПОЗ() находит​ИНДЕКС​​/​​З​и​ новый столбец между​и извлеки значение​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​ВПР​

​К началу страницы​ Customize Ribbon)​ аргументами-диапазонами корректно отработала​

​ и Август; Товар2​ синим цветом для​ (2003 и ранее).​: Как-то так… Прикрепленные​

Поиск позиции в массивах с текстовыми значениями

​)​ первое значение, которое​и​​ПОИСКПОЗ​​возвращает «Moscow», поскольку​

​ИНДЕКС​ столбцами​ из третьей строки,​

​lookup_value​, то хотя бы​

​Для выполнения этой задачи​.​ свою задачу.​ для таблицы. Оставим​ читабельности поля ввода​О том, как спользовать​

​ файлы Пример 1.png​Столбец Позиция приведен для​ в​ПОИСКПОЗ​может искать по​

​ величина населения города​в Excel гораздо​A​ то есть из​(искомое_значение) – это​ показать альтернативные способы​ используются функции СМЕЩ​В окне редактора Visual​​Если нужно не просто​​ такой вариант для​

​ (далее будем вводить​ связку функций​ (84 КБ)​ наглядности и не​

Поиск позиции в массиве констант

​точности​в функцию​ значениям в двух​ Москва – ближайшее​ более гибкие, и​и​ ячейки​

Поиск позиции с использованием подстановочных знаков

​ число или текст,​ реализации вертикального поиска​ и ПОИСКПОЗ.​ Basic нужно добавить​ подсчитать количество совпадений,​ следующего завершающего примера.​ в ячейку B1​ИНДЕКС (INDEX)​Сергей П​ влияет на вычисления.​равно аргументу​ЕСЛИОШИБКА​ столбцах, без необходимости​

​ меньшее к среднему​ им все-равно, где​B​D4​ который Вы ищите.​ в Excel.​Примечание:​

​ новый пустой модуль​ но и вывести​Данная таблица все еще​ другие числа, чтобы​и​: Antoxa, в сообщении​Найдем позицию значения 30​

​искомое_значениеПросматриваемый_массив​.​ создания вспомогательного столбца!​ значению (12 269​​ находится столбец со​​, то значение аргумента​, так как счёт​

Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию

​ Аргумент может быть​Зачем нам это? –​ Данный метод целесообразно использовать​ через меню​ совпадающие элементы отдельным​ не совершенна. Ведь​

​ экспериментировать с новыми​ПОИСКПОЗ (MATCH)​​ # 6 Юрий​​ с помощью формулы​может быть не​

​Синтаксис функции​Предположим, у нас есть​ 006).​ значением, которое нужно​

​ придется изменить с​

​ начинается со второй​ значением, в том​ спросите Вы. Да,​ при поиске данных​Insert — Module​ списком, то потребуется​ при анализе нужно​​ значениями).​​в качестве более​ М, написал «Здесь​ =ПОИСКПОЗ(30;B8:B14;0)​ упорядочен.​ЕСЛИОШИБКА​ список заказов, и​

​Эта формула эквивалентна двумерному​ извлечь. Для примера,​

​2​

​ строки.​ числе логическим, или​ потому что​ в ежедневно обновляемом​и затем скопировать​

Поиск позиции в массивах с Числами

​ не самая простая​ точно знать все​В ячейку C2 вводим​ мощной альтернативы ВПР​​ были?» — перейдите​​Формула ищет​

​Если тип_сопоставления равен 1,​очень прост:​ мы хотим найти​

​ поиску​ снова вернёмся к​на​

​Вот такой результат получится​​ ссылкой на ячейку.​​ВПР​ внешнем диапазоне данных.​ туда код нашего​ формула массива:​

​ ее значения. Если​ формулу для получения​ я уже подробно​ по ссылке и​​точное​​ то функция ПОИСКПОЗ()​

​IFERROR(value,value_if_error)​ сумму по двум​ВПР​ таблице со столицами​3​ в Excel:​lookup_array​– это не​ Известна цена в​ макроса:​В английской версии это​ введенное число в​ заголовка столбца таблицы​ описывал (с видео).​

​ в разделе «Вариант​значение 30. Если​

​ находит наибольшее значение,​ЕСЛИОШИБКА(значение;значение_если_ошибка)​ критериям –​

​и позволяет найти​ государств и населением.​, иначе формула возвратит​Важно! Количество строк и​(просматриваемый_массив) – диапазон​ единственная функция поиска​ столбце B, но​Sub Find_Matches_In_Two_Lists() Dim​ будет, соответственно:​ ячейку B1 формула​

Функции ПОИСКПОЗ() и ИНДЕКС()

​ который содержит это​ В нашем же​ 2. Перемешанные списки»​ в списке его​ которое меньше либо​Где аргумент​имя покупателя​ значение на пересечении​

​ На этот раз​ результат из только​ столбцов в массиве,​ ячеек, в котором​

​ в Excel, и​

​ неизвестно, сколько строк​ coll As New​=INDEX(Список1;MATCH(1;COUNTIF(Список2;Список1)*NOT(COUNTIF($E$1:E1;Список1));0))​ не находит в​

​ значение:​ случае, можно применить​ Вы найдете как​ нет, то будет​

​ равно, чем​value​(Customer) и​ определённой строки и​ запишем формулу​ что вставленного столбца.​

excel2.ru

Поиск нескольких значений одним заходом

​ который использует функция​​ происходит поиск.​
​ её многочисленные ограничения​ данных возвратит сервер,​ Collection Dim rng1​Логика работы этой формулы​ таблице, тогда возвращается​После ввода формулы для​ их для поиска​ сравнить повторяющиеся списки.​ возвращена ошибка #Н/Д.​искомое_значениеПросматриваемый_массив​(значение) – это​
​продукт​ столбца.​ПОИСКПОЗ​Используя​INDEX​match_type​

​ могут помешать Вам​​ а первый столбец​ As Range, rng2​ следующая:​ ошибка – #ЗНАЧ!​ подтверждения нажимаем комбинацию​ по нескольким столбцам​Kuzmich​

​2. Произведем поиск позиции​​должен быть упорядочен​ значение, проверяемое на​(Product). Дело усложняется​В этом примере формула​/​ПОИСКПОЗ​(ИНДЕКС), должно соответствовать​(тип_сопоставления) – этот​ получить желаемый результат​ не отсортирован в​ As Range, rngOut​фрагмент СЧЁТЕСЛИ(Список2;Список1), как и​ Идеально было-бы чтобы​ горячих клавиш CTRL+SHIFT+Enter,​ в виде формулы​: Пример должен быть​

​ в отсортированном по​​ по возрастанию: …,​ предмет наличия ошибки​

​ тем, что один​​ИНДЕКС​ИНДЕКС​/​ значениям аргументов​

​ аргумент сообщает функции​​ во многих ситуациях.​

​ алфавитном порядке.​​ As Range Dim​ в примере до​

​ формула при отсутствии​​ так как формула​ массива. Для этого:​
​ в формате Excel​
​ возрастанию списке числовых​ -2, -1, 0,​ (в нашем случае​ покупатель может купить​/​, которая покажет, какое​ИНДЕКС​row_num​ПОИСКПОЗ​ С другой стороны,​C1​ i As Long,​ этого, ищет совпадения​ в таблице исходного​ должна быть выполнена​
​Выделите пустую зеленую ячейку,​Максим Зеленский​ значений (диапазон​ 1, 2, …,​ – результат формулы​ сразу несколько разных​ПОИСКПОЗ​ место по населению​

​, Вы можете удалять​​(номер_строки) и​, хотите ли Вы​

​ функции​​ — это левая верхняя​ j As Long,​ элементов из первого​

​ числа сама подбирала​​ в массиве. Если​ где должен быть​: Экскуро или Тергео​B31:B37​ A-Z, ЛОЖЬ, ИСТИНА.​ИНДЕКС​ продуктов, и имена​будет очень похожа​ занимает столица России​

​ или добавлять столбцы​​column_num​ найти точное или​

​ИНДЕКС​​ ячейка диапазона (также​ k As Long​;)

​ списка во втором​​ ближайшее значение, которое​

​ все сделано правильно​​ результат.​ подойдут​)​ Если​/​ покупателей в таблице​ на формулы, которые​

​ (Москва).​​ к исследуемому диапазону,​

​(номер_столбца) функции​​ приблизительное совпадение:​и​

​ называемая начальной ячейкой).​​ Set rng1 =​фрагмент НЕ(СЧЁТЕСЛИ($E$1:E1;Список1)) проверяет, не​ содержит таблица. Чтобы​

planetaexcel.ru

Поиск и подстановка по нескольким условиям

Постановка задачи

​ в строке формул​Введите в строке формул​Antoxa​Сортированные списки позволяют искать​тип_сопоставления​​ПОИСКПОЗ​​ на листе​​ мы уже обсуждали​​Как видно на рисунке​ не искажая результат,​MATCH​1​ПОИСКПОЗ​Формула​ Selection.Areas(1) Set rng2​ найдено ли уже​ создать такую программу​ по краям появятся​ в нее следующую​: Пожалуйста!​ не только точные​опущен, то предполагается,​); а аргумент​Lookup table​ в этом уроке,​

​ ниже, формула отлично​ так как определен​(ПОИСКПОЗ). Иначе результат​или​

Как вȎxcel найти несколько значений

​– более гибкие​ПОИСКПОЗ(«Апельсины»;C2:C7;0)​ = Selection.Areas(2) Set​​ текущее совпадение выше​​ для анализа таблиц​ фигурные скобки {​​ формулу:​​Antoxa​ значения (их позицию),​​ что он равен​​value_if_error​расположены в произвольном​ с одним лишь​ справляется с этой​ непосредственно столбец, содержащий​ формулы будет ошибочным.​не указан​

Способ 1. Дополнительный столбец с ключом поиска

​ и имеют ряд​ищет значение «Апельсины»​ rngOut = Application.InputBox(Prompt:=»Выделите​и, наконец, связка функций​ в ячейку F1​​ }.​​Нажмите в конце не​: По выделению понятно,​ но и позицию​ 1.​(значение_если_ошибка) – это​ порядке.​

​ отличием. Угадайте каким?​ задачей:​ нужное значение. Действительно,​Стоп, стоп… почему мы​– находит максимальное​ особенностей, которые делают​ в диапазоне C2:C7.​ ячейку, начиная с​ ИНДЕКС и ПОИСКПОЗ​

Как вȎxcel найти несколько значений

​ введите новую формулу:​В ячейку C2 формула​​ Enter, а сочетание​​ я это смотрел.​ ближайшего значения. Например,​​Если​​ значение, которое нужно​Вот такая формула​Как Вы помните, синтаксис​

Как вȎxcel найти несколько значений

​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​​ это большое преимущество,​ не можем просто​ значение, меньшее или​

​ их более привлекательными,​​ Начальную ячейку не​ которой нужно вывести​ извлекает совпадающий элемент​После чего следует во​ вернула букву D​Ctrl+Shift+Enter​ А как массово​ в списке на​тип_сопоставления​ возвратить, если формула​ИНДЕКС​

Способ 2. Функция СУММЕСЛИМН

​ функции​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ особенно когда работать​ использовать функцию​ равное искомому. Просматриваемый​ по сравнению с​​ следует включать в​​ совпадения», Type:=8) ‘загружаем​Не забудьте в​ всех остальных формулах​ — соответственный заголовок​, чтобы ввести формулу​ удалить эти выделенные,​ картинке ниже нет​равен -1, то​ выдаст ошибку.​/​INDEX​Теперь у Вас не​ приходится с большими​VLOOKUP​

Как вȎxcel найти несколько значений

​ массив должен быть​​ВПР​ этот диапазон.​ первый диапазон в​ конце ввода этой​ изменить ссылку вместо​

​ столбца листа. Как​​ не как обычную,​ если в списке​ значения 45, но​ функция ПОИСКПОЗ() находит​Например, Вы можете вставить​ПОИСКПОЗ​(ИНДЕКС) позволяет использовать​

Способ 3. Формула массива

​ должно возникать проблем​ объёмами данных. Вы​​(ВПР)? Есть ли​​ упорядочен по возрастанию,​​.​​1​ коллекцию For i​ формулы нажать сочетание​ B1 должно быть​ видно все сходиться,​ а как формулу​ будет 500 повторений​ можно найти позицию​ наименьшее значение, которое​ формулу из предыдущего​

  1. ​решает задачу:​ три аргумента:​ с пониманием, как​
  2. ​ можете добавлять и​ смысл тратить время,​ то есть от​
    Как вȎxcel найти несколько значений
  3. ​Базовая информация об ИНДЕКС​ — это количество столбцов,​​ = 1 To​​ клавиш Ctrl+Shift+Enter, т.к.​ F1! Так же​ значение 5277 содержится​ массива.​

​ и больше?​ наибольшего значения, которое​

​ больше либо равно​ примера в функцию​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​INDEX(array,row_num,[column_num])​ работает эта формула:​ удалять столбцы, не​ пытаясь разобраться в​ меньшего к большему.​ и ПОИСКПОЗ​ которое нужно отсчитать​​ rng1.Cells.Count coll.Add rng1.Cells(i),​​ она должна быть​ нужно изменить ссылку​ в ячейке столбца​Как это на самом​copper-top​ меньше либо равно,​ чем​ЕСЛИОШИБКА​(B2=’Lookup table’!$B$2:$B$13),0),3)}​ИНДЕКС(массив;номер_строки;[номер_столбца])​Во-первых, задействуем функцию​ беспокоясь о том,​ лабиринтах​

​0​​Используем функции ИНДЕКС и​ справа от начальной​ CStr(rng1.Cells(i)) Next i​ введена как формула​

​ в условном форматировании.​​ D. Рекомендуем посмотреть​ деле работает:​: . =ИНДЕКС($A$1:$A$70;АГРЕГАТ(15;6;СТРОКА($A$2:$A$56)/(СЧЁТЕСЛИ($B$2:$B$17;$A$2:$A$200)=0);СТРОКА(B1)))​ чем искомое значение,​искомое_значениеПросматриваемый_массив​вот таким образом:​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​И я поздравляю тех​MATCH​ что нужно будет​ПОИСКПОЗ​– находит первое​ ПОИСКПОЗ в Excel​

planetaexcel.ru

Поиск значения в диапазоне таблицы Excel по столбцам и строкам

​ ячейки, чтобы получить​ ‘проверяем вхождение элементов​ массива.​ Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление​ на формулу для​Функция ИНДЕКС выдает из​Antoxa​ т.е. позицию значения​должен быть упорядочен​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​(B2=’Lookup table’!$B$2:$B$13);0);3)}​ из Вас, кто​(ПОИСКПОЗ), которая находит​ исправлять каждую используемую​и​ значение, равное искомому.​Преимущества ИНДЕКС и ПОИСКПОЗ​ столбец, из которого​ второго диапазона в​Возникающие на избыточных​ правилами»-«Изменить правило». И​ получения целого адреса​ диапазона цен C2:C161​: Спасибо огромное, все​ 40.​ по убыванию: ИСТИНА,​»Совпадений не найдено.​Эта формула сложнее других,​ догадался!​ положение «Russia» в​ функцию​ИНДЕКС​

Поиск значения в массиве Excel

​ Для комбинации​ перед ВПР​

  • ​ возвращается значение. В​ коллекцию k =​ ячейках ошибки #Н/Д​
  • ​ здесь в параметрах​ текущей ячейки.​ содержимое N-ой ячейки​ работает!​
  • ​Это можно сделать с​ ЛОЖЬ, Z-A, …,​ Попробуйте еще раз!»)​ которые мы обсуждали​

​Начнём с того, что​ списке:​ВПР​?​ИНДЕКС​ИНДЕКС и ПОИСКПОЗ –​ этом примере значение​ 0 On Error​ можно дополнительно перехватить​ укажите F1 вместо​Теперь получим номер строки​ по порядку. При​alex_mgn​ помощью формулы =ПОИСКПОЗ(45;B31:B37;1)​ 2, 1, 0,​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​ ранее, но вооруженные​ запишем шаблон формулы.​=MATCH(«Russia»,$B$2:$B$10,0))​.​=VLOOKUP(«Japan»,$B$2:$D$2,3)​/​ примеры формул​ возвращается из столбца​ Resume Next For​ и заменить на​ B1. Чтобы проверить​ для этого же​ этом порядковый номер​: Antoxa, Вы можете​Обратите внимание, что тип​ -1, -2, …,​»Совпадений не найдено.​

Массив данных.

​ знанием функций​ Для этого возьмём​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​3. Нет ограничения на​

Поиск значения в столбце Excel

​=ВПР(«Japan»;$B$2:$D$2;3)​ПОИСКПОЗ​Как находить значения, которые​ D​

  1. ​ j = 1​ пробелы или пустые​ работу программы, введите​ значения (5277). Для​ нужной ячейки нам​ скинуть пример рабочего​ сопоставления =1 (третий​ и так далее.​ Попробуйте еще раз!»)​ИНДЕКС​ уже знакомую нам​
  2. ​Далее, задаём диапазон для​ размер искомого значения.​В данном случае –​всегда нужно точное​ находятся слева​
  3. ​Продажи​ To rng2.Cells.Count Err.Clear​ строки «» с​ в ячейку B1​ этого в ячейку​ находит функция ПОИСКПОЗ.​ файла?​ аргумент функции).​Функция ПОИСКПОЗ() не различает​И теперь, если кто-нибудь​и​

Получать заголовки столбцов.

​ формулу​ функции​Используя​ смысла нет! Цель​ совпадение, поэтому третий​Вычисления при помощи ИНДЕКС​.​ elem = coll.Item(CStr(rng2.Cells(j)))​ помощью функции​ число которого нет​ C3 введите следующую​

Поиск значения в строке Excel

​ Она ищет связку​Если вы продвинутый пользователь​3. Поиск позиции в​ РеГИстры при сопоставлении​ введет ошибочное значение,​ПОИСКПОЗ​

​ИНДЕКС​INDEX​ВПР​ этого примера –​

Получить номер строки.

​ аргумент функции​ и ПОИСКПОЗ​К началу страницы​ If CLng(Err.Number) =​ЕСЛИОШИБКА (IFERROR)​ в таблице, например:​ формулу:​

​ названия товара и​

Как получить заголовок столбца и название строки таблицы

​ Microsoft Excel, то​ списке отсортированном по​ текстов.​ формула выдаст вот​Вы одолеете ее.​/​(ИНДЕКС), из которого​, помните об ограничении​

  • ​ исключительно демонстрационная, чтобы​ПОИСКПОЗ​
  • ​Поиск по известным строке​

​Для выполнения этой задачи​ 0 Then ‘если​.​ 8000. Это приведет​После ввода формулы для​ месяца (​ должны быть знакомы​

  1. ​ убыванию выполняется аналогично,​Если функция ПОИСКПОЗ() не​ такой результат:​ Самая сложная часть​ПОИСКПОЗ​ нужно извлечь значение.​ на длину искомого​Для заголовка столбца.
  2. ​ Вы могли понять,​должен быть равен​ и столбцу​

​ используется функция ГПР.​ найдено совпадение, то​На больших таблицах формула​ к завершающему результату:​

Внутренние координаты таблицы.

​ подтверждения снова нажимаем​НектаринЯнварь​ с функцией поиска​ но с типом​ находит соответствующего значения,​Если Вы предпочитаете в​ – это функция​и добавим в​ В нашем случае​ значения в 255​ как функции​

Поиск одинаковых значений в диапазоне Excel

​0​Поиск по нескольким критериям​ См. пример ниже.​ выводим со сдвигом​ массива из предыдущего​Теперь можно вводить любое​ комбинацию клавиш CTRL+SHIFT+Enter​) по очереди во​ и подстановки​

​ сопоставления = -1.​ то возвращается значение​ случае ошибки оставить​

  1. ​ПОИСКПОЗ​ неё ещё одну​ это​Правила выделения ячеек.
  2. ​ символов, иначе рискуете​ПОИСКПОЗ​.​ИНДЕКС и ПОИСКПОЗ в​Функция ГПР выполняет поиск​ вниз rngOut.Offset(k, 0)​ способа может весьма​Условное форматирование.
  3. ​ исходное значение, а​ и получаем результат:​ всех ячейках склеенного​

Ошибка координат.

​ВПР​ В этом случае​ ошибки #Н/Д.​ ячейку пустой, то​, думаю, её нужно​ функцию​A2:A10​ получить ошибку​и​-1​ сочетании с ЕСЛИОШИБКА​ по столбцу​ = rng2.Cells(j) k​ ощутимо тормозить, поэтому​

  1. ​ программа сама подберет​Формула вернула номер 9​ из двух столбцов​или​ функция ПОИСКПОЗ() находит​Произведем поиск позиции в​ можете использовать кавычки​ объяснить первой.​ПОИСКПОЗ​.​#VALUE!​Первый по горизонтали.
  2. ​ИНДЕКС​– находит наименьшее​Так как задача этого​Продажи​ = k +​ гораздо удобнее будет​

​ ближайшее число, которое​ – нашла заголовок​ диапазона A2:A161&B2:B161 и​VLOOKUP​ наименьшее значение, которое​ НЕ сортированном списке​ («»), как значение​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​

Первое по вертикали.

​, которая будет возвращать​Затем соединяем обе части​(#ЗНАЧ!). Итак, если​работают в паре.​ значение, большее или​ учебника – показать​и возвращает значение​ 1 End If​ использовать Power Query.​

Поиск ближайшего значения в диапазоне Excel

​ содержит таблица. После​ строки листа по​ выдает порядковый номер​(если еще нет,​ больше либо равно​ текстовых значений (диапазон​ второго аргумента функции​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​ номер столбца.​ и получаем формулу:​ таблица содержит длинные​ Последующие примеры покажут​ равное искомому значению.​ возможности функций​ из строки 5 в​ Next j End​ Это бесплатная надстройка​ чего выводит заголовок​ соответствующему значению таблицы.​ ячейки, где нашла​

​ то сначала почитайте​ чем искомое значение.​B7:B13​ЕСЛИОШИБКА​В формуле, показанной выше,​=INDEX(Ваша таблица,(MATCH(значение для вертикального​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​ строки, единственное действующее​ Вам истинную мощь​ Просматриваемый массив должен​ИНДЕКС​ указанном диапазоне.​ Sub​ от Microsoft, способная​ столбца и название​ В результате мы​ точное совпадение. По​ эту статью, чтобы​

Поиск ближайшего значения Excel.

​Функции ПОИСКПОЗ() и ИНДЕКС()​)​. Вот так:​ искомое значение –​ поиска,столбец, в котором​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ решение – это​ связки​ быть упорядочен по​и​Дополнительные сведения см. в​

Пример.

​Воспользоваться добавленным макросом очень​ загружать в Excel​

​ строки для текущего​ имеем полный адрес​ сути, это первый​ им стать). Для​ часто используются вместе,​Столбец Позиция приведен для​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)​ это​ искать,0)),(MATCH(значение для горизонтального​Подсказка:​ использовать​ИНДЕКС​ убыванию, то есть​ПОИСКПОЗ​ разделе, посвященном функции​ просто. Выделите, удерживая​ 2010-2013 и трансформировать​

exceltable.com

Поиск совпадений в двух списках

​ значения. Например, если​ значения D9.​ способ, но ключевой​ тех, кто понимает,​ т.к. позволяют по​ наглядности и не​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​1​ поиска,строка в которой​Правильным решением будет​ИНДЕКС​и​ от большего к​для реализации вертикального​ ГПР.​ клавишу Ctrl, оба​

Исходные списки для сравнения

​ практически любые данные.​ ввести число 5000​​ столбец создается виртуально​ рекламировать ее не​ найденной позиции в​ влияет на вычисления.​Надеюсь, что хотя бы​​, а массив поиска​​ искать,0))​​ всегда использовать абсолютные​/​ПОИСКПОЗ​​ меньшему.​ поиска в Excel,​К началу страницы​ диапазона и запустите​ Мощь и возможности​​ получаем новый результат:​​Теперь научимся получать по​​ прямо внутри формулы,​ нужно :) -​​ одном диапазоне вывести​

Подсчет количества совпадений

​Формула для поиска позиции​ одна формула, описанная​ – это результат​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​

Количество совпадений формулой

​ ссылки для​ПОИСКПОЗ​

​, которая легко справляется​На первый взгляд, польза​ мы не будем​Для выполнения этой задачи​

​ макрос кнопкой Макросы​ Power Query так​Скачать пример поиска значения​ значению координаты не​ а не в​ без нее не​

​ соответствующее значение из​

​ значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)​ в этом учебнике,​ умножения. Хорошо, что​ поиска,столбец, в котором​ИНДЕКС​.​ с многими сложными​ от функции​ задерживаться на их​ используется функция ГПР.​ на вкладке​ велики, что Microsoft​ в диапазоне Excel​ целого листа, а​ ячейках листа.​ обходится ни один​ другого диапазона. Рассмотрим​Формула находит первое значение​ показалась Вам полезной.​ же мы должны​ искать,0)),(MATCH(значение для горизонтального​и​Предположим, Вы используете вот​

Подсчет количества совпадений отдельным столбцом

​ ситуациями, когда​​ПОИСКПОЗ​​ синтаксисе и применении.​Важно:​Разработчик (Developer)​ включила все ее​Наша программа в Excel​ текущей таблицы. Одним​Плюсы​ сложный расчет в​ пример.​ сверху и выводит​ Если Вы сталкивались​ перемножить и почему?​ поиска,строка в которой​

Вывод списка совпадений формулой массива

​ПОИСКПОЗ​ такую формулу с​ВПР​вызывает сомнение. Кому​Приведём здесь необходимый минимум​  Значения в первой​или сочетанием клавиш​

Вывод совпадений в двух списках формулой массива

​ функции по умолчанию​ нашла наиболее близкое​

​ словом, нам нужно​

​: Не нужен отдельный​ Excel. Есть, однако,​

  • ​Найдем количество заданного товара​ его позицию в​ с другими задачами​ Давайте разберем все​ искать,0))​
  • ​, чтобы диапазоны поиска​ВПР​оказывается в тупике.​
  • ​ нужно знать положение​ для понимания сути,​ строке должны быть​

​ Alt+F8. Макрос попросит​ в Excel начиная​ значение 4965 для​ найти по значению​ столбец, работает и​ одна проблема: эта​ на определенном складе.​
​ диапазоне, второе значение​ поиска, для которых​ по порядку:​Обратите внимание, что для​ не сбились при​, которая ищет в​Решая, какую формулу использовать​​ элемента в диапазоне?​​ а затем разберём​

Вывод списка совпадений с помощью слияния запросов Power Query

​ отсортированы по возрастанию.​ указать ячейку, начиная​ с 2016 версии.​ исходного – 5000.​ 5277 вместо D9​ с числами и​ функция умеет искать​ Для этого используем​ Груши учтено не​ не смогли найти​Берем первое значение в​ двумерного поиска нужно​ копировании формулы в​ ячейках от​ для вертикального поиска,​ Мы хотим знать​ подробно примеры формул,​В приведенном выше примере​

​ с которой нужно​Для начала, нам необходимо​ Такая программа может​ получить заголовки:​ с текстом.​ данные только по​​ формулу​​ будет.​ подходящее решение среди​​ столбце​​ указать всю таблицу​ другие ячейки.​B5​ большинство гуру Excel​​ значение этого элемента!​​ которые показывают преимущества​

Загрузка списков в Power Query

​ функция ГПР ищет​ вывести список совпадений​ загрузить наши таблицы​ пригодится для автоматического​​для столбца таблицы –​​Минусы​ совпадению одного параметра.​=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))​Чтобы найти номер строки,​ информации в этом​A​ в аргументе​Вы можете вкладывать другие​до​​ считают, что​Позвольте напомнить, что относительное​ использования​ значение 11 000 в строке 3​​ и после нажатия​ в Power Query.​​ решения разных аналитических​ Март;​​: Ощутимо тормозит на​

Закрыть и загрузить в Только подключение

​ А если у​В файле примера, соответствующий​ а не позиции​

​ уроке, смело опишите​(Customer) на листе​array​ функции Excel в​D10​ИНДЕКС​​ положение искомого значения​ИНДЕКС​ в указанном диапазоне.​ на​ Для этого выделим​​ задач при бизнес-планировании,​

Объединение запросов в Power Query

​для строки – Товар4.​ больших таблицах (как​

  1. ​ нас их несколько?​ столбец и строка​
  2. ​ в искомом диапазоне,​ свою проблему в​
  3. ​Main table​​(массив) функции​​ИНДЕКС​​значение, указанное в​

Слияние для выявления совпадающих строк

​/​​ (т.е. номер строки​​и​ Значение 11 000 отсутствует, поэтому​

Результат слияния

​ОК​​ первый список и​​ постановки целей, поиска​Чтобы решить данную задачу​ и все формулы​Предположим, что у нас​ выделены с помощью​​ можно записать следующую​​ комментариях, и мы​и сравниваем его​INDEX​и​​ ячейке​ПОИСКПОЗ​​ и/или столбца) –​

Выгрузка результатов на лист

​ПОИСКПОЗ​ она ищет следующее​сделает всю работу:​ на вкладке​ рационального решения и​ будем использовать формулу​ массива, впрочем), особенно​ есть база данных​

Макрос для вывода списка совпадений

​ Условного форматирования.​ формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)​ все вместе постараемся​ со всеми именами​(ИНДЕКС).​​ПОИСКПОЗ​​A2​​намного лучше, чем​​ это как раз​вместо​ максимальное значение, не​​Более совершенный макрос подобного​Данные​ т.п. А полученные​ с уже полученными​​ если указывать диапазоны​

​ по ценам товаров​СОВЕТ: Подробнее о поиске​Если искомое значение не​ решить её.​​ покупателей в таблице​​А теперь давайте испытаем​, например, чтобы найти​:​

​ВПР​ то, что мы​ВПР​ превышающее 11 000, и возвращает​ типа есть, кстати,​(в Excel 2016)​ строки и столбцы​ значениями в ячейках​ «с запасом» или​ за разные месяцы:​ позиций можно прочитать​ обнаружено в списке,​Урок подготовлен для Вас​ на листе​ этот шаблон на​ минимальное, максимальное или​=VLOOKUP(A2,B5:D10,3,FALSE)​. Однако, многие пользователи​ должны указать для​.​ 10 543.​ в моей надстройке​ или на вкладке​ позволяют дальше расширять​ C2 и C3.​ сразу целые столбцы​Нужно найти и вытащить​ в соответствующем разделе​ то будет возвращено​ командой сайта office-guru.ru​Lookup table​ практике. Ниже Вы​ ближайшее к среднему​=ВПР(A2;B5:D10;3;ЛОЖЬ)​ Excel по-прежнему прибегают​ аргументов​Функция​Дополнительные сведения см. в​ PLEX для Microsoft​

​Power Query​ вычислительные возможности такого​ Для этого делаем​ (т.е. вместо A2:A161​ цену заданного товара​ сайта: Поиск позиции.​​ значение ошибки #Н/Д.​​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​(A2:A13).​ видите список самых​ значение. Вот несколько​Формула не будет работать,​ к использованию​row_num​​INDEX​​ разделе, посвященном функции​

Макрос поиска совпадений в двух списках

​ Excel.​(если она была​ рода отчетов с​ так:​ вводить A:A и​

planetaexcel.ru

​ (​

Поиск и подстановка по нескольким условиям

Постановка задачи

Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно :) — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

Предположим, что у нас есть база данных по ценам товаров за разные месяцы:

vlookup-2cols1.png

Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

vlookup-2cols2.png

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

vlookup-2cols3.png

Плюсы: Простой способ, знакомая функция, работает с любыми данными.

Минусы: Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

vlookup-2cols4.png

Плюсы: Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.

Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:

  1. Выделите пустую зеленую ячейку, где должен быть результат.
  2. Введите в строке формул в нее следующую формулу:

    vlookup-2cols6.png

  3. Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.

Как это на самом деле работает:

Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.

Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

Ссылки по теме

  • Как искать и подставлять данные с помощью функции ВПР (VLOOKUP)
  • Что такое формулы массива и как их использовать
  • Как использовать связку функций ИНДЕКС и ПОИСКПОЗ вместо ВПР
  • Как извлечь сразу все значения, а не только первое с помощью ВПР
  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Вы можете использовать следующую формулу, чтобы найти несколько значений в Excel:

=INDEX( $A$1:$B$12 ,SMALL(IF( $A$1:$A$12 = $F$1 ,ROW( $A$1:$A$12 )),ROW( 1:1 )),2)

Эта конкретная формула находит все значения в диапазоне B1:B12 , где соответствующее значение в диапазоне A1:A12 равно значению в ячейке F1 .

В следующем примере показано, как использовать эту формулу на практике.

Пример: поиск нескольких значений в Excel

Предположим, у нас есть следующий набор данных в Excel, показывающий, какие сотрудники продавали различные продукты в какой-то компании:

Теперь предположим, что мы хотим найти все продукты, продаваемые Майком.

Для этого мы можем ввести его имя в ячейку D2 :

Затем мы можем ввести следующую формулу в ячейку E2 :

=INDEX( $A$1:$B$12 ,SMALL(IF( $A$1:$A$12 = $D$2 ,ROW( $A$1:$A$12 )),ROW( 1:1 )),2)

Это вернет первый продукт, проданный Майком:

Затем мы можем автоматически заполнить эту формулу до оставшихся ячеек в столбце E, чтобы найти все продукты, продаваемые Майком:

Теперь мы можем видеть все четыре продукта, проданных Майком:

  • Апельсины
  • киви
  • яблоки
  • Бананы

Мы можем посмотреть на исходные данные в столбцах A и B, чтобы убедиться, что Майк действительно продал все четыре продукта.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Как подсчитать количество вхождений в Excel
Как подсчитать частоту текста в Excel
Как рассчитать относительную частоту в Excel

Одновременный поиск в нескольких таблицах Excel

Определенно легче вести поиск по одной пусть большой, но целой таблице или в смежных диапазонах ячеек, чем по нескольким разделенным на части таблицами разбросанных по разным несмежным диапазонам или даже по отдельным листам. Даже если выполнить автоматический поиск одновременно по нескольким таблицам, то могут возникнуть существенные препятствия. А слаживать все данные в одну таблицу – это сложно, иногда практически не реально. На конкретном примере продемонстрируем правильное решение для одновременного поиска по нескольким таблицам в Excel.

Одновременный поиск по нескольким диапазонам

Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:

Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).

На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).

Среднестатистический пользователь Excel искал бы решение с помощью формул основанных таких функциях как ВПР. И выполнял бы поиск в 3 этапа (отдельно для каждой таблицы). Оказывается, можно получить сразу готовый результат выполнив поиск только в 1 этап с помощью специальной формулы. Для этого:

  1. В ячейке E6 введите значение 20, которое является условием для поискового запроса.
  2. В ячейке E7 введите следующую формулу:

Производственная себестоимость для 20 шт. определенного товара.

Как работает формула с ВПР в нескольких таблицах:

Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.

В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.

По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.

Как использовать поиск в Excel по одному или нескольким значениям

Excel – программа для работы с электронными таблицами. Документы в этой программе могут быть объемными с множеством листов. Поэтому для удобного поиска нужного слова, фразы, таблицы, ячейки или формулы существует специальный инструмент, пользоваться которым несложно.

Поиск в Excel

Самый простой и быстрый способ искать по слову, фразе, формуле и т.д в документе это использовать комбинацию клавиш Ctrl и F одновременно. Появится следующее окно.

Здесь понадобится ввести искомое слово, фразу и т.д.

Второй вариант поиска в Excel — на главной странице нажать вкладку «Найти и выделить». Выбираем «Найти», вводим нужные символы и запускается поиск.

Программа начнет искать и выделит все места, где есть искомое слово или фраза. Если документ очень большой, то процесс может занять некоторое время.

После, будет выдан список с адресами ячеек, где есть искомая комбинация. Кликнув на нужную строку, курсор перенесет на нужную ячейку.

В поле можно использовать подстановочные знаки * и ?.

Обычно их применяют в таких ситуациях:

  1. * — может быть использована для замены букв. К примеру, если ввести «к*т», то найдутся все слова, которые начинаются на букву «к» и заканчиваются на «т», кит, кот и т.д. Звездочка заменяет как один символ, так и любое количество. Т.е. в нашем примере найдутся и слова кабинет, кабриолет и т.д.
  2. ? — такой подстановочный знак заменяет только одну букву. Например, «к?т», выйдут слова, которые состоят из трех букв «кот», «кит».

Настройки поиска

Если необходимо установить определенные настройки, то в окне необходимо кликнуть «Параметры».

Тут можно задать следующие настройки:

  • в строке «Искать» можно ограничить поиск только листом;
  • в строке «Просматривать» можно выбрать вариант просмотра по строкам или по столбцам;
  • строка «Область» позволяет выбрать искомые символы: формула либо значение;
  • отметив галкой «Учитывать регистр» производится нахождение искомой комбинации с учетом регистра;
  • если необходимо увидеть ячейку, которая содержит только заданные символы, нужно отметить «Ячейка целиком»;
  • во вкладке «Формат» можно выбрать искомое форматирование.

Нажимая кнопку «Заменить», можно сразу заменить найденное на указанные значения.

В строку «Найти» нужно ввести искомую комбинацию значений, а в строке «Заменить» те символы, на которые следует заменить найденные.

Поиск по указанному интервалу

Нахождение по указанному интервалу может понадобиться в том случае, если таблица очень большая, и при обычном обнаружении находится слишком большое количество значений.

Этим способом ограничивается диапазон для нахождения комбинации.

  1. Выделяем диапазон, для которого нужно определить значения.
  2. Запускаем поиск любым способом, описанным выше. Отличие лишь в том, что изначально для работы будет выделен определенный диапазон.

Поиск по нескольким условиям

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

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

Составим таблицу.

Формула будет в ячейке Е4, но можно использовать любую другую. Затем придерживаемся алгоритма:

  1. В ячейке ставим знак равенства и прописываем функцию: «=ВПР(».
  2. Аргумент 1 это Гранит7. Пишем «ВПР(«Гранит7»».
  3. Аргумент 2 – это ячейки А4:А20. Формула получается такой: «ВПР(«Гранит7»; А4:А20;».
  4. Аргумент 3, цифра 2, т.к. ищем значение во втором столбце. «ВПР(«Гранит7»; А4:А20;2».
  5. Аргумент 4, дает понять функции, какое значение нужно искать, точное или приблизительное. Оно может быть ИСТИНА или ЛОЖЬ. ИСТИНА – приблизительно совпавшие значения, а ЛОЖЬ – точные. Мы ищем точные. Выглядит запись так: «ВПР(«Гранит7»; А4:А20;2;ЛОЖЬ)» или «=ВПР(A10;A4:B20;2;ЛОЖЬ)».
  6. Кликаем по Enter и получаем искомое.

Аналогичным способом можно добавлять условия в более сложных таблицах.

К примеру, добавим в таблицу столбец с месяцем. Попробуем увидеть в каком месяце Гранит17 стоит 1016.

Составляем формулу, добавляя новые значения. Аргументом 3 будет цифра 3.

Нажимаем ввод и получаем месяц «май».

Функция поиск в Excel

Также для обнаружения можно использовать функции ПОИСК и НАЙТИ.

Сначала рассмотрим функции НАЙТИ. С ее помощью можно автоматически определить позицию в текстовой строке, она различает прописные и строчные буквы.

Пример: найдем положение буквы «а» в слове Гранит6. Введем формулу =НАЙТИ(«а»;A9;3) и получим 3, т.е. «а» третья буква.

Теперь рассмотрим функцию ПОИСК. В данной формуле можно использовать подстановочные символы (? — один, * — несколько). Например, найдем в той же ячейке положение цифры 6. Введем формулу =ПОИСК(«6»;A9), получаем 8.

Одновременный поиск в нескольких таблицах Excel

Определенно легче вести поиск по одной пусть большой, но целой таблице или в смежных диапазонах ячеек, чем по нескольким разделенным на части таблицами разбросанных по разным несмежным диапазонам или даже по отдельным листам. Даже если выполнить автоматический поиск одновременно по нескольким таблицам, то могут возникнуть существенные препятствия. А слаживать все данные в одну таблицу – это сложно, иногда практически не реально. На конкретном примере продемонстрируем правильное решение для одновременного поиска по нескольким таблицам в Excel.

Одновременный поиск по нескольким диапазонам

Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:

Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).

На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).

Среднестатистический пользователь Excel искал бы решение с помощью формул основанных таких функциях как ВПР. И выполнял бы поиск в 3 этапа (отдельно для каждой таблицы). Оказывается, можно получить сразу готовый результат выполнив поиск только в 1 этап с помощью специальной формулы. Для этого:

  1. В ячейке E6 введите значение 20, которое является условием для поискового запроса.
  2. В ячейке E7 введите следующую формулу:

Производственная себестоимость для 20 шт. определенного товара.

Как работает формула с ВПР в нескольких таблицах:

Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.

В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.

По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.

Поиск значений в списке данных

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

В этой статье

Поиск значений в списке по вертикали по точному совпадению

Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

Примеры использования функции ВПР

Дополнительные сведения можно найти в разделе функция ВПР.

Примеры ИНДЕКСов и СОВПАДЕНИй

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.

Поиск значений в списке по вертикали по приблизительному совпадению

Для этого используйте функцию ВПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.

Дополнительные сведения можно найти в разделе функция ВПР.

Поиск значений по вертикали в списке неизвестного размера с точным соответствием

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.

C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

Поиск значений в списке по горизонтали по точному совпадению

Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

Поиск значений в списке по горизонтали с использованием приблизительного совпадения

Для выполнения этой задачи используется функция ГПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

Дополнительные сведения можно найти в разделе функции ГПР.

Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.

Щелкните ячейку в диапазоне.

На вкладке формулы в группе решения нажмите кнопку Подстановка .

Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.

Загрузка программы-надстройки «Мастер подстановок»

Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Как искать несколько значений одновременно в Excel?

У меня проблема. У меня есть несколько файлов Excel с несколькими номерами в списке. Мне нужно взять эти числа в этих списках и посмотреть, есть ли эти значения в другом листе Excel с более чем 570000 значений. Затем пометьте следующий столбец с да или нет. В настоящее время я просматриваю более ста тысяч значений по отдельности, используя элемент управления F. Мне было интересно, можно ли просмотреть весь список за один раз. Эта проблема также может быть выражена как поиск нескольких уникальных значений на листе за один раз.

Любая помощь? Спасибо!

Изменить: Итак, если я пытаюсь найти 4 значения в списке из 1000 значений, есть ли в любом случае, чтобы ячейка рядом с каждым из этих 4 значений сказать «да»? Или это невозможно? В этом случае 4 значения будут списками из других файлов Excel.

Простой COUNTIF покажет, существует ли значение в другом столбце, независимо от того, находится ли этот столбец на другом листе или другой книге в целом.

Пример: с открытыми обеими рабочими книгами используйте эту формулу, чтобы выяснить, находится ли значение в A1 в столбце B листа другой рабочей книги (Other WB.xlsx).

=IF(COUNTIF([Other WB.xlsx]Sheet1!$B:$B, A1), «Yes», «No»)

Если две рабочие книги открыты, вы можете Alt+Tab между ними, чтобы выбрать столбец B из другой рабочей книги во время создания формулы. Если вы закроете другую книгу, формула будет автоматически отображать полный путь к закрытой книге, например:

=IF(COUNTIF(‘C:UsersuserDocuments[Other WB.xlsx]Sheet1’!$B:$B, A1), «Yes», «No»)

Вы можете быстро заполнить формулу, просто дважды щелкнув по маленькому черному квадратному маркеру перетаскивания в правом нижнем углу ячейки.

Во второй части нашего учебника по функции ВПР (VLOOKUP) в Excel мы разберём несколько примеров, которые помогут Вам направить всю мощь ВПР

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

Поиск в Excel по нескольким критериям

Функция ВПР в Excel – это действительно мощный инструмент для выполнения поиска определённого значения в базе данных. Однако, есть существенное ограничение – её синтаксис позволяет искать только одно значение. Как же быть, если требуется выполнить поиск по нескольким условиям? Решение Вы найдёте далее.

Пример 1: Поиск по 2-м разным критериям

Предположим, у нас есть список заказов и мы хотим найти Количество товара (Qty.), основываясь на двух критериях – Имя клиента (Customer) и Название продукта (Product). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:

Руководство по функции ВПР в Excel

Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара Sweets, заказанное покупателем Jeremy Hill, запишите вот такую формулу:

=VLOOKUP(B1,$A$5:$C$14,3,FALSE) =ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)

Есть простой обходной путь – создать дополнительный столбец, в котором объединить все нужные критерии. В нашем примере это столбцы Имя клиента (Customer) и Название продукта (Product). Не забывайте, что объединенный столбец должен быть всегда крайним левым в диапазоне поиска, поскольку именно левый столбец функция ВПР просматривает при поиске значения.

Итак, Вы добавляете вспомогательный столбец в таблицу и копируете по всем его ячейкам формулу вида: =B2&C2. Если хочется, чтобы строка была более читаемой, можно разделить объединенные значения пробелом: =B2&» «&C2. После этого можно использовать следующую формулу:

=VLOOKUP("Jeremy Hill Sweets",$A$7:$D$18,4,FALSE) =ВПР("Jeremy Hill Sweets";$A$7:$D$18;4;ЛОЖЬ)

=VLOOKUP(B1,$A$7:$D$18,4,FALSE) =ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)

Руководство по функции ВПР в Excel

Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе

Если Вам необходимо обновить основную таблицу (Main table), добавив данные из второй таблицы (Lookup table), которая находится на другом листе или в другой рабочей книге Excel, то Вы можете собрать искомое значение непосредственно в формуле, которую вставляете в основную таблицу.

Как и в предыдущем примере, Вам понадобится в таблице поиска (Lookup table) вспомогательный столбец с объединенными значениями. Этот столбец должен быть крайним левым в заданном для поиска диапазоне.

Итак, формула с ВПР может быть такой:

=VLOOKUP(B2&" "&C2,Orders!$A&$2:$D$2,4,FALSE) =ВПР(B2&" "&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)

Чтобы сделать формулу более читаемой, Вы можете задать имя для просматриваемого диапазона, и тогда формула станет выглядеть гораздо проще:

Руководство по функции ВПР в Excel

Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (B2&» «&C2).

Соглашусь, добавление вспомогательного столбца – не самое изящное и не всегда приемлемое решение. Вы можете сделать то же самое без вспомогательного столбца, но в таком случае потребуется гораздо более сложная формула с комбинацией функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ).

Извлекаем 2-е, 3-е и т.д. значения, используя ВПР

Вы уже знаете, что ВПР может возвратить только одно совпадающее значение, точнее – первое найденное. Но как быть, если в просматриваемом массиве это значение повторяется несколько раз, и Вы хотите извлечь 2-е или 3-е из них? А что если все значения? Задачка кажется замысловатой, но решение существует!

Предположим, в одном столбце таблицы записаны имена клиентов (Customer Name), а в другом – товары (Product), которые они купили. Попробуем найти 2-й, 3-й и 4-й товары, купленные заданным клиентом.

Простейший способ – добавить вспомогательный столбец перед столбцом Customer Name и заполнить его именами клиентов с номером повторения каждого имени, например, John Doe1, John Doe2 и т.д. Фокус с нумерацией сделаем при помощи функции COUNTIF (СЧЁТЕСЛИ), учитывая, что имена клиентов находятся в столбце B:

=B2&COUNTIF($B$2:B2,B2) =B2&СЧЁТЕСЛИ($B$2:B2;B2)

После этого Вы можете использовать обычную функцию ВПР, чтобы найти нужный заказ. Например:

  • Находим 2-й товар, заказанный покупателем Dan Brown:

    =VLOOKUP("Dan Brown2",$A$2:$C$16,3,FALSE) =ВПР("Dan Brown2";$A$2:$C$16;3;ЛОЖЬ)

  • Находим 3-й товар, заказанный покупателем Dan Brown:

    =VLOOKUP("Dan Brown3",$A$2:$C$16,3,FALSE) =ВПР("Dan Brown3";$A$2:$C$16;3;ЛОЖЬ)

На самом деле, Вы можете ввести ссылку на ячейку в качестве искомого значения вместо текста, как представлено на следующем рисунке:

Руководство по функции ВПР в Excel

Если Вы ищите только 2-е повторение, то можете сделать это без вспомогательного столбца, создав более сложную формулу:

=IFERROR(VLOOKUP($F$2,INDIRECT("$B$"&(MATCH($F$2,Table4[Customer Name],0)+2)&":$C16"),2,FALSE),"") =ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ("$B$"&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&":$C16");2;ИСТИНА);"")

  • $F$2 – ячейка, содержащая имя покупателя (она неизменна, обратите внимание – ссылка абсолютная);
  • $B$ – столбец Customer Name;
  • Table4 – Ваша таблица (на этом месте также может быть обычный диапазон);
  • $C16 – конечная ячейка Вашей таблицы или диапазона.

Эта формула находит только второе совпадающее значение. Если же Вам необходимо извлечь остальные повторения, воспользуйтесь предыдущим решением.

Если Вам нужен список всех совпадений – функция ВПР тут не помощник, поскольку она возвращает только одно значение за раз – и точка. Но в Excel есть функция INDEX (ИНДЕКС), которая с легкостью справится с этой задачей. Как будет выглядеть такая формула, Вы узнаете в следующем примере.

Извлекаем все повторения искомого значения

Как упоминалось выше, ВПР не может извлечь все повторяющиеся значения из просматриваемого диапазона. Чтобы сделать это, Вам потребуется чуть более сложная формула, составленная из нескольких функций Excel, таких как INDEX (ИНДЕКС), SMALL (НАИМЕНЬШИЙ) и ROW (СТРОКА)

Например, формула, представленная ниже, находит все повторения значения из ячейки F2 в диапазоне B2:B16 и возвращает результат из тех же строк в столбце C.

{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)),"")} {=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3));"")}

Руководство по функции ВПР в Excel

Если Вам интересно понять, как она работает, давайте немного погрузимся в детали формулы:

Часть 1:

IF($F$2=B2:B16,ROW(C2:C16)-1,"") ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"")

Результатом функции IF (ЕСЛИ) окажется вот такой горизонтальный массив: {1,"",3,"",5,"","","","","","",12,"","",""}

Часть 2:

ROW()-3 СТРОКА()-3

Часть 3:

SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)) НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))

Часть 4:

INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)) ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))

Часть 5:

IFERROR() ЕСЛИОШИБКА()

Двумерный поиск по известным строке и столбцу

Выполнение двумерного поиска в Excel подразумевает поиск значения по известному номеру строки и столбца. Другими словами, Вы извлекаете значение ячейки на пересечении конкретной строки и столбца.

Итак, давайте обратимся к нашей таблице и запишем формулу с функцией ВПР, которая найдет информацию о стоимости проданных в марте лимонов.

Руководство по функции ВПР в Excel

Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.

Функции ВПР и ПОИСКПОЗ

Вы можете использовать связку из функций ВПР (VLOOKUP) и ПОИСКПОЗ (MATCH), чтобы найти значение на пересечении полей Название продукта (строка) и Месяц (столбец) рассматриваемого массива:

=VLOOKUP("Lemons",$A$2:$I$9,MATCH("Mar",$A$1:$I$1,0),FALSE) =ВПР("Lemons";$A$2:$I$9;ПОИСКПОЗ("Mar";$A$1:$I$1;0);ЛОЖЬ)

MATCH("Mar",$A$1:$I$1,0) ПОИСКПОЗ("Mar";$A$1:$I$1;0)

  • Ищем символы «Mar» – аргумент lookup_value (искомое_значение);
  • Ищем в ячейках от A1 до I1 – аргумент lookup_array (просматриваемый_массив);
  • Возвращаем точное совпадение – аргумент match_type (тип_сопоставления).

Использовав 0 в третьем аргументе, Вы говорите функции ПОИСКПОЗ искать первое значение, в точности совпадающее с искомым значением. Это равносильно значению FALSE (ЛОЖЬ) для четвёртого аргумента ВПР.

Вот так Вы можете создать формулу для поиска по двум критериям в Excel, что также известно, как двумерный поиск или поиск в двух направлениях.

Функция СУММПРОИЗВ

Функция СУММПРОИЗВ (SUMPRODUCT) возвращает сумму произведений выбранных массивов:

=SUMPRODUCT(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar"),$A$2:$I$9) =СУММПРОИЗВ(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar");$A$2:$I$9)

В следующей статье я буду объяснять эти функции во всех деталях, так что сейчас можете просто скопировать эту формулу:

=INDEX($A$2:$I$9,MATCH("Lemons",$A$2:$A$9,0),MATCH("Mar",$A$1:$I$1,0)) =ИНДЕКС($A$2:$I$9;ПОИСКПОЗ("Lemons";$A$2:$A$9;0);ПОИСКПОЗ("Mar";$A$1:$I$1;0))

Если Вы не в восторге от всех этих сложных формул Excel, Вам может понравиться вот такой наглядный и запоминающийся способ:

  1. Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
  2. Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.

    Руководство по функции ВПР в Excel

  3. В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:

    =Lemons Mar … или наоборот: =Mar Lemons

    Помните, что имена строки и столбца нужно разделить пробелом, который в данном случае работает как оператор пересечения.

При вводе имени, Microsoft Excel будет показывать подсказку со списком подходящих имен, так же, как при вводе формулы.

Руководство по функции ВПР в Excel

  1. Нажмите Enter и проверьте результат

В целом, какой бы из представленных выше методов Вы ни выбрали, результат двумерного поиска будет одним и тем же:

Руководство по функции ВПР в Excel

Используем несколько ВПР в одной формуле

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

Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).

Руководство по функции ВПР в Excel

Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.

  1. Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:

    =VLOOKUP(A2,New_SKU,2,FALSE) =ВПР(A2;New_SKU;2;ЛОЖЬ)

    Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)

  2. Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:

    =VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE) =ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)

    Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.

На рисунке ниже виден результат, возвращаемый созданной нами формулой:

Руководство по функции ВПР в Excel

Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ

В начале разъясним, что мы подразумеваем под выражением «Динамическая подстановка данных из разных таблиц», чтобы убедиться правильно ли мы понимает друг друга.

Бывают ситуации, когда есть несколько листов с данными одного формата, и необходимо извлечь нужную информацию с определенного листа в зависимости от значения, которое введено в заданную ячейку. Думаю, проще это объяснить на примере.

Представьте, что имеются отчеты по продажам для нескольких регионов с одинаковыми товарами и в одинаковом формате. Требуется найти показатели продаж для определенного региона:

Руководство по функции ВПР в Excel

Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (IF), чтобы выбрать нужный отчет для поиска:

=VLOOKUP($D$2,IF($D3="FL",FL_Sales,CA_Sales),2,FALSE) =ВПР($D$2;ЕСЛИ($D3="FL";FL_Sales;CA_Sales);2;ЛОЖЬ)

  • $D$2 – это ячейка, содержащая название товара. Обратите внимание, здесь мы используем абсолютные ссылки, чтобы избежать изменения искомого значения при копировании формулы в другие ячейки.
  • $D3 – это ячейка с названием региона. Используем абсолютную ссылку для столбца и относительную ссылку для строки, поскольку планируем копировать формулу в другие ячейки того же столбца.
  • FL_Sales и CA_Sales – названия таблиц (или именованных диапазонов), в которых содержаться соответствующие отчеты о продажах. Вы, конечно же, можете использовать обычные названия листов и ссылки на диапазоны ячеек, например ‘FL Sheet’!$A$3:$B$10, но именованные диапазоны гораздо удобнее.

Руководство по функции ВПР в Excel

Однако, когда таких таблиц много, функция ЕСЛИ – это не лучшее решение. Вместо нее можно использовать функцию ДВССЫЛ (INDIRECT), чтобы возвратить нужный диапазон поиска.

Как Вы, вероятно, знаете, функция ДВССЫЛ используется для того, чтобы вернуть ссылку, заданную текстовой строкой, а это как раз то, что нам сейчас нужно. Итак, смело заменяем в представленной выше формуле выражение с функцией ЕСЛИ на ссылку с функцией ДВССЫЛ. Вот такая комбинация ВПР и ДВССЫЛ отлично работает в паре:

=VLOOKUP($D$2,INDIRECT($D3&"_Sales"),2,FALSE) =ВПР($D$2;ДВССЫЛ($D3&"_Sales");2;ЛОЖЬ)

  • $D$2 – это ячейка с названием товара, она неизменна благодаря абсолютной ссылке.
  • $D3 – это ячейка, содержащая первую часть названия региона. В нашем примере это FL.
  • _Sales – общая часть названия всех именованных диапазонов или таблиц. Соединенная со значением в ячейке D3, она образует полное имя требуемого диапазона. Ниже приведены некоторые подробности для тех, кто не имеет опыта работы с функцией ДВССЫЛ.

Как работают ДВССЫЛ и ВПР

Во-первых, позвольте напомнить синтаксис функции ДВССЫЛ (INDIRECT):

INDIRECT(ref_text,[a1]) ДВССЫЛ(ссылка_на_текст;[a1])

  • A1, если аргумент равен TRUE (ИСТИНА) или не указан;
  • R1C1, если FALSE (ЛОЖЬ).

В нашем случае ссылка имеет стиль A1, поэтому можно не указывать второй аргумент и сосредоточиться на первом.

Итак, давайте вернемся к нашим отчетам по продажам. Если Вы помните, то каждый отчёт – это отдельная таблица, расположенная на отдельном листе. Чтобы формула работала верно, Вы должны дать названия своим таблицам (или диапазонам), причем все названия должны иметь общую часть. Например, так: CA_Sales, FL_Sales, TX_Sales и так далее. Как видите, во всех именах присутствует «_Sales».

Функция ДВССЫЛ соединяет значение в столбце D и текстовую строку «_Sales», тем самым сообщая ВПР в какой таблице искать. Если в ячейке D3 находится значение «FL», формула выполнит поиск в таблице FL_Sales, если «CA» – в таблице CA_Sales и так далее.

Результат работы функций ВПР и ДВССЫЛ будет следующий:

Руководство по функции ВПР в Excel

Если данные расположены в разных книгах Excel, то необходимо добавить имя книги перед именованным диапазоном, например:

=VLOOKUP($D$2,INDIRECT($D3&"Workbook1!_Sales"),2,FALSE) =ВПР($D$2;ДВССЫЛ($D3&"Workbook1!_Sales");2;ЛОЖЬ)

Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel

Хитрости »

1 Май 2011              531901 просмотров


Как получить список уникальных(не повторяющихся) значений?

Представим себе большой список различных наименований, ФИО, табельных номеров и т.п. А необходимо из этого списка оставить список все тех же наименований, но чтобы они не повторялись — т.е. удалить из этого списка все дублирующие записи. Как это иначе называют: создать список уникальных элементов, список неповторяющихся, без дубликатов. Для этого существует несколько способов: встроенными средствами Excel, встроенными формулами и, наконец, при помощи кода Visual Basic for Application(VBA) и сводных таблиц. В этой статье рассмотрим каждый из вариантов.

  • При помощи встроенных возможностей Excel 2007 и выше
  • При помощи Расширенного фильтра
  • При помощи формул
  • При помощи кодов Visual Basic for Application(VBA) — макросы, включая универсальный код выборки из произвольного диапазона
  • При помощи сводных таблиц

при помощи встроенных возможностей Excel 2007 и выше

В Excel 2007 и 2010 это сделать проще простого — есть специальная команда, которая так и называется — Удалить дубликаты (Remove Duplicates). Расположена она на вкладке Данные (Data) подраздел Работа с данными (Data tools)

Как использовать данную команду. Выделяете столбец(или несколько) с теми данными, в которых надо удалить дублирующие записи. Идете на вкладку Данные (Data)Удалить дубликаты (Remove Duplicates).

Если выделить один столбец, но рядом с ним будут еще столбцы с данными(или хотя бы один столбец), то Excel предложит выбрать: расширить диапазон выборки этим столбцом или оставить выделение как есть и удалить данные только в выделенном диапазоне. Важно помнить, что если не расширить диапазон, то данные будут изменены лишь в одном столбце, а данные в прилегающем столбце останутся без малейших изменений.

Появится окно с параметрами удаления дубликатов

Ставите галочки напротив тех столбцов, дубликаты в которых надо удалить и жмете Ок. Если в выделенном диапазоне так же расположены заголовки данных, то лучше поставить флаг Мои данные содержат заголовки, чтобы случайно не удалить данные в таблице(если они вдруг полностью совпадают со значением в заголовке).


Способ 1: Расширенный фильтр

В случае с Excel 2003 все посложнее. Там нет такого инструмента, как Удалить дубликаты. Но зато есть такой замечательный инструмент, как Расширенный фильтр. В 2003 этот инструмент можно найти в ДанныеФильтрРасширенный фильтр. Прелесть этого метода в том, с его помощью можно не портить исходные данные, а создать список в другом диапазоне.

В 2007-2010 Excel, он тоже есть, но немного запрятан. Расположен на вкладке Данные (Data), группа Сортировка и фильтр (Sort & Filter)Дополнительно (Advanced)

Как его использовать: запускаем указанный инструмент — появляется диалоговое окно:

  • Обработка: Выбираем Скопировать результат в другое место (Copy to another location).
  • Исходный диапазон (List range): Выбираем диапазон с данными(в нашем случае это А1:А51).
  • Диапазон критериев (Criteria range): в данном случае оставляем пустым.
  • Поместить результат в диапазон (Copy to): указываем первую ячейку для вывода данных — любую пустую(на картинке — E2).
  • Ставим галочку Только уникальные записи (Unique records only).
  • Жмем Ок.

Примечание: если вы хотите поместить результат на другой лист, то просто так указать другой лист не получится. Вы сможете указать ячейку на другом листе, но…Увы и ах…Excel выдаст сообщение, что не может скопировать данные на другие листы. Но и это можно обойти, причем довольно просто. Надо всего лишь запустить Расширенный фильтр с того листа, на который хотим поместить результат. А в качестве исходных данных выбираем данные с любого листа — это дозволено.

Так же можно не выносить результат в другие ячейки, а отфильтровать данные на месте. Данные от этого никак не пострадают — это будет обычная фильтрация данных.

Для этого надо просто в пункте Обработка выбрать Фильтровать список на месте (Filter the list, in-place).


Способ 2: Формулы

Этот способ сложнее в понимании для неопытных пользователей, но зато он создает список уникальных значений, не изменяя при этом исходные данные. Ну и он более динамичен: если изменить данные в исходной таблице, то изменится и результат. Иногда это бывает полезно. Попытаюсь объяснить на пальцах что и к чему: допустим, список с данными у Вас расположен в столбце

А

(

А1:А51

, где

А1

— заголовок). Выводить список мы будем в столбец

С

, начиная с ячейки

С2

. Формула в

C2

будет следующая:

{=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))}
{=INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1))}
Детальный разбор работы данной формулы приведен в статье: Как просмотреть этапы вычисления формул

Надо отметить, что эта формула является формулой массива. Об этом могут сказать фигурные скобки, в которые заключена данная формула. А вводится такая формула в ячейку сочетанием клавиш —

Ctrl

+

Shift

+

Enter

(при этом сами скобки вводить не надо — они появятся сами после ввода формулы тремя клавишами

Ctrl

+

Shift

+

Enter

). После того, как мы ввели эту формулу в

C2

мы её должны скопировать и вставить в несколько строк так, чтобы точно отобразить все уникальные элементы. Как только формула в нижних ячейках вернет

#ЧИСЛО!(#NUM!)

— это значит все элементы отображены и ниже протягивать формулу нет смысла. Чтобы ошибку избежать и сделать формулу более универсальной(не протягивая каждый раз до появления ошибки) можно использовать нехитрую проверку:

для Excel 2007 и выше:
{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»)}
{=IFERROR(INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»)}
для Excel 2003:
{=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»;ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1)))}
{=IF(ISERR(SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»;INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1)))}

Тогда вместо ошибки 

#ЧИСЛО!(#NUM!)

у вас будут пустые ячейки(не совсем пустые, конечно — с формулами :-)).
Чуть подробнее про отличия и нюансы формул ЕСЛИОШИБКА и ЕСЛИ(ЕОШ можно прочесть в этой статье: Как в ячейке с формулой вместо ошибки показать 0


Для пользователей Excel 2021 выше, а так же пользователей Excel 365(с активной подпиской) — использовать формулы для извлечения уникальных элементов проще простого. В этих версиях появилась функция

УНИК(UNIQUE)

, которая как раз получает список уникальных значений на основании переданного диапазона:

=УНИК($A$2:$A$51)
=UNIQUE($A$2:$A$51)

Что самое важное в данном случае — это функция динамического массива и вводить её надо только в одну ячейку C2, а результат она поместит сама в нужное количество ячеек.


Способ 3: код VBA

Данный подход потребует разрешения макросов и базовых знаний о работе с ними. Если не уверены в своих знаниях для начала рекомендую прочитать эти статьи:

  • Что такое макрос и где его искать? к статье приложен видеоурок
  • Что такое модуль? Какие бывают модули? потребуется, чтобы понять куда вставлять приведенные ниже коды

Оба приведенных ниже кода следует помещать в стандартный модуль. Макросы должны быть разрешены.

Исходные данные оставим в том же порядке — список с данными расположен в столбце «А«(А1:А51, где А1 — заголовок). Только выводить список мы будем не в столбец С, а в столбец Е, начиная с ячейки Е2:

Sub Extract_Unique()
    Dim vItem, avArr, li As Long
    ReDim avArr(1 To Rows.Count, 1 To 1)
    With New Collection
        On Error Resume Next
        For Each vItem In Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
            'Cells(Rows.Count, 1).End(xlUp) – определяет последнюю заполненную ячейку в столбце А
            .Add vItem, CStr(vItem)
            If Err = 0 Then
                li = li + 1: avArr(li, 1) = vItem
            Else: Err.Clear
            End If
        Next
    End With
    If li Then [E2].Resize(li).Value = avArr
End Sub

С помощью данного кода можно извлечь уникальные не только из одного столбца, но и из любого диапазона столбцов и строк. Если вместо строки
Range(«A2», Cells(Rows.Count, 1).End(xlUp)).Value
указать Selection.Value, то результатом работы кода будет список уникальных элементов из выделенного на активном листе диапазона. Только тогда неплохо бы и ячейку вывода значений изменить — вместо [E2] поставить ту, в которой данных нет.
Так же можно указать конкретный диапазон:

Или другой столбец:

Range("C2", Cells(Rows.Count, 3).End(xlUp)).Value

здесь отдельно стоит обратить внимание то, что в данном случае помимо изменения А2 на С2 изменилась и цифра 1 на 3. Это указание на номер столбца, в котором необходимо определить последнюю заполненную ячейку, чтобы код не просматривал лишние ячейки. Подробнее про это можно прочитать в статье: Как определить последнюю ячейку на листе через VBA?

Универсальный код выбора уникальных значений
Код ниже можно применять для любых диапазонов. Достаточно запустить его, указать диапазон со значениями для отбора только неповторяющихся(допускается выделение более одного столбца) и ячейку для вывода результата. Указанные ячейки будут просмотрены, из них будут отобраны только уникальные значения(пустые ячейки при этом пропускаются) и результирующий список будет записан, начиная с указанной ячейки.

Sub Extract_Unique()
    Dim x, avArr, li As Long
    Dim avVals
    Dim rVals As Range, rResultCell As Range
 
    On Error Resume Next
    'запрашиваем адрес ячеек для выбора уникальных значений
    Set rVals = Application.InputBox("Укажите диапазон ячеек для выборки уникальных значений", "Запрос данных", "A2:A51", Type:=8)
    If rVals Is Nothing Then 'если нажата кнопка Отмена
        Exit Sub
    End If
    'если указана только одна ячейка - нет смысла выбирать
    If rVals.Count = 1 Then
        MsgBox "Для отбора уникальных значений требуется указать более одной ячейки", vbInformation, "www.excel-vba.ru"
        Exit Sub
    End If
    'отсекаем пустые строки и столбцы вне рабочего диапазона
    Set rVals = Intersect(rVals, rVals.Parent.UsedRange)
    'если указаны только пустые ячейки вне рабочего диапазона
    If rVals Is Nothing Then
        MsgBox "Недостаточно данных для выбора значений", vbInformation, "www.excel-vba.ru"
        Exit Sub
    End If
    avVals = rVals.Value
    'запрашиваем ячейку для вывода результата
    Set rResultCell = Application.InputBox("Укажите ячейку для вставки отобранных уникальных значений", "Запрос данных", "E2", Type:=8)
    If rResultCell Is Nothing Then 'если нажата кнопка Отмена
        Exit Sub
    End If
    'определяем максимально возможную размерность массива для результата
    ReDim avArr(1 To Rows.Count, 1 To 1)
    'при помощи объекта Коллекции(Collection)
    'отбираем только уникальные записи,
    'т.к. Коллекции не могут содержать повторяющиеся значения
    With New Collection
        On Error Resume Next
        For Each x In avVals
            If Len(CStr(x)) Then 'пропускаем пустые ячейки
                .Add x, CStr(x) 'если добавляемый элемент уже есть в Коллекции - возникнет ошибка
                'если же ошибки нет - такое значение еще не внесено,
                'добавляем в результирующий массив
                If Err = 0 Then
                    li = li + 1
                    avArr(li, 1) = x
                Else
                    'обязательно очищаем объект Ошибки
                    Err.Clear
                End If
            End If
        Next
    End With
    'записываем результат на лист, начиная с указанной ячейки
    If li Then rResultCell.Cells(1, 1).Resize(li).Value = avArr
End Sub

Способ 4: Сводные таблицы

Несколько нестандартный способ извлечения уникальных значений.

  • Выделяем один или несколько столбцов в таблице, переходим на вкладку Вставка(Insert) -группа Таблица(Table)Сводная таблица(PivotTable)
  • В диалоговом окне Создание сводной таблицы(Create PivotTable) проверяем правильность выделения диапазона данных (или установить новый источник данных)
  • указываем место размещения Сводной таблицы:
    • На новый лист (New Worksheet)
    • На существующий лист (Existing Worksheet)
  • подтверждаем создание нажатием кнопки OK

Т.к. сводные таблицы при обработке данных, которые помещаются в область строк или столбцов, отбирают из них только уникальные значения для последующего анализа, то от нас ровным счетом ничего не требуется, кроме как создать сводную таблицу и поместить в область строк или столбцов данные нужного столбца.
На примере приложенного к статье файла я:

  • выделил диапазон A1:B51 на листе Извлечение по критерию
  • вызвал меню вставки сводной таблицы: вкладка Вставка(Insert) -группа Таблица(Table)Сводная таблица(PivotTable)
    выбрал вставить на новый лист(New Worksheet)
  • назвал этот лист Уникальные сводной таблицей
  • поле Данные поместил в область строк
  • поле ФИО в область фильтра. Почему? Чтобы удобно было выбирать одно или несколько ФИО и в сводной отображался бы список уникальных месяцев только для выбранных фамилий
    Отбор уникальных сводной таблицей

В чем неудобство работы со сводными в данном случае: при изменении в исходных данных сводную таблицу придется обновлять вручную: Выделить любую ячейку сводной таблицы -Правая кнопка мыши —Обновить(Refresh) или вкладка Данные(Data)Обновить все(Refresh all)Обновить(Refresh). А если исходные данные пополняются динамически и того хуже — надо будет заново указывать диапазон исходных данных. И еще один минус — данные внутри сводной таблицы нельзя менять. Поэтому если с полученным списком необходимо будет работать в дальнейшем, то после создания нужного списка при помощи сводной его надо скопировать и вставить на нужный лист.

Чтобы лучше понимать все действия и научиться обращаться со сводными таблицами настоятельно рекомендую ознакомиться со статьей Общие сведения о сводных таблицах — к ней приложен видеоурок, в котором я наглядно демонстрирую простоту и удобство работы с основными возможностями сводных таблиц.


В приложенном примере помимо описанных приемов, записана чуть более сложная вариация извлечения уникальных элементов формулой и кодом, а именно: извлечение уникальных элементов по критерию. О чем речь: если в одном столбце фамилии, а во втором(В) некие данные(в файле это месяцы) и требуется извлечь уникальные значения столбца В только для выбранной фамилии. Примеры подобных извлечений уникальных расположены на листе Извлечение по критерию.

Скачать пример:

  Tips_All_ExtractUnique.xls (108,0 KiB, 18 430 скачиваний)

Также см.:
Работа с дубликатами
Как подсчитать количество повторений
Общие сведения о сводных таблицах


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Подсчет уникальных значений в Excel

В этом руководстве вы узнаете, как подсчитывать уникальные значения в Excel с помощью формул и как это делать в сводной таблице. Мы также рассмотрим несколько примеров подсчета уникальных текстовых и числовых значений, в том числе с учетом регистра.

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

Если вы регулярно посещаете этот блог, вы уже знаете формулу Excel для подсчета дубликатов. Сегодня мы собираемся изучить различные способы подсчета уникальных значений в Excel. Но для ясности давайте сначала определим термины.

  • Уникальные значения — это те, которые появляются в списке только один раз.
  • Различные — это все, что есть в списке без учета повторений, т.е уникальные плюс первое появление повторяющихся.

Следующий рисунок иллюстрирует эту разницу:

Теперь давайте посмотрим, как их вычислить с помощью формул и функций сводной таблицы.

Ниже вы найдете несколько примеров для подсчета уникальных данных разных типов.

Считаем уникальные значения в столбце.

Предположим, у вас есть столбец имен на листе Excel, и вам нужно подсчитать, сколько их не дубликатов. Самое простое решение — использовать функцию СУММ в сочетании с ЕСЛИ и СЧЁТЕСЛИ :

= СУММ (ЕСЛИ (СЧЁТЕСЛИ (диапазон; диапазон) = 1,1,0))

Примечание. Это формула массива, поэтому обязательно нажмите Ctrl + Shift + Enter, чтобы ввести ее правильно. Как только это будет сделано, Excel автоматически заключит все выражение в {фигурные скобки}, как показано на снимке экрана ниже. Фигурные скобки ни в коем случае нельзя вводить вручную, не получится.

В этом примере мы подсчитываем уникальные имена в диапазоне A2: A10, поэтому наше выражение выглядит так:

{= СУММ (ЕСЛИ (СЧЁТЕСЛИ (A2: A10; A2: A10) = 1, 1, 0))}

Этот метод подходит как для текстовых, так и для цифровых данных. Обратной стороной является то, что, будучи уникальным, он будет пересчитывать любой контент, включая ошибки.

Позже в этом руководстве мы обсудим несколько других подходов для подсчета уникальных значений разных типов. И поскольку в основном это вариации этой базовой формулы, имеет смысл присмотреться к ней поближе. Если вы понимаете, как это работает, вы можете настроить его для своих данных. Если кого-то не интересуют технические детали, можете сразу перейти к следующему примеру.

Как работает формула подсчета уникальных значений?

Как видите, здесь используются 3 разные функции: СУММ, ЕСЛИ и СЧЁТЕСЛИ. Посмотрим, что делает каждый из них:

  • Функция СЧЁТЕСЛИ подсчитывает, сколько раз каждое отдельное значение появляется в анализируемом диапазоне.

В этом примере СЧЁТЕСЛИ (A2: A10; A2: A10) возвращает матрицу {3: 2: 2: 1: 1: 2: 3: 2: 3}.

  • Функция ЕСЛИ оценивает каждый элемент в этом массиве, сохраняет все единицы (то есть уникальные) и заменяет все остальные цифры нулями.

Затем функция ЕСЛИ (СЧЁТЕСЛИ (A2: A10; A2: A10) = 1; 1; 0) преобразуется в ЕСЛИ ({3: 2: 2: 1: 1: 2: 3: 2: 3}) = 1,1, 0).

А затем он превращается в массив чисел {0: 0: 0: 1: 1: 0: 0: 0: 0}. Здесь 1 означает уникальное значение, а 0 означает, что оно встречается более 1 раза.

  • Наконец, функция СУММ складывает числа в этот последний массив и возвращает общее количество уникальных значений. Что нам нужно.

Совет. Чтобы увидеть, как определенная часть выражения дает результаты, выберите эту часть в строке формул и нажмите функциональную клавишу F9.

Подсчет уникальных текстовых значений.

Если ваш список содержит как числа, так и текст, и вы хотите подсчитывать только уникальные текстовые строки, добавьте функцию ETEXT () к приведенной выше формуле массива:

{= СУММ (ЕСЛИ (ETEXT (A2: A10) * СЧЁТЕСЛИ (A2: A10; A2: A10) = 1; 1; 0))}

Функция ETEXT возвращает TRUE, если исследуемая ячейка является текстовой, и FALSE в противном случае. Поскольку звездочка (*) в формулах массива работает как оператор И, функция ЕСЛИ возвращает 1 только в том случае, если она считается как текстовой, так и уникальной, в противном случае мы получаем 0. И после того, как функция СУММ сложит все числа, вы получите количество уникальные текстовые значения в указанном диапазоне.

Не забудьте нажать Ctrl + Shift + Enter, чтобы правильно ввести формулу массива, и вы получите следующий результат:

Как вы можете видеть на скриншоте выше, мы получили общее количество уникальных текстовых значений, исключая пустые ячейки, числа, логические выражения и ошибки ИСТИНА и ЛОЖЬ.

Как сосчитать уникальные числовые значения.

Чтобы подсчитать уникальные числа в списке данных, используйте формулу массива, как мы только что сделали для подсчета текстовых данных. Разница в том, что вы используете ISNUMBER вместо ETEXT:

{= СУММ (ЕСЛИ (ЕЧИСЛО (A2: A10) * СЧЁТЕСЛИ (A2: A10; A2: A10) = 1; 1; 0))}

Вы можете увидеть пример и результат на скриншоте чуть выше.

Примечание. Поскольку Microsoft Excel хранит дату и время в виде чисел, они также участвуют в вычислениях.

Уникальные значения с учетом регистра.

Если разница между прописными и строчными буквами критична для вас, самый простой способ подсчета — создать вспомогательный столбец со следующей формулой массива для определения повторяющихся и уникальных элементов:

{= ЕСЛИ (СУММ ((- ТОЧНЫЙ ($ A $ 2: $ A $ 10, A2))) = 1; «Уникальный»; «Двойной»)}

А затем используйте простую функцию СЧЁТЕСЛИ для подсчета уникальных значений:

= СЧЁТЕСЛИ (B2: B10; «Уникальный»)

Теперь посмотрим, как можно подсчитать количество значений, которые появляются хотя бы один раз, то есть так называемых разных значений.

Подсчет различных значений.

Используйте следующее общее выражение:

{= СУММ (1 / СЧЁТЕСЛИ (диапазон; диапазон))}

Помните, что это формула массива, поэтому вам следует нажать Ctrl + Shift + Enter вместо обычного Enter.

В качестве альтернативы вы можете использовать функцию СУММПРОИЗВ и написать формулу обычным способом:

= СУММПРОИЗВ (1 / СЧЁТЕСЛИ (интервал; интервал))

Например, чтобы подсчитать различные значения в диапазоне A2: A10, вы можете использовать выражение:

{= СУММ (1 / СЧЁТЕСЛИ (A2: A10; A2: A10))}

или

= СУММПРОИЗВ (1 / СЧЁТЕСЛИ (A2: A10; A2: A10))

Этот метод подходит не только для подсчета в столбце, но и для диапазона данных. Например, у нас есть два столбца для имен. Итак, давайте сделаем это:

{= СУММПРОИЗВ (1 / СЧЁТЕСЛИ (A2: B10; A2: B10))}

Этот способ подходит для текста, чисел, дат.

Единственное ограничение — диапазон должен быть непрерывным и не содержать пустых ячеек или ошибок.

Если у вас есть пустые ячейки в диапазоне данных, вы можете изменить:

{= СУММПРОИЗВ (1 / СЧЁТЕСЛИ (A2: A10; A2: A10&»»))}

Тогда пустая ячейка будет включена в расчет и будет засчитана.

Как это работает?

Как вы уже знаете, мы используем функцию СЧЁТЕСЛИ, чтобы узнать, сколько раз каждый отдельный элемент встречается в указанном диапазоне. В приведенном выше примере результатом функции СЧЁТЕСЛИ является числовой массив: {3: 2: 2: 1: 3: 2: 1: 2: 3}.

Затем выполняется серия операций деления, в которых одна делится на каждую цифру этой матрицы. Это преобразует все неуникальные значения в дробные числа, соответствующие количеству повторений. Например, если число или текст появляется в списке 2 раза, в массиве создаются 2 элемента, равных 0,5 (1/2 = 0,5). А если он встречается 3 раза, то в массиве создаются 3 элемента из 0,333333. 

В нашем примере результатом вычисления выражения 1 / COUNTIF (A2: A10; A2: A10) является массив {0,3333333333333333: 0,5: 0,5: 1: 0,333333333333333: 0,5: 1: 0,5: 0,333333333333333}.

Все еще не совсем ясно? Это потому, что мы еще не применили функцию СУММ / СУММПРОИЗВ. Когда одна из этих функций добавляет числа в массив, сумма всех дробных чисел для любого отдельного элемента всегда дает 1, независимо от того, сколько раз оно встречается. И поскольку все уникальные элементы отображаются в массиве как единицы (1/1 = 1), конечный результат — это сумма всех значений, которые встречаются.

Как и в случае с подсчетом уникальных значений в Excel, вы можете использовать универсальные параметры формулы для обработки чисел, текста или чувствительности к регистру.

Помните, что все следующие выражения являются формулами массива и требуют нажатия Ctrl + Shift + Enter.

Подсчет различных значений без учета пустых ячеек

Если столбец, который вы хотите подсчитать, может содержать пустые ячейки, вам следует добавить функцию ЕСЛИ к уже знакомой формуле массива. Он проверит ячейки на наличие пробелов (в этом случае базовая формула Excel, описанная выше, вернет ошибку # DIV / 0):

= СУММ (ЕСЛИ (диапазон «»; 1 / СЧЁТЕСЛИ (диапазон; диапазон); 0))

Вот как, например, можно подсчитать количество отдельных значений, игнорируя пустые ячейки:

Мы используем:

{= СУММ (ЕСЛИ (A2: A10 «»; 1 / СЧЁТЕСЛИ (A2: A10; A2: A10), 0))}

Как видите, наш список состоит из трех имен.

Подсчет различных чисел.

Чтобы подсчитать несколько числовых значений (числа, даты и время), используйте функцию ЕЧИСЛО:

= СУММ (ЕСЛИ (ЕЧИСЛО (диапазон); 1 / СЧЁТЕСЛИ (диапазон; диапазон); «»))

Посчитаем, сколько разных чисел находится в диапазоне A2: A10:

{= СУММ (ЕСЛИ (ЕЧИСЛО (A2: A10), 1 / СЧЁТЕСЛИ (A2: A10, A2: A10);»»))}

Вы можете увидеть результат ниже.

Это довольно простое и элегантное решение, но оно намного медленнее, чем выражения, использующие функцию ЧАСТОТА для подсчета уникальных значений. Если у вас большие наборы данных, мы рекомендуем перейти на частотную формулу.

А вот еще один способ считать числа:

= СУММ (- (ЧАСТОТА (диапазон; диапазон)> 0))

Применяется к следующему примеру:

= СУММ (- (ЧАСТОТА (A2: A10; A2: A10)> 0))

Как видите, записи, содержащие буквы, здесь игнорируются.

Посмотрим, как это работает пошагово.

Функция ЧАСТОТА возвращает массив цифр, которые соответствуют диапазонам, указанным доступными числами. В этом случае мы сравниваем один и тот же набор чисел для массива данных и для массива диапазонов.

В результате FREQUENCY () возвращает массив, который является счетчиком для каждого числового значения в массиве данных.

Это работает, потому что FREQUENCY () возвращает ноль для всех чисел, которые ранее появлялись в списке. Ноль также возвращается для текстовых данных. Таким образом, получившийся массив выглядит так: 

{3: 0: 0: 2: 0: 0}

Как видите, обрабатываются только числа. Ячейки A7: A10 игнорируются, поскольку в них есть текст. А функция ЧАСТОТА () работает только с числами.

Теперь давайте проверим каждое из этих чисел на наличие условия «больше нуля».

У нас есть:

{ИСТИНА: ЛОЖЬ: ЛОЖЬ: ИСТИНА: ЛОЖЬ: ЛОЖЬ}

Теперь установите TRUE и FALSE соответственно на 1 и 0. Мы делаем это с двойным отрицанием. Проще говоря, это двойной минус, который не меняет величину числа, но позволяет по возможности получать действительные числа:

{1: 0: 0: 1: 0: 0}

А теперь функция СУММ складывает все, и мы получаем результат: 2.

Примечание. Вы можете легко использовать СУММПРОИЗВ вместо функции СУММ.

Различные текстовые значения.

Чтобы подсчитать отдельные текстовые записи в столбце, мы будем использовать тот же подход, что и для исключения пустых ячеек.

Как нетрудно догадаться, мы просто добавим функцию ETEXT и проверку состояния:

= СУММ (ЕСЛИ (ETEXT (диапазон); 1 / СЧЁТЕСЛИ (диапазон; диапазон); «»))

Рассчитываем количество отдельных символьных значений следующим образом:

{= СУММ (ЕСЛИ (ETEXT (A2: A10), 1 / СЧЁТЕСЛИ (A2: A10, A2: A10);»»))}

Не забывайте, что это формула массива.

Если в вашей таблице нет пустых ячеек и ошибок, вы можете применить формулу, которая использует несколько функций: ЧАСТОТА, ПОИСК, СТРОКА и СУММПРОИЗВ.

В целом это выглядит так:

= СУММПРОИЗВ (- (ЧАСТОТА (ПОИСК (диапазон; диапазон; 0); СТРОКА (диапазон) — СТРОКА (диапазон_первый_ячейка) +1)> 0))

Предположим, у вас есть список имен сотрудников с указанием часов, в течение которых они работали над проектом, и вы хотите знать, сколько людей было задействовано. Глядя на данные, можно увидеть, что названия повторяются. И вы хотите посчитать всех, кто хоть раз попадал в этот список.

Применяем формулу массива:

{= СУММПРОИЗВ (- (ЧАСТОТА (ПОИСК (A2: A10; A2: A10,0); СТРОКА (A2: A10) -ЛИНИЯ (A2) +1)> 0))}

это сложнее, чем использование функции ЧАСТОТА () для подсчета разных чисел. Это потому, что FREQUENCY () не работает с текстом. Следовательно, MATCH преобразует имена в номера элементов, которые FREQUENCY () может обрабатывать().

Если какая-либо из ячеек в диапазоне пуста, вам нужно использовать более сложную формулу массива, которая включает функцию ЕСЛИ:

{= SUM (IF (FREQUENCY (IF (data «»; SEARCH (data; data; 0))); STRING (data) -LINE (data_first_cell) +1); 1))}

Примечание. Поскольку логический элемент управления в операторе IF содержит массив, наше выражение немедленно становится формулой массива, которая требует ввода с помощью Ctrl + Shift + Enter. Поэтому SUMPRODUCT был заменен на SUM.
В нашем примере это выглядит так:

{= СУММ (ЕСЛИ (ЧАСТОТА (ЕСЛИ (A2: A10 «», ПОИСК (A2: A10; A2: A10,0)), СТРОКА (A2: A10) -ЛИНИЯ (A2) +1), 1))}

Теперь этот расчет может быть «нарушен» только наличием ячеек с ошибками в исследуемом диапазоне.

Различные текстовые значения с условием.

Предположим, мы хотим пересчитать, сколько товаров заказал конкретный клиент.

В решении этой проблемы вам может помочь этот вариант:

{= СУММПРОИЗВ ((($ A $ 2: $ A $ 18 = E2)) / COUNTIF ($ A $ 2: $ A $ 18; $ A $ 2: $ A $ 18 & «»; $ B $ 2: $ B $ 18; $ B $ 2: $ B $ 18&»»))}

Введите его в пустую ячейку, куда вы хотите вставить результат, например F2. Затем нажмите одновременно Shift + Ctrl + Enter, чтобы получить правильный результат.

Поясним: здесь A2: A18 — это список покупателей с учетом того, какая область расчетов ограничена, B2: B18 — это список товаров, в которых вы хотите посчитать уникальные значения, E2 содержит критерий, на основании которого расчет ограничен только конкретным клиентом.

Второй способ.

Для уникальных значений в диапазоне с критериями можно использовать формулу массива, основанную на функции ЧАСТОТА.

{= СУММ (- (FREQUENCY (IF (критерий; MATCH (диапазон; диапазон; 0)); STRING (диапазон) -STRING (диапазон_первый_ячейка) +1)> 0))}

Применительно к нашему примеру:

{= СУММ (- (ЧАСТОТА (ЕСЛИ (LA2: A10 = E2; ПОИСК (B2: B10; B2: B10,0)); СТРОКА (B2: B10) — СТРОКА (B2) +1)> 0))}

На основе ограничений IF () функция ПОИСКПОЗ определяет порядковый номер только для строк, которые соответствуют критериям.

Если какая-либо из ячеек в диапазоне критериев пуста, вам необходимо изменить расчет, добавив дополнительный SE для обработки пустых ячеек. В противном случае они будут переданы функции ПОИСКПОЗ, которая в ответ сгенерирует сообщение об ошибке.

Вот что произошло после корректировки:

 {= СУММ (- (ЧАСТОТА (ЕСЛИ (B2: B10 «»; ЕСЛИ (A2: A10 = E2; ПОИСК (B2: B10; B2: B10,0))); СТРОКА (B2: B10) -СТРОКА (B2) +1)> 0))}

То есть мы выполняем все действия и вычисления, если мы встретили непустую ячейку в столбце B: IF (B2: B10 «»….

Если у вас есть два критерия, вы можете расширить логику формулы, добавив еще один вложенный SE.

Мы объясняем. Определяем, сколько единиц товара было в первой партии покупателя.

Отметим критерии в G2 и G3.

В целом это выглядит так:

{= СУММ (- (ЧАСТОТА (ЕСЛИ (критерий1, ЕСЛИ (критерий2, ПОИСКПОЗ (диапазон, диапазон, 0)))), СТРОКА (диапазон) — СТРОКА (диапазон_первый_элемент) +1)> 0))}

Подставляем сюда реальные данные и получаем результат:

{= СУММ (- (ЧАСТОТА (ЕСЛИ (LA2: A10 = G2; ЕСЛИ (C2: C10 = G3; ПОИСК (B2: B10; B2: B10,0))); СТРОКА (B2: B10) -СТРОКА (B2) +1)> 0))}

У первого лота 2 товарных наименования, хотя есть 3 локации.

Различные числа с условием.

Если вам нужно пересчитать уникальные числа (с учетом первого вхождения) в диапазоне, с учетом некоторых ограничений, вы можете использовать формулу, основанную на СУММ и ЧАСТОТА, и одновременно применять критерии.

{= СУММ (- (ЧАСТОТА (ЕСЛИ (критерий, диапазон), диапазон)> 0))}

Предположим, у нас есть список сотрудников и количество отработанных часов в день. Необходимо посчитать, сколько человек проработали хотя бы один раз менее 8 часов, то есть неполную смену.

Вот наша матричная формула:

{= СУММ (- (ЧАСТОТА (ЕСЛИ (B2: B10 0))}

Как видите, таких случаев 3, но они связаны с двумя сотрудниками.

Различные значения с учетом регистра.

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

Подход в основном такой же, как тот, который мы использовали для подсчета уникальных значений с учетом регистра, с одним небольшим изменением:

{= ЕСЛИ (СУММ ((- ТОЧНЫЙ ($ A $ 2: $ A2, $ A2))) = 1; «Уникальный»;»»)}

Как вы помните, все формулы массива в Excel требуют нажатия Ctrl + Shift + Enter.

Заметив это выражение, вы можете подсчитать «различные» значения, используя обычную функцию СЧЁТЕСЛИ, например:

= СЧЁТЕСЛИ (B2: B10; «Уникальный»)

Если вы не можете добавить вспомогательный столбец на свой рабочий лист, вы можете использовать следующую более сложную формулу массива для подсчета различных значений с учетом регистра без создания дополнительного столбца:

{= СУММ (ЕСЛИОШИБКА (1 / IF ($ A $ 2: $ A $ 10 «»; FREQUENCY (IF (MATCH ($ A $ 2: $ A $ 10; TRANSPOSE ($ A $ 2: $ A $ 10)); ПОИСК (СТРОКА ($ A $ 2: $ A $ 10); СТРОКА ($ A $ 2: $ A $ 10)); «»); ПОИСК (СТРОКА ($ A $ 2: $ A $ 10)); LINE ($ A $ 2: $ A $ 10))); 0); 0))}

Как видите, обе формулы дают одинаковые результаты.

Подсчет уникальных строк в таблице.

Подсчет уникальных / различных строк в Excel аналогичен пересчету уникальных и различных значений. Единственное отличие состоит в том, что вы используете функцию СЧЁТЕСЛИ вместо СЧЁТЕСЛИ, которая позволяет вам указывать сразу несколько столбцов для проверки их уникальности.

Например, чтобы подсчитать уникальные строки на основе столбцов A (Имя) и B (Фамилия), используйте один из следующих вариантов:

Для уникальных строк:

{= СУММ (ЕСЛИ (СЧЁТЕСЛИМН (A3: A11; A3: A11; B3: B11; B3: B11) = 1; 1; 0))}

Для разных строк:

{= СУММ (1 / СЧЁТЕСЛИ (A3: A11; A3: A11; B3: B11; B3: B11))}

Конечно, вы не ограничены двумя столбцами. Функция СЧЁТЕСЛИ может обрабатывать до 127 пар диапазон / критерий.

Как можно использовать сводную таблицу.

Вот общая задача, которую все пользователи Excel должны время от времени выполнять. У вас есть список данных (например, названия продуктов), и вам нужно узнать количество уникальных позиций в этом списке. Как это сделать? Проще, чем вы думаете 🙂

Версии Excel до 2013 года имеют специальную функцию, которая позволяет автоматически пересчитывать различные значения в сводной таблице. На следующем рисунке показано, как выглядит этот счетчик:

Чтобы создать сводную таблицу с подсчетом для определенного столбца, выполните следующие действия.

  1. Выберите данные для включения в сводную таблицу, перейдите на вкладку «Вставка» и нажмите кнопку «Сводная таблица» .
  2. В диалоговом окне «Создание сводной таблицы» выберите, следует ли разместить сводную таблицу на новом или существующем листе, и обязательно установите флажок «Добавить эти данные в модель данных» .

  1. Когда откроется сводная таблица, расположите области строк, столбцов и значений по своему усмотрению. Если у вас нет большого опыта работы со сводными таблицами Excel, вам могут быть полезны следующие подробные рекомендации: Создайте сводную таблицу в Excel.
  2. Переместите поле, уникальное количество которого вы хотите вычислить (поле «Элемент» в этом примере), в область «Значения», щелкните его и выберите «Параметры значения поля…» из раскрывающегося меню.
  3. В открывшемся диалоговом окне прокрутите вниз до пункта «Количество разных элементов», который является последним элементом в списке, выберите его и нажмите «ОК .

Вы также можете присвоить своему глюкометру индивидуальное имя, если хотите.

Готовый! Во вновь созданной сводной таблице будет отображаться количество различных элементов, как показано на самом первом снимке экрана в этом разделе.

Комментарий. После обновления исходных данных обязательно обновите также сводную таблицу. Для этого нажмите кнопку «Обновить» на вкладке «Анализ» в группе «Данные».

Вот как подсчитать различные и уникальные значения в столбце и в таблице Excel. 

Спасибо за чтение и надеюсь увидеть вас снова.

Понравилась статья? Поделить с друзьями:
  • Excel поиск пустых ячеек в столбце
  • Excel поиск по вхождению в диапазон
  • Excel поиск по всем листам формула
  • Excel поиск по всем листам книги
  • Excel поиск по всей книге формулой