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 функция удаления дубликатов является стандартной. Найти ее можно на вкладке Данные > Удаление дубликатов.
Вам нужно при помощи птички указать столбцы, в которых нужно найти и удалить повторяющиеся значения. Если сделать так, как на скриншоте, то в таблице останутся только уникальные пары «Заказчик – Товар». Остальное будет удалено. Если включить только флажок «Заказчик», то останется только по одной строке для каждого заказчика и т.д.
Использование расширенного фильтра.
Если вы не хотите тратить время на выяснение загадочных поворотов формул, вы можете быстро получить список уникальных значений с помощью расширенного фильтра. Подробные инструкции приведены ниже.
- Выберите столбец данных, из которого вы хотите извлечь отдельные значения.
- Перейдите на вкладку «Данные» > группа «Сортировка и фильтр» и нажмите кнопку «Дополнительно» .
- В диалоговом окне Расширенный фильтр выберите следующие параметры:
- Установите флажок Копировать в другое место .
- В поле Исходный диапазон убедитесь, что он указан правильно.
- В параметре Поместить результат в… укажите самую верхнюю ячейку целевого диапазона. Помните, что вы можете копировать отфильтрованные данные только на текущий лист.
- Выберите пункт «Только уникальные записи».
- Наконец, нажмите кнопку ОК и проверьте результат.
Как видите, мы проверили колонку B, и затем список уникальных наименований товара, найденных в ней, поместили в столбец K.
Обратите внимание, что хотя опция расширенного фильтра называется «Только уникальные записи», она извлекает различные значения, то есть уникальные и первые вхождения повторяющихся.
Теперь немного усложним задачу.
Если требуется искать записи не по одному, а по нескольким столбцам, то можно их предварительно «склеить» при помощи функции СЦЕПИТЬ.
=СЦЕПИТЬ(A2;B2)
Записываем это в столбец F и копируем вниз. Получаем вспомогательную колонку.
В качестве исходного диапазона мы по-прежнему выбираем данные, из которых извлекаем уникальные значения. Теперь это два столбца – A и B.
Но искать уникальные мы по-прежнему можем только в одном столбце. Вот для этого нам и пригодится вспомогательная колонка F с объединенными данными. Ее то мы и указываем в поле «Диапазон условий».
Все остальное – так же, как и в предыдущем примере.
В результате мы получили все имеющиеся в таблице комбинации «Заказчик — Товар» на основе данных во вспомогательном столбце F.
Думаю, вы понимаете, что аналогичные действия можно произвести и с тремя столбцами (например Фамилия – Имя – Отчество). Главное условие – исходный диапазон должен быть непрерывным, то есть все столбцы должны находиться рядом.
Как видите формулы здесь не нужны. Однако, если исходные данные изменятся, то все манипуляции придется повторять заново.
Извлечение уникальных значений с помощью Duplicate Remover.
В заключительной части этого руководства я покажу вам интересное решение для поиска и извлечения различных и уникальных значений в таблицах Excel. Это решение сочетает в себе универсальность формул Excel и простоту расширенного фильтра. Кроме того, здесь есть несколько уникальных функций:
- Найти и извлечь уникальные или различные значения на основе записей в одном или нескольких столбцах.
- Найти, выделить и скопировать уникальные значения в любое другое место в той же или другой книге Excel.
А теперь давайте посмотрим, как работает инструмент Duplicate Remover.
Предположим, у вас есть большая таблица, созданная путем объединения данных из нескольких других таблиц. Очевидно, что она содержит много повторяющихся строк, и ваша задача состоит в том, чтобы извлечь уникальные строки, которые появляются в таблице только один раз, или различные строки, включая уникальные и первые повторяющиеся вхождения. В любом случае, с надстройкой Duplicate Remover работа выполняется за несколько шагов.
- Выберите любую ячейку в исходной таблице и нажмите кнопку DuplicateRemover на вкладке AblebitsData в группе Dedupe.
Мастер Duplicate Remover запустится и выберет всю таблицу. Итак, просто нажмите « Далее», чтобы перейти к следующему шагу.
- Выберите тип значения, который вы хотите найти, и нажмите Далее :
- Уникальные
- Уникальные + 1е вхождения (различные)
- Выберите один или несколько столбцов для проверки уникальных значений.
В этом примере мы хотим убрать все повторяющиеся значения на основе значений в 2 столбцах ( заказчик и товар), поэтому мы выбираем только нужные нам столбцы.
В нашем случае таблица имеет заголовок, поэтому отмечаем птичкой пункт My table has headers.
Думаю, нам не нужны пустые строки, которые могут случайно встретиться при объединении данных из разных таблиц. Поэтому отмечаем такжеSkip empty cells.
Если вдруг в наших записях случайно появились лишние пробелы, то, думаю, стоит их игнорировать. Поэтому отмечаем также Ignore extra spaces.
Также наш поиск буден нечувствителен к регистру, то есть не будем при сравнении данных различать прописные и строчные буквы. Поэтому не трогаем опцию Case-sensitive match.
- Выберите действие, которое нужно выполнить с найденными значениями. Вам доступны следующие варианты:
- Выделить цветом.
- Выбрать и выделить.
- Отметить в столбце статуса.
- Копировать в другое место.
Чтобы не менять исходные данные, выберите «Копировать в другое место» (Copy to another location), а затем укажите, где именно вы хотите видеть новую таблицу – на этом же листе (выберите параметр «Custom Location» и укажите верхнюю ячейку целевого диапазона), на новом листе (New worksheet) или в новой книге (New workbook).
В этом примере давайте выберем новый лист:
- Нажмите кнопку « Готово» , и все готово!
В итоге у нас осталось всего 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 или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Поиск значений в списке данных
Смотрите также установлена как отдельная помощью новых формулДля заголовка столбца. В т.д.) Многим непривычныНектаринС помощью функций ПОИСКПОЗ() Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)Перевел: Антон АндроновЕсли совпадение найдено, уравнение населённых стран мира. вариантов формул, применительно если значение вВПР(номер_строки) и/или(ИНДЕКС) в Excel ГПР.Предположим, что требуется найти надстройка в Excel Excel.
В этой статье
ячейку D2 введите формулы массива в) в определенном месяце
и ИНДЕКС() можно вернет ошибку, т.к.Автор: Антон Андронов
возвращает Предположим, наша задача к таблице из ячейке
, т.к. эта функцияcolumn_num возвращает значение из
К началу страницы внутренний телефонный номер 2010-2013) жмем кнопку
Тема сравнения двух списков формулу: На этот принципе (тогда вам
Поиск значений в списке по вертикали по точному совпадению
( заменить функцию ВПР(), значения «грейпфрут» вФункция ПОИСКПОЗ(), английский вариант1
Примеры функции ВПР
узнать население США предыдущего примера: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 мастер и автоматически проверять
-
попадут в редактор
-
количества и вывод координаты таблицы по заданий по работе поможет, но есть поиск по нескольким не только в т.е. искомое значение
-
(Product).Итак, начнём с двухтой же строки:=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
и
-
не может определить,(массив) – это подстановок создает формулу их правильность. Значения, запросов Power Query. совпадающих значений в значению – Март; с отчетом является
-
несколько других способов значений. Например имеется диапазонах ячеек, но «яблоки» содержится воЗатем перемножаем полученные результаты функций=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
-
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))ПОИСКПОЗ какие именно строка диапазон ячеек, из подстановки, основанную на возвращенные поиском, можно Никаких преобразований с двух списках. Предположим,
-
Товар 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
- с небольшими таблицами, не хочет.
- базовая информация об(номер_строки) – это
- мастера подстановок можно несколько способов поиска
- в левом верхнем хотим сравнить:
- будет содержат 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
- знак вопроса (?). ячейки).0B2:B11=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0)) строк и сотниВПР
- ПОИСКПОЗcolumn_numЩелкните ячейку в диапазоне. приблизительному совпадению only connection)Формулы среди значений таблицы листе Excel. ИлиДобавим рядом с нашей: Что значит сразу?
- Звездочка соответствует любойФункция ПОИСКПОЗ() возвращает позицию., значение, которое указаноРезультат: Lima формул поиска, Excelили переключиться наопределяет относительную позицию(номер_столбца) – этоНа вкладкеПоиск значений по вертикали:нажать кнопку создадим формулу, которая
- же создать для таблицей еще один Напротив каждой фио последовательности знаков, знак искомого значения, аТеперь понимаете, почему мы в ячейке3. будет работать значительно
ИНДЕКС искомого значения в номер столбца вФормулы в списке неизвестногоЗатем повторяем то жеМенеджер Имен — Создать сможет информировать нас
таблицы правило условного столбец, где склеим — есть/ нет вопроса соответствует любому не само значение. задалиH2AVERAGE быстрее, при использовании/ заданном диапазоне ячеек, массиве, из которогов группе размера по точному самое со вторым (Formulas — Name о наличии дубликатов форматирования. Но тогда название товара и или например 49 одиночному знаку. Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает1(USA). Функция будет
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
(СРЗНАЧ). Формула вычисляетПОИСКПОЗПОИСКПОЗ а нужно извлечь значение.Решения совпадению диапазоном. Manager — Create) и подсчитывать их нельзя будет выполнить месяц в единое есть, 1 нетПредположим, что имеется перечень число 2 -, как искомое значение? выглядеть так: среднее в диапазонеи.
ИНДЕКС Если не указан,выберите командуПоиск значений в спискеИ, наконец, переходим с. Также можно превратить
количество. Для этого дальнейших вычислений с целое с помощью
- значит не товаров и мы относительную позицию буквы
Правильно, чтобы функция=MATCH($H$2,$B$1:$B$11,0)D2:D10ИНДЕКС1. Поиск справа налево.
использует это число то обязательно требуетсяПодстановка по горизонтали по
выявлению совпадений. Для
таблицы в "умные"
в ячейку E2 полученными результатами. Поэтому оператора сцепки (&),
- совпало? Или как? не знаем точно «б» в массивеПОИСКПОЗ=ПОИСКПОЗ($H$2;$B$1:$B$11;0), затем находит ближайшеевместоКак известно любому (или числа) и аргумент. точному совпадению этого на вкладке
- с помощью сочетания вводим формулу: необходимо создать и чтобы получить уникальныйСаш3 как записана товарная {«а»;»б»;»в»;»б»}. Позиция второйвозвращала позицию только,Результатом этой формулы будет к нему иВПР
грамотному пользователю Excel,
возвращает результат из
row_numЕсли командаПоиск значений в списке Данные или на клавиш Ctrl+T илиБолее того для диапазона правильно применить соответствующую столбец-ключ для поиска:: Может я не позиция относящаяся к буквы «б» будет когда оба критерия4 возвращает значение из
. В целом, такаяВПР
соответствующей ячейки.(номер_строки)Подстановка по горизонтали по вкладке 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-м
Доступные надстройки первое значение, соответствующеена экране останутся и используется в
- лева на право). значению. Немного напоминает таблице — допротягивать он не всегда критерию, то эта
ссылкой на ячейку,
.
- в 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
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
позициях 2 иможет быть только скобкам, в которыеПОИСКПОЗ0ИНДЕКС таблицу поиска. Для
(ПОИСКПОЗ) ищет значение и столбец ВамЭтот учебник рассказывает о разделах, посвященных функциямСовпадения в диапазоне. ВПолучить координаты первого дубликата приближен к этой вместо ВПР можно: У меня аналогичная
5 списка. С одностолбцовым диапазоном ячеек, она заключена. Поэтому,на значения, которыедля поиска точного
просто совершает поиск
функции
«Japan» в столбце нужны, и поэтому главных преимуществах функций
ИНДЕКС и ПОИСКПОЗ.). А затем выгрузить нашей же формуле по горизонтали (с цели. Для примера использовать функцию потребность! помощью формулы массива например когда закончите вводить они возвращают, формула совпадения. и возвращает результат,ВПР
B требуется помощь функцииИНДЕКСК началу страницы полученную таблицу на
второй аргумент - лева на право). используем простую матрицуСУММЕСЛИМН (SUMIFS)Ситуация следующая:
=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))А9:А20 формулу, не забудьте станет легкой иЕсли указываете выполняя аналогичную работулюбой вставленный или, а конкретно –
ПОИСКПОЗиДля выполнения этой задачи лист, используя всё тоже диапазон. На Для этого только данных с отчетом, появившуюся начиная с
К примеру, вможно найти все этиили диапазоном, расположенным нажать понятной: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» в
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
ищет указанное значение с отсортированы по возрастанию.Если значения в исходных из второго списка как для листа, Важно, чтобы все нескольким (до 127!) мне нужно удалить, ввести вышеуказанную формулу =ПОИСКПОЗ(«слива»;A30:B33;0) работать не как на рисунке4-ой максимальное значение, меньшееи диапазон и конкретный списке на третьем в диапазоне ячеек
ВПРВ приведенном выше примере таблицах в будущем и подсчитывать количество так и для числовые показатели совпадали. условиям. Но если ну допустим 100 и нажать будет (выдаст ошибку ниже:строки и или равное среднему.ИНДЕКС номер столбца, из месте. и возвращает относительную. Вы увидите несколько
функция ВПР ищет будут изменяться, то вхождений каждого из таблицы: Если нет желания
в нашем списке
определенных номеров. Искать
CTRL+SHIFT+ENTER
#Н/Д), так как
Как Вы, вероятно, уже5-гоЕсли указываете, давайте перейдём к которого нужно извлечьФункция позицию этого значения примеров формул, которые имя первого учащегося необходимо не забыть них в первыйПолучить координаты первого дубликата вручную создавать и
нет повторяющихся товаров
каждый номер "ручками"
. В позициях, вПросматриваемый_массив заметили (и нестолбца в диапазоне-1 самому интересному и данные.INDEX в диапазоне. помогут Вам легко с 6 пропусками в
- обновить результирующий список список. По сути, по вертикали (сверху заполнять таблицу Excel внутри одного месяца, с помощью функции которых есть значениепредставляет собой диапазон раз), если вводитьA1:E11, значения в столбце
- увидим, как можноНапример, если у Вас(ИНДЕКС) используетНапример, если в диапазоне справиться со многими диапазоне A2:B7. Учащихся совпадений правой кнопкой
- это равносильно целому вниз). Для этого с чистого листа, то она просто «Найти» CTRL+F, по
- Груши будет выведено ячеек размещенный одновременно некорректное значение, например,, то есть значение поиска должны быть применить теоретические знания есть таблица3B1:B3 сложными задачами, перед с мыши или сочетанием столбцу дополнительных вычислений, только в ячейке то в конце
выведет значение цены времени слишком затратно, соответствующее значение позиции, в нескольких столбцах которого нет в ячейки упорядочены по убыванию, на практике.A1:C10
для аргументасодержатся значения New-York, которыми функция6 клавиш Ctrl+Alt+F5. свернутому в одну С2 следует изменить статьи можно скачать для заданного товара тем более проделывать в остальных ячейках и нескольких ячейках. просматриваемом массиве, формулаE4 а возвращено будетЛюбой учебник по, и требуется извлечьrow_num Paris, London, тогдаВПР
пропусками в таблице нет,Само-собой, для решения задачи формулу: формулу на: уже с готовым и месяца: это понадобится с быдет выведен 0.Тип_сопоставленияИНДЕКС. Просто? Да! минимальное значение, большееВПР данные из столбца
(номер_строки), который указывает следующая формула возвратитбессильна. поэтому функция ВПР
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
поиска совпадений можноВо-вторых, функцияВ данном случаи изменяем примером.Плюсы несколькими таблицами периодически.C помощью другой формулы— число -1,/В учебнике по или равное среднему.твердит, что этаB из какой строки цифруВ нескольких недавних статьях ищет первую запись воспользоваться и макросом.СУММПРОИЗВ (SUMPRODUCT) формулы либо однуПоследовательно рассмотрим варианты решения: Не нужен дополнительныйВозможно ли как-то массива 0 или 1.
ПОИСКПОЗВПРВ нашем примере значения
функция не может
, то нужно задать
нужно возвратить значение.3 мы приложили все со следующим максимальным Для этого нажмитездесь выполняет две либо другую, но разной сложности, а столбец, решение легко задать в поиске=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))Тип_сопоставлениясообщает об ошибкемы показывали пример в столбце смотреть влево. Т.е.
значение Т.е. получается простая, поскольку «London» – усилия, чтобы разъяснить значением, не превышающим
кнопку
функции - суммирует не две сразу. в конце статьи
масштабируется на большее либо выделить требуемые
можно отсортировать найденные позиции,указывает, как MS#N/A формулы с функцией
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, то сИНДЕКСПОИСКПОПОИСКПОЗЕсли позднее Вы вставитеD10MATCH(lookup_value,lookup_array,[match_type]) Вас от использования ВПР. — Options - режиме с двумя
- I7 для листа выделите ее фон старых версиях ExcelAntoxaB8:B14 функция ПОИСКПОЗ() находитИНДЕКС/Зи новый столбец междуи извлеки значениеПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])ВПР
К началу страницы Customize Ribbon) аргументами-диапазонами корректно отработала
и Август; Товар2 синим цветом для (2003 и ранее).: Как-то так… Прикрепленные
Поиск позиции в массивах с текстовыми значениями
) первое значение, котороеиПОИСКПОЗвозвращает «Moscow», поскольку
ИНДЕКС столбцами из третьей строки,
lookup_value, то хотя бы
Для выполнения этой задачи. свою задачу. для таблицы. Оставим читабельности поля вводаО том, как спользовать
файлы Пример 1.pngСтолбец Позиция приведен для вПОИСКПОЗможет искать по
величина населения городав Excel гораздоA то есть из(искомое_значение) – это показать альтернативные способы используются функции СМЕЩВ окне редактора VisualЕсли нужно не просто такой вариант для
(далее будем вводить связку функций (84 КБ) наглядности и не
Поиск позиции в массиве констант
точностив функцию значениям в двух Москва – ближайшее более гибкие, ии ячейки
Поиск позиции с использованием подстановочных знаков
число или текст, реализации вертикального поиска и ПОИСКПОЗ. Basic нужно добавить подсчитать количество совпадений, следующего завершающего примера. в ячейку B1ИНДЕКС (INDEX)Сергей П влияет на вычисления.равно аргументуЕСЛИОШИБКА столбцах, без необходимости
меньшее к среднему им все-равно, гдеBD4 который Вы ищите. в 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Логика работы этой формулы таблице, тогда возвращаетсяПосле ввода формулы для их для поиска сравнить повторяющиеся списки. возвращена ошибка #Н/Д.искомое_значениеПросматриваемый_массив(значение) – это
продукт столбца.ПОИСКПОЗИспользуяINDEXmatch_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Сортированные списки позволяют искатьтип_сопоставленияПОИСКПОЗ на листе мы уже обсуждалиКак видно на рисунке не искажая результат,MATCH1ПОИСКПОЗФормула Selection.Areas(1) Set rng2 найдено ли уже создать такую программу по краям появятся в нее следующую: Пожалуйста! не только точныеопущен, то предполагается,); а аргументLookup table в этом уроке,
ниже, формула отлично так как определен(ПОИСКПОЗ). Иначе результатили
– более гибкиеПОИСКПОЗ(«Апельсины»;C2:C7;0) = Selection.Areas(2) Set текущее совпадение выше для анализа таблиц фигурные скобки { формулу:Antoxa значения (их позицию), что он равенvalue_if_errorрасположены в произвольном с одним лишь справляется с этой непосредственно столбец, содержащий формулы будет ошибочным.не указан
Способ 1. Дополнительный столбец с ключом поиска
и имеют рядищет значение «Апельсины» rngOut = Application.InputBox(Prompt:=»Выделитеи, наконец, связка функций в ячейку F1 }.Нажмите в конце не: По выделению понятно, но и позицию 1.(значение_если_ошибка) – это порядке.
отличием. Угадайте каким? задачей: нужное значение. Действительно,Стоп, стоп… почему мы– находит максимальное особенностей, которые делают в диапазоне C2:C7. ячейку, начиная с ИНДЕКС и ПОИСКПОЗ
введите новую формулу:В ячейку C2 формула Enter, а сочетание я это смотрел. ближайшего значения. Например,Если значение, которое нужноВот такая формулаКак Вы помните, синтаксис
=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0)) это большое преимущество, не можем просто значение, меньшее или
их более привлекательными, Начальную ячейку не которой нужно вывести извлекает совпадающий элементПосле чего следует во вернула букву DCtrl+Shift+Enter А как массово в списке натип_сопоставления возвратить, если формулаИНДЕКС
Способ 2. Функция СУММЕСЛИМН
функции=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) особенно когда работать использовать функцию равное искомому. Просматриваемый по сравнению с следует включать в совпадения», Type:=8) ‘загружаемНе забудьте в всех остальных формулах — соответственный заголовок, чтобы ввести формулу удалить эти выделенные, картинке ниже нетравен -1, то выдаст ошибку./INDEXТеперь у Вас не приходится с большимиVLOOKUP
массив должен бытьВПР этот диапазон. первый диапазон в конце ввода этой изменить ссылку вместо
столбца листа. Как не как обычную, если в списке значения 45, но функция ПОИСКПОЗ() находитНапример, Вы можете вставитьПОИСКПОЗ(ИНДЕКС) позволяет использовать
Способ 3. Формула массива
должно возникать проблем объёмами данных. Вы(ВПР)? Есть ли упорядочен по возрастанию,.1 коллекцию For i формулы нажать сочетание B1 должно быть видно все сходиться, а как формулу будет 500 повторений можно найти позицию наименьшее значение, которое формулу из предыдущего
- решает задачу: три аргумента: с пониманием, как
- можете добавлять и смысл тратить время, то есть от
- Базовая информация об ИНДЕКС — это количество столбцов, = 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
- j = 1 пробелы или пустые работу программы, введите значения (5277). Для нужной ячейки нам скинуть пример рабочего сопоставления =1 (третий и так далее. Попробуйте еще раз!»)ИНДЕКС уже знакомую нам
- Далее, задаём диапазон для размер искомого значения.В данном случае –всегда нужно точное находятся слева
- Продажи 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. Это приведетПосле ввода формулы для месяца ( должны быть знакомы
- убыванию выполняется аналогично,Если функция ПОИСКПОЗ() не такой результат: Самая сложная частьПОИСКПОЗ нужно извлечь значение. на длину искомого
- Вы могли понять,должен быть равен и столбцу
используется функция ГПР. найдено совпадение, тоНа больших таблицах формула к завершающему результату:
подтверждения снова нажимаемНектаринЯнварь с функцией поиска но с типом находит соответствующего значения,Если Вы предпочитаете в – это функцияи добавим в В нашем случае значения в 255 как функции
Поиск одинаковых значений в диапазоне Excel
0Поиск по нескольким критериям См. пример ниже. выводим со сдвигом массива из предыдущегоТеперь можно вводить любое комбинацию клавиш CTRL+SHIFT+Enter) по очереди во и подстановки
сопоставления = -1. то возвращается значение случае ошибки оставить
- ПОИСКПОЗ неё ещё одну это
- символов, иначе рискуетеПОИСКПОЗ.ИНДЕКС и ПОИСКПОЗ вФункция ГПР выполняет поиск вниз rngOut.Offset(k, 0) способа может весьма
- исходное значение, а и получаем результат: всех ячейках склеенного
ВПР В этом случае ошибки #Н/Д. ячейку пустой, то, думаю, её нужно функциюA2:A10 получить ошибкуи-1 сочетании с ЕСЛИОШИБКА по столбцу = rng2.Cells(j) k ощутимо тормозить, поэтому
- программа сама подберетФормула вернула номер 9 из двух столбцовили функция ПОИСКПОЗ() находитПроизведем поиск позиции в можете использовать кавычки объяснить первой.ПОИСКПОЗ.#VALUE!
- ИНДЕКС– находит наименьшееТак как задача этогоПродажи = 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, способная столбца и название В результате мы точное совпадение. По эту статью, чтобы
Функции ПОИСКПОЗ() и ИНДЕКС()). Вот так: искомое значение – поиска,столбец, в котором=ИНДЕКС($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 значение этого элемента! которые показывают преимущества
функция ГПР ищет вывести список совпадений загрузить наши таблицы пригодится для автоматическогодля столбца таблицы –Минусы совпадению одного параметра.=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))Чтобы найти номер строки, информации в этомA в аргументеВы можете вкладывать другиедо считают, чтоПозвольте напомнить, что относительное использования значение 11 000 в строке 3 и после нажатия в Power Query. решения разных аналитических Март;: Ощутимо тормозит на
А если уВ файле примера, соответствующий а не позиции
уроке, смело опишите(Customer) на листеarray функции Excel вD10ИНДЕКС положение искомого значенияИНДЕКС в указанном диапазоне. на Для этого выделим задач при бизнес-планировании,
для строки – Товар4. больших таблицах (как
- нас их несколько? столбец и строка
- в искомом диапазоне, свою проблему в
- 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.ruLookup 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_numINDEX разделе, посвященном функции
Excel.(если она была рода отчетов с так: вводить A:A и
planetaexcel.ru
(
Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы: Простой способ, знакомая функция, работает с любыми данными.
Минусы: Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы: Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
- Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).
Ссылки по теме
- Как искать и подставлять данные с помощью функции ВПР (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 этап с помощью специальной формулы. Для этого:
- В ячейке E6 введите значение 20, которое является условием для поискового запроса.
- В ячейке E7 введите следующую формулу:
Производственная себестоимость для 20 шт. определенного товара.
Как работает формула с ВПР в нескольких таблицах:
Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.
В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.
По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.
Как использовать поиск в Excel по одному или нескольким значениям
Excel – программа для работы с электронными таблицами. Документы в этой программе могут быть объемными с множеством листов. Поэтому для удобного поиска нужного слова, фразы, таблицы, ячейки или формулы существует специальный инструмент, пользоваться которым несложно.
Поиск в Excel
Самый простой и быстрый способ искать по слову, фразе, формуле и т.д в документе это использовать комбинацию клавиш Ctrl и F одновременно. Появится следующее окно.
Здесь понадобится ввести искомое слово, фразу и т.д.
Второй вариант поиска в Excel — на главной странице нажать вкладку «Найти и выделить». Выбираем «Найти», вводим нужные символы и запускается поиск.
Программа начнет искать и выделит все места, где есть искомое слово или фраза. Если документ очень большой, то процесс может занять некоторое время.
После, будет выдан список с адресами ячеек, где есть искомая комбинация. Кликнув на нужную строку, курсор перенесет на нужную ячейку.
В поле можно использовать подстановочные знаки * и ?.
Обычно их применяют в таких ситуациях:
- * — может быть использована для замены букв. К примеру, если ввести «к*т», то найдутся все слова, которые начинаются на букву «к» и заканчиваются на «т», кит, кот и т.д. Звездочка заменяет как один символ, так и любое количество. Т.е. в нашем примере найдутся и слова кабинет, кабриолет и т.д.
- ? — такой подстановочный знак заменяет только одну букву. Например, «к?т», выйдут слова, которые состоят из трех букв «кот», «кит».
Настройки поиска
Если необходимо установить определенные настройки, то в окне необходимо кликнуть «Параметры».
Тут можно задать следующие настройки:
- в строке «Искать» можно ограничить поиск только листом;
- в строке «Просматривать» можно выбрать вариант просмотра по строкам или по столбцам;
- строка «Область» позволяет выбрать искомые символы: формула либо значение;
- отметив галкой «Учитывать регистр» производится нахождение искомой комбинации с учетом регистра;
- если необходимо увидеть ячейку, которая содержит только заданные символы, нужно отметить «Ячейка целиком»;
- во вкладке «Формат» можно выбрать искомое форматирование.
Нажимая кнопку «Заменить», можно сразу заменить найденное на указанные значения.
В строку «Найти» нужно ввести искомую комбинацию значений, а в строке «Заменить» те символы, на которые следует заменить найденные.
Поиск по указанному интервалу
Нахождение по указанному интервалу может понадобиться в том случае, если таблица очень большая, и при обычном обнаружении находится слишком большое количество значений.
Этим способом ограничивается диапазон для нахождения комбинации.
- Выделяем диапазон, для которого нужно определить значения.
- Запускаем поиск любым способом, описанным выше. Отличие лишь в том, что изначально для работы будет выделен определенный диапазон.
Поиск по нескольким условиям
Нахождение по нескольким условиям осуществляется с помощью функции поиска ВПР, которая в некотором роде соответствует поиску по документу. ВПР расшифровывается как вертикальный просмотр. Функция ищет значения по указным в запросе критериям. В простом обнаружении нельзя обработать сразу несколько условий. ВПР помогает расширить функции для нахождения.
Приведем пример поиска нескольких значений одновременно. В таблице указана разная цена различного гранита. Необходимо с помощью функции ВПР определить цену гранита 7.
Составим таблицу.
Формула будет в ячейке Е4, но можно использовать любую другую. Затем придерживаемся алгоритма:
- В ячейке ставим знак равенства и прописываем функцию: «=ВПР(».
- Аргумент 1 это Гранит7. Пишем «ВПР(«Гранит7»».
- Аргумент 2 – это ячейки А4:А20. Формула получается такой: «ВПР(«Гранит7»; А4:А20;».
- Аргумент 3, цифра 2, т.к. ищем значение во втором столбце. «ВПР(«Гранит7»; А4:А20;2».
- Аргумент 4, дает понять функции, какое значение нужно искать, точное или приблизительное. Оно может быть ИСТИНА или ЛОЖЬ. ИСТИНА – приблизительно совпавшие значения, а ЛОЖЬ – точные. Мы ищем точные. Выглядит запись так: «ВПР(«Гранит7»; А4:А20;2;ЛОЖЬ)» или «=ВПР(A10;A4:B20;2;ЛОЖЬ)».
- Кликаем по Enter и получаем искомое.
Аналогичным способом можно добавлять условия в более сложных таблицах.
К примеру, добавим в таблицу столбец с месяцем. Попробуем увидеть в каком месяце Гранит17 стоит 1016.
Составляем формулу, добавляя новые значения. Аргументом 3 будет цифра 3.
Нажимаем ввод и получаем месяц «май».
Функция поиск в Excel
Также для обнаружения можно использовать функции ПОИСК и НАЙТИ.
Сначала рассмотрим функции НАЙТИ. С ее помощью можно автоматически определить позицию в текстовой строке, она различает прописные и строчные буквы.
Пример: найдем положение буквы «а» в слове Гранит6. Введем формулу =НАЙТИ(«а»;A9;3) и получим 3, т.е. «а» третья буква.
Теперь рассмотрим функцию ПОИСК. В данной формуле можно использовать подстановочные символы (? — один, * — несколько). Например, найдем в той же ячейке положение цифры 6. Введем формулу =ПОИСК(«6»;A9), получаем 8.
Одновременный поиск в нескольких таблицах Excel
Определенно легче вести поиск по одной пусть большой, но целой таблице или в смежных диапазонах ячеек, чем по нескольким разделенным на части таблицами разбросанных по разным несмежным диапазонам или даже по отдельным листам. Даже если выполнить автоматический поиск одновременно по нескольким таблицам, то могут возникнуть существенные препятствия. А слаживать все данные в одну таблицу – это сложно, иногда практически не реально. На конкретном примере продемонстрируем правильное решение для одновременного поиска по нескольким таблицам в Excel.
Одновременный поиск по нескольким диапазонам
Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:
Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).
На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).
Среднестатистический пользователь Excel искал бы решение с помощью формул основанных таких функциях как ВПР. И выполнял бы поиск в 3 этапа (отдельно для каждой таблицы). Оказывается, можно получить сразу готовый результат выполнив поиск только в 1 этап с помощью специальной формулы. Для этого:
- В ячейке E6 введите значение 20, которое является условием для поискового запроса.
- В ячейке 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). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:
Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара 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;ЛОЖЬ)
Пример 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;ЛОЖЬ)
Чтобы сделать формулу более читаемой, Вы можете задать имя для просматриваемого диапазона, и тогда формула станет выглядеть гораздо проще:
Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (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;ЛОЖЬ)
На самом деле, Вы можете ввести ссылку на ячейку в качестве искомого значения вместо текста, как представлено на следующем рисунке:
Если Вы ищите только 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));"")}
Если Вам интересно понять, как она работает, давайте немного погрузимся в детали формулы:
Часть 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 подразумевает поиск значения по известному номеру строки и столбца. Другими словами, Вы извлекаете значение ячейки на пересечении конкретной строки и столбца.
Итак, давайте обратимся к нашей таблице и запишем формулу с функцией ВПР, которая найдет информацию о стоимости проданных в марте лимонов.
Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.
Функции ВПР и ПОИСКПОЗ
Вы можете использовать связку из функций ВПР (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, Вам может понравиться вот такой наглядный и запоминающийся способ:
- Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
- Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.
- В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:
=Lemons Mar … или наоборот: =Mar Lemons
Помните, что имена строки и столбца нужно разделить пробелом, который в данном случае работает как оператор пересечения.
При вводе имени, Microsoft Excel будет показывать подсказку со списком подходящих имен, так же, как при вводе формулы.
- Нажмите Enter и проверьте результат
В целом, какой бы из представленных выше методов Вы ни выбрали, результат двумерного поиска будет одним и тем же:
Используем несколько ВПР в одной формуле
Бывает так, что основная таблица и таблица поиска не имеют ни одного общего столбца, и это мешает использовать обычную функцию ВПР. Однако, существует ещё одна таблица, которая не содержит интересующую нас информацию, но имеет общий столбец с основной таблицей и таблицей поиска.
Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).
Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.
- Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:
=VLOOKUP(A2,New_SKU,2,FALSE)
=ВПР(A2;New_SKU;2;ЛОЖЬ)
Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)
- Запишите формулу для вставки цен из таблицы 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, содержащий цены.
На рисунке ниже виден результат, возвращаемый созданной нами формулой:
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
В начале разъясним, что мы подразумеваем под выражением «Динамическая подстановка данных из разных таблиц», чтобы убедиться правильно ли мы понимает друг друга.
Бывают ситуации, когда есть несколько листов с данными одного формата, и необходимо извлечь нужную информацию с определенного листа в зависимости от значения, которое введено в заданную ячейку. Думаю, проще это объяснить на примере.
Представьте, что имеются отчеты по продажам для нескольких регионов с одинаковыми товарами и в одинаковом формате. Требуется найти показатели продаж для определенного региона:
Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (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, но именованные диапазоны гораздо удобнее.
Однако, когда таких таблиц много, функция ЕСЛИ – это не лучшее решение. Вместо нее можно использовать функцию ДВССЫЛ (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, то необходимо добавить имя книги перед именованным диапазоном, например:
=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 и 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 года имеют специальную функцию, которая позволяет автоматически пересчитывать различные значения в сводной таблице. На следующем рисунке показано, как выглядит этот счетчик:
Чтобы создать сводную таблицу с подсчетом для определенного столбца, выполните следующие действия.
- Выберите данные для включения в сводную таблицу, перейдите на вкладку «Вставка» и нажмите кнопку «Сводная таблица» .
- В диалоговом окне «Создание сводной таблицы» выберите, следует ли разместить сводную таблицу на новом или существующем листе, и обязательно установите флажок «Добавить эти данные в модель данных» .
- Когда откроется сводная таблица, расположите области строк, столбцов и значений по своему усмотрению. Если у вас нет большого опыта работы со сводными таблицами Excel, вам могут быть полезны следующие подробные рекомендации: Создайте сводную таблицу в Excel.
- Переместите поле, уникальное количество которого вы хотите вычислить (поле «Элемент» в этом примере), в область «Значения», щелкните его и выберите «Параметры значения поля…» из раскрывающегося меню.
- В открывшемся диалоговом окне прокрутите вниз до пункта «Количество разных элементов», который является последним элементом в списке, выберите его и нажмите «ОК .
Вы также можете присвоить своему глюкометру индивидуальное имя, если хотите.
Готовый! Во вновь созданной сводной таблице будет отображаться количество различных элементов, как показано на самом первом снимке экрана в этом разделе.
Комментарий. После обновления исходных данных обязательно обновите также сводную таблицу. Для этого нажмите кнопку «Обновить» на вкладке «Анализ» в группе «Данные».
Вот как подсчитать различные и уникальные значения в столбце и в таблице Excel.
Спасибо за чтение и надеюсь увидеть вас снова.