Поиск значений в списке данных
Смотрите также установлена как отдельная помощью новых формулДля заголовка столбца. В т.д.) Многим непривычныНектаринС помощью функций ПОИСКПОЗ() Например, формула =ПОИСКПОЗ(«грейпфрут»;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
(
Одновременный поиск в нескольких таблицах 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»)
Вы можете быстро заполнить формулу, просто дважды щелкнув по маленькому черному квадратному маркеру перетаскивания в правом нижнем углу ячейки.
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, вы можете использовать несколько функций. Например, функция ВПР или ИНДЕКС вместе с ПОИСКПОЗ.
Эти функции ищут в таблице заданный фрагмент и останавливаются на первом совпадении. Но что если вам нужно найти не только первое совпадение, а все?
Итак, начнём!
В этой статье я продемонстрирую вам, как можно сделать это.
Содержание
- Поиск фрагмента по всей таблице, второе, третье и N-ое совпадение
- С помощью добавления нового столбца
- С помощью массива
Поиск фрагмента по всей таблице, второе, третье и N-ое совпадение
С помощью добавления нового столбца
Допустим, у вас есть следующая табличка:
Например, вам необходимо перечислить все «Training» которые прошел человек, в ячейках после его имени.
Итак, мы можем вызвать функцию ВПР или ИНДЕКС (вместе с ПОИСКПОЗ), но тут есть небольшая проблема — когда функция найдет первое совпадение (например для Джона) она остановится и вернет вам результат.
К примеру, Джон прошел все тренинги, но если мы будем использовать вышеуказанные функции, результатом будет только «Excel». Функция нашла первое совпадение имени Джон, остановилась и передала нам результат. Но как же сделать так, чтобы она не останавливалась на первом совпадении?
Можно добавить столбец и провести нехитрые манипуляции с ним.
Пошаговая инструкция:
- Вставим столбец «Помощник» сразу после имени;
- В первую свободную ячейку пропишем:
=A2&СЧЁТЕСЛИ($A$2:$A2;A2)
- А теперь, в другой столбик пропишем следующую функцию:
=ЕСНД(ВПР($E2&ЧИСЛСТОЛБ($F$1:F1);$B$2:$C$14;2;0);"")
Эта функция, в следующих столбиках, укажет какие тренинги прошел человек, если какой-то тренинг он не прошел — будет просто пустое место.
Что делает эта функция?
Мы используем небольшую хитрость. Функция СЧЁТЕСЛИ делает каждое новое имя человека уникальным. Как она это делает? — очень просто, она добавляет цифру к имени, например, Джон1, Джон2 и так далее.
Получается, что теперь функция ВПР не остановится при первом совпадении, потому что их не будет. Теперь все имена и даже одинаковые — уникальны (из-за цифр в конце имени).
$E2&ЧИСЛСТОЛБ ($F$1:F1) это сам фрагмент, по которому происходит поиск. Функция ЧИСЛСТОЛБ добавляет цифру, ориентируясь на номер строки, к концу имени, а дальше уже происходит поиск по этому фрагменту.
С помощью массива
Если вам, по каким-то причинам, не нравится, или вы не можете использовать способ с добавлением столбика, есть еще один вариант.
Допустим, у нас та же табличка:
Такая функция тоже вернет правильный результат:
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$14;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;"");ЧИСЛСТОЛБ($E$1:E1)));"")
Чтобы вставить её, вам нужно выделить ячейки, в которые нужно вставить данные (в нашем случае, от E2 до G9).
И еще, важный момент, когда пропишете саму функцию, нажмите CTRL+SHIFT+ENTER, вместо ENTER. Так нужно сделать, потому что мы работаем с массивом данных.
Что делает эта функция?
Итак, давайте разберемся:
$A$2:$A$14=$D2
Этот фрагмент нашей функции сравнивает значения с ячейкой D2.
Результат либо ИСТИНА либо ЛОЖЬ.
Пример результата выполнения:
{ИСТИНА;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ЛОЖЬ}
Продолжим и рассмотрим следующий фрагмент:
ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””)
Этот фрагмент нашей функции получает на входе массив данных (ИСТИНА или ЛОЖЬ) и заменяет истину на номер строки из таблички, а ЛОЖЬ на пустое место.
Вот пример выполнения этого фрагмента:
{1;””;””;””;””;””;7;””;””;””;11;””;””}
Далее:
НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””);ЧИСЛСТОЛБ($E$1:E1))
А теперь функция НАИМЕНЬШИЙ запишет все наименьшие порядковые числа, первое, второе, третье и так далее. А функция ЧИСЛСТОЛБ присваивает им номера, в соответствии с номером строки.
ИНДЕКС($B$2:$B$14;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””);ЧИСЛСТОЛБ($E$1:E1)))
В итоге функция ИНДЕКС, по порядковым номерам, полученным от функции ЧИСЛСТОЛБ, вернет их значения. То есть в первом совпадении возвращается «Excel» и так далее.
Но если возникнет ошибка, а она обязательно возникнет, потому что, в нашем случае, не все люди прошли по 3 тренинга, функция ЕСЛИОШИБКА заменит все ошибки на пустые места.
Итак, в этом разделе статьи мы использовали функцию массива. Это удобно, потому что её можно копировать без каких-либо проблем. Мое мнение — это лучший способ, может быть он и сложнее, но его можно без проблем масштабировать.
нные варианты найти все совпадения, просто я считаю что это самые практичные. Если у вас есть свои «удобные» способы, пожалуйста, поделитесь ими в комментариях.
Поиск значений в списке данных
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 и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Skip to content
В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке.
При использовании Microsoft Excel для анализа данных вы часто можете оказаться в ситуации, когда вам нужно получить все совпадающие значения для определенного имени, наименования, артикула или какого-либо другого уникального идентификатора. Первое решение, которое приходит на ум, — это использование функции Excel ВПР (VLOOKUP). Но проблема в том, что она может возвращать только одно значение.
Поиск нескольких значений в Excel может быть выполнен с помощью совместного использования ряда функций. Если вы не являетесь экспертом в Excel, не спешите покидать эту страницу. Я постараюсь объяснить логику поиска, чтобы даже новичок мог понять формулы и настроить их для решения подобных задач.
Поиск нескольких позиций в Excel с помощью формулы
Как было сказано ранее, невозможно заставить функцию ВПР Excel возвращать несколько значений. Проблему можно решить, используя следующие функции в формуле массива:
- ЕСЛИ – оценивает условие и возвращает одно значение, если условие выполняется, и другое значение, если условие не выполняется.
- НАИМЕНЬШИЙ– получает N-е наименьшее значение в массиве.
- ИНДЕКС — возвращает элемент массива на основе указанных вами номеров строк и столбцов.
- СТРОКА — возвращает номер строки.
- СТОЛБЕЦ — возвращает номер столбца.
- ЕСЛИОШИБКА – перехватывает ошибки.
Ниже вы найдете несколько примеров таких формул. Их часто называют формулами ВПР нескольких значений, хотя сама функция ВПР здесь не используется. Дело в том, что часто под термином ВПР подразумевают любой поиск в Excel, какими бы формулами и функциями он ни осуществлялся.
Поиск нескольких значений и возврат результатов в столбец
Допустим, у вас есть имена продавцов в столбце А и товары, которые они продали, в столбце В. Таблица содержит несколько записей для каждого продавца. Ваша цель — получить список всех товаров, относящихся к данному человеку. Чтобы это сделать, выполните следующие действия:
- Введите список имен продавцов в какую-нибудь пустую строку того же или другого рабочего листа. В этом примере имена вводятся в ячейки D2:H2:
Совет. Чтобы быстро записать все имеющиеся в списке имена, вы можете использовать эту инструкцию — как получить список уникальных значений в Excel.
- Под именем выберите количество пустых ячеек, равное или превышающее максимально возможное количество совпадений, введите одно из следующих выражений и нажмите
Ctrl + Shift + Enter
для ввода его как формулы массива (в этом случае вы сможете редактировать формулу только сразу во всем диапазоне, где она введена). Или же вы можете записать это в левую верхнюю ячейку, также использовавCtrl + Shift + Enter
, а затем перетащить вниз еще на несколько ячеек (в этом случае вы сможете редактировать формулу в каждой ячейке отдельно).
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Как видите, первая формула немного компактнее, а вторая более универсальна и требует меньше модификаций (подробнее о синтаксисе и логике мы поговорим чуть дальше).
- Скопируйте формулу в соседние столбцы справа. Для этого перетащите маркер заполнения (небольшой квадрат в правом нижнем углу выбранного диапазона) вправо.
Результат ВПР нескольких значений в столбце будет выглядеть примерно так:
Здесь мы использовали первую формулу:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
Как это работает.
Это пример использования Excel от среднего до продвинутого уровня, который подразумевает базовые знания формул массива и функций Excel. Итак, разберём пошагово:
- Функция ЕСЛИ
В основе поиска – функция ЕСЛИ, чтобы получить позиции всех вхождений искомого значения в диапазоне поиска: ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13) )-2;»»)
ЕСЛИ сравнивает искомое значение (D2) с каждым значением в диапазоне поиска (A3:A13) и, если совпадение найдено, возвращает относительную позицию строки; пустое значение («») в противном случае.
Относительная позиция вычисляется путем вычитания 2 из СТРОКА($B$3:$B$13), чтобы первая позиция с формулой имела порядковый номер 1 (то есть, 3-2=1). Если ваш диапазон вывода начинается со строки 2, тогда вычтите 1 и так далее. Результатом этой операции является массив {1;2;3;4;5;6;7;8;9;10;11}, который поступает в аргумент значение_если_истина функции ЕСЛИ.
Вместо приведенного выше вычисления вы можете использовать следующее выражение:
СТРОКА(столбец_просмотра) — МИН(СТРОКА(столбец_просмотра))+1
Оно возвращает тот же результат, но не требует каких-либо изменений независимо от местоположения возвращаемого столбца. В этом примере это будет СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1.
Итак, на данный момент у вас есть массив, состоящий из чисел (позиций совпадений) и пустых строк (несовпадений). Для ячейки D3 в этом примере у нас есть следующий массив:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ({1:»»:»»:»»:5:»»:»»:8:»»:»»:»»}; СТРОКА()-2));»»)
Если вы сверитесь с исходными данными, вы увидите, что «Сергей» (значение поиска в D2) появляется на 1- й , 5 -й и 8 -й позициях в диапазоне поиска (A3: A13).
- Функция НАИМЕНЬШИЙ
Затем вступает в действие функция НАИМЕНЬШИЙ(массив; k), чтобы определить, какие совпадения должны быть возвращены в конкретной ячейке.
С уже установленным в предыдущем шаге массивом давайте определим аргумент k , т. е. k-е наименьшее возвращаемое значение. Для этого вы делаете своего рода «инкрементный счетчик» СТРОКА()-n, где «n» — это номер строки первой ячейки формулы минус 1. В этом примере мы ввели формулу в ячейки D3:D7, поэтому СТРОКА()-2 возвращает «1» для ячейки D3 (строка 3 минус 2), «2» для ячейки D4 (строка 4 минус 2) и т. д.
В результате функция НАИМЕНЬШИЙ извлекает первый наименьший элемент массива в ячейку D3, второй наименьший элемент в ячейку D4 и так далее. И это превращает первоначальную длинную и сложную формулу в очень простую, например:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;{1});»»)
Совет. Чтобы увидеть значение, вычисленное определенной частью формулы, выделите эту часть в самой формуле и нажмите F9.
- Функция ИНДЕКС
Здесь все просто. Вы используете функцию ИНДЕКС, чтобы вернуть значение элемента массива на основе его номера.
- Функция ЕСЛИОШИБКА
И, наконец, вы оборачиваете формулу в функцию ЕСЛИОШИБКА для обработки возможных ошибок, которые неизбежны, потому что вы не можете знать, сколько совпадений будет возвращено для того или иного искомого значения. Ведь вы копируете формулу в число ячеек явно большее, чем количество возможных совпадений, то есть «с запасом». Чтобы не пугать пользователей кучей ошибок, просто замените их пустой строкой (пустой ячейкой).
Примечание. Обратите внимание на правильное использование абсолютных и относительных ссылок на ячейки в формуле. Все ссылки фиксированы, за исключением ссылки на относительный столбец в искомом значении (D$2), которая должна изменяться в зависимости от относительного положения столбцов, в которые копируется формула, чтобы возвращать совпадения для других имён.
На скриншоте ниже вы можете видеть, как работает вторая формула
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Обобщив эти два решения, мы получим следующие общие формулы для ВПР нескольких значений в Excel, которые будут выведены в столбец:
Вариант 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
Вариант 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне минус 1.
- n — номер строки первой ячейки с формулой минус 1.
Примечание. В приведенном выше примере и n, и m равны 2, потому что наш диапазон возвращаемых значений начинается, да и сама формула расположена, в строке 3. В ваших таблицах Эксель это вполне могут быть и другие числа.
Поиск нескольких совпадений и возврат результатов в строке
Если вы хотите вернуть несколько найденных значений в строках, а не в столбцах, измените приведенные выше формулы Excel следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($B$3:$B$13)-2;»»); СТОЛБЕЦ()-4));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»);СТОЛБЕЦ()-4)); «»)
Как и в предыдущем примере, обе они являются формулами массива, поэтому не забудьте нажать комбинацию Ctrl + Shift + Enter, чтобы записать их правильно.
Формулы работают с той же логикой, что и в предыдущем примере, за исключением того, что вы используете функцию СТОЛБЕЦ вместо СТРОКА. Чтобы определить, какое совпадающее значение должно быть возвращено в конкретной ячейке, используем: СТОЛБЕЦ()-n где n — номер столбца первой ячейки, в которую вводится формула, минус 1. В этом примере результаты выводятся в диапазон E2:H2. Поскольку E является пятым столбцом, n равно 4 (5-1=4).
Примечание. Чтобы формула правильно копировалась вправо и вниз, обратите внимание на ссылки на значения поиска, где используется абсолютный адрес столбца и относительный адрес строки, например $D3.
И вот общие формулы для ВПР в Excel нескольких значений, возвращаемых по строке:
Формула 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
Формула 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой ячейки, в которой записана формула, минус 1.
Поиск нескольких значений на основе нескольких условий
Вы уже знаете, как выполнять поиск нескольких значений в Excel на основе одного условия. Но что, если вы хотите вернуть несколько совпадений сразу на основе двух или более критериев? Продолжая предыдущие примеры – что, если у вас в таблице есть дополнительный столбец «Месяц» и вы хотите получить список всех товаров, проданных конкретным продавцом в определенном месяце?
Если вы знакомы с формулами массивов, то, возможно, помните, что они позволяют использовать знак умножения (*) в качестве логического оператора И. Таким образом, вы можете просто взять выражения, рассмотренные в двух предыдущих примерах, и заставить их проверять несколько условий, как показано ниже.
Как вернуть несколько значений в столбце.
Выведем искомые значения, соответствующие одновременно нескольким условиям, в привычном нам виде – вертикально в одном столбце.
В общем виде это выглядит так:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер строки первой слева ячейки с формулой, минус 1.
Предположим, что список продавцов (диапазон_искомых_значений1) находится в A3:A30, список месяцев (диапазон_искомых_значений2) находится в B3: B30, интересующий продавец (искомое_значение1) указан в ячейке E3, а нужный месяц (искомое_значение2) – в ячейке F3. Тогда формула поиска принимает следующий вид:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E$3=$A$3:$A$30))*(—($F$3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТРОКА()-2));»»)
Таким образом, мы вводим имя в E3, месяц в F3, и получаем список товаров в столбце G:
Как вернуть несколько результатов в строке.
Если вы хотите получить по горизонтали несколько искомых значений на основе нескольких критериев, то есть когда результаты размещаются в одной строке, то используйте следующий общий шаблон:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой слева ячейки, в которой записана формула, минус 1.
Для нашего примера набора данных формула выглядит следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
И результат ВПР нескольких значений по нескольким условиям может выглядеть так:
Аналогичным образом вы можете выполнять ВПР с тремя, четырьмя и более условиями.
Как это работает?
По сути, формулы для ВПР нескольких значений с несколькими условиями работают с уже знакомой логикой, объясненной в самом первом нашем примере. Единственное отличие состоит в том, что функция ЕСЛИ теперь проверяет несколько условий:
1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2)) * …..)
Результатом каждого сравнения (искомое_значение = диапазон_искомых_значений) является массив логических значений ИСТИНА (условие выполнено) и ЛОЖЬ (условие не выполнено). Двойное отрицание (—) переводит логические значения в единицы и нули. А поскольку умножение на ноль всегда дает ноль, в правой части этого равенства у вас будет получаться 1 только для тех элементов, которые удовлетворяют всем указанным вами условиям.
Вы просто сравниваете окончательный массив нулей и единиц с числом 1, чтобы функция СТРОКА вернула порядковые номера строк, удовлетворяющих всем условиям, в противном случае — пустоту.
Напоминание. Все формулы поиска, обсуждаемые в этой статье, являются формулами массива. Таким образом, каждая из них перебирает все элементы массива каждый раз, когда исходные данные изменяются или рабочий лист пересчитывается. На больших листах, содержащих сотни или тысячи позиций, это может значительно замедлить работу Excel.
Как вернуть несколько значений ВПР в одну ячейку
Мы продолжаем работать с набором данных, который использовали в предыдущем примере. Но на этот раз мы хотим добиться другого результата — вместо того, чтобы извлекать несколько совпадений в отдельные ячейки, мы хотим, чтобы они отображались в одной текстовой ячейке, разделенные запятой, пробелом или другим разделителем по вашему выбору.
Используем выражение, которое мы рассматривали чуть выше и которая позволяет получить несколько результатов ВПР с условиями в одной строке:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
Внесем в нее небольшие изменения.
Чтобы обработать сразу несколько результатов, в функцию СТОЛБЕЦ добавим аргумент – диапазон ячеек, в который мы ранее копировали формулу. То есть, вместо СТОЛБЕЦ() у нас теперь будет СТОЛБЕЦ(G3:K3). Это позволит формуле массива получить сразу несколько номеров столбцов.
Затем применим крайне полезную при работе с текстовыми значениями функцию ОБЪЕДИНИТЬ (доступна в Excel 2019 и более поздних версиях). Она позволит нам объединить несколько текстовых значений, отделив их друг от друга выбранным нами разделителем. К примеру, запятой с пробелом после нее.
Вот что у нас получится:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ(G3:K3)-6));»»))
И видим результат ВПР нескольких значений в одной ячейке на этом скриншоте:
Еще один, более простой вариант, чтобы подтянуть несколько значений и вывести результат в одной ячейке:
=ОБЪЕДИНИТЬ(«, «;ИСТИНА;ЕСЛИ(($A$3:$A$30=E3)*($B$3:$B$30=F3)=1;$C$3:$C$30;»»))
Ее также нужно вводить как формулу массива:
Как найти несколько значений без дубликатов
А если так случится, что в результатах поиска будет несколько одинаковых значений? Пример таких данных вы можете видеть на скриншоте ниже. Естественно, выводить в ячейке несколько дубликатов было бы не совсем хорошо.
Если вы хотите получить в одной ячейке результаты поиска нескольких значений без повторов, попробуйте так:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($C$3:$C$13; ЕСЛИ(E3=$A$3:$A$13; $C$3:$C$13; «»); 0);»»)=ПОИСКПОЗ(СТРОКА($C$3:$C$13); СТРОКА($C$3:$C$13)); $C$3:$C$13; «»))
Вставьте это выражение в нужную ячейку, не забыв завершить ввод комбинацией Ctrl+Shift+Enter
, так как это формула массива. Затем можете скопировать вниз по столбцу, чтобы получить данные по другим критериям выбора.
Как видите, мы получили в одной ячейке несколько значений, среди которых нет одинаковых, хотя в исходных данных таковые имеются.
Надеюсь, эти примеры будут вам полезны для поиска сразу нескольких значений в Excel. Благодарю вас за чтение.
Если вы знакомы с функцией ВПР (VLOOKUP) или ее горизонтальным аналогом ГПР (HLOOKUP), то должны помнить, что эта замечательные функции ищут информацию только по одному параметру, т.е. в одномерном массиве — по строке или по столбцу. А если нам необходимо выбирать данные из двумерной таблицы по совпадению сразу двух параметров — и по строке и по столбцу одновременно? Давайте рассмотрим несколько жизненных примеров таких задач и их решения.
Пример 1. Найти значение по товару и городу
Предположим, что у нас имеется вот такой двумерный массив данных по городам и товарам:
Пользователь вводит (или выбирает из выпадающих списков) в желтых ячейках нужный товар и город. В зеленой ячейке нам нужно формулой найти и вывести число из таблицы, соответствующее выбранным параметрам. Фактически, мы хотим найти значение ячейки с пересечения определенной строки и столбца в таблице. Для наглядности, разобъем задачу на три этапа.
- Во-первых, нам нужно определить номер строки, соответствующей выбранному пользователем в желтой ячейке товару. Это поможет сделать функция ПОИСКПОЗ (MATCH) из категории Ссылки и массивы (Lookup and Reference). В частности, формула ПОИСКПОЗ(J2; A2:A10; 0) даст нам нужный результат (для Яблока это будет число 6). Первый аргумент этой функции — искомое значение (Яблоко из желтой ячейки J2), второй — диапазон ячеек, где мы ищем товар (столбец с товарами в таблице — A2:A10), третий аргумент задает тип поиска (0 — точное совпадение наименования, приблизительный поиск запрещен).
- Во-вторых, совершенно аналогичным способом мы должны определить порядковый номер столбца в таблице с нужным нам городом. Функция ПОИСКПОЗ(J3; B1:F1; 0) сделает это и выдаст, например, для Киева, выбранного пользователем в желтой ячейке J3 значение 4.
- И, наконец, в-третьих, нам нужна функция, которая умеет выдавать содержимое ячейки из таблицы по номеру строки и столбца — функция ИНДЕКС (INDEX) из той же категории Ссылки и массивы (Lookup and Reference). Первый аргумент этой функции — диапазон ячеек (в нашем случае это вся таблица, т.е. B2:F10), второй — номер строки, третий — номер столбца (а их мы определим с помощью функций ПОИСКПОЗ).
Итого, соединяя все вышеперечисленное в одну формулу, получаем для зеленой ячейки решение:
=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0))
или в английском варианте
=INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))
Пример 2. Приблизительный двумерный поиск
Слегка модифицируем предыдущий пример. Предположим, что у нас имеется вот такая ситуация:
Идея в том, что пользователь должен ввести в желтые ячейки высоту и ширину двери для, например, шкафа, которую он хочеть заказать у компании-производителя, а в серой ячейке должна появиться ее стоимость из таблицы. Важный нюанс в том, что если пользователь вводит нестандартные значения размеров, то они должны автоматически округлиться до ближайших имеющихся в таблице и в серой ячейке должна появиться стоимость изготовления двери для этих округленных стандарных размеров.
Решение для серой ячейки будет практически полностью аналогично предыдущему примеру:
=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1))
=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1))
Разница только в последнем аргументе обеих функций ПОИСКПОЗ (MATCH) — Типу сопоставления (здесь он равен минус 1). Это некий аналог четвертого аргумента функции ВПР (VLOOKUP) — Интервального просмотра (Range Lookup). Вообще говоря, возможных значений для него три:
- 1 — поиск ближайшего наименьшего числа, т.е. введенные пользователем размеры двери округлялись бы до ближайших наименьших подходящих размеров из таблицы. В нашем случае высота 500 округлилась бы до 450, а ширина 480 до 300, и стоимость двери была бы 135.
- -1 — поиск ближайшего наибольшего числа, т.е. нестандартная высота 500 округлялась бы до 700, а ширина 480 — до 600 и стоимость составила бы уже 462. Для бизнеса так гораздо интереснее!
- 0 — поиск точного соответствия без каких либо округлений. Используется для 100%-го совпадения искомого значения с одним из значений в таблице. Естественно, применяется при поиске текстовых параметров (как в прошлом примере), т.к. для них округление невозможно.
Важно отметить, что при использовании приблизительного поиска с округлением диапазон поиска — а значит и вся таблица — должна быть отсортирована по возрастанию (для Типа сопоставления = 1) или по убыванию (для Типа сопоставления = -1) по строчкам и по столбцам. Иначе приблизительный поиск корректно работать не будет!
Для точного поиска (Тип сопоставления = 0) сортировка не нужна и никакой роли не играет.
P.S. Обратная задача
В комментах неоднократно интересуются — а как сделать обратную операцию, т.е. определить в первом примере город и товар если мы знаем значение из таблицы? Тут потребуются две небольшие формулы массива (не забудьте ввести их с помощью сочетания клавиш Ctrl+Shift+Enter, а не обычного Enter):
Принцип их работы следующий:
- перебираем все ячейки в диапазоне B2:F10 и ищем совпадение с искомым значением (13) из ячейки J4 с помощью функции ЕСЛИ (IF)
- когда нашли совпадение, то определяем номер строки (столбца) первого элемента в таблице в этой строке (столбце) с помощью функций СТОЛБЕЦ (COLUMN) и СТРОКА (ROW)
- выдергиваем значение города или товара из таблицы с помощью функции ИНДЕКС (INDEX)
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Динамическая выборка из списка функциями ИНДЕКС и ПОИСКПОЗ
- Улучшаем функцию ВПР (VLOOKUP2)
- ВПР (VLOOKUP) с учетом регистра
- Многоразовый ВПР для вывода сразу всех значений
Хороший инструмент — это надстройка Поиск решения в MS Excel!
Например, его можно использовать в ситуации, когда вам нужно найти вариант, из которого с разных чисел могла быть добавлена определенная сумма (возможно, вы ищете, с каких счетов могла быть сформирована сумма платежа). Допустим, вам нужно найти сумму 10 из заданных чисел:
Для начала включаем надстройку или проверяем, что она включена (в Excel 2013): Файл/Параметры, раздел Надстройки, выберите Управление: Надстройки Excel, нажмите кнопку Перейти. Установите флажок Поиск решения, нажмите кнопку ОК
Найдите решение, которое появилось на ленте на вкладке «Данные»:
Теперь нам нужно понять, как мы можем использовать параметры в разных строках для «выбора» суммы. Я сделал вариант, когда мы указываем множитель 0 или 1 в одном столбце, подсчитываем произведение в соседнем столбце, а затем добавляем значения к итогу:
- в ячейках столбца B указываем 0 или 1 (теперь неважно, что именно)
- в ячейке C4 формула = A4 * B4
- в ячейках C5: C14 — то же с учетом номера строки
- в ячейке C3 формула = СУММ (C4: C14)
Теперь приступим к поиску решения. И заполните:
- Оптимизация целевой функции: $ C $ 3
- Раньше: Значения: 10
- Изменение ячеек переменных: $ B $ 4: $ B $ 14
- В соответствии с ограничениями: — добавьте (кнопка Добавить) три условия: 1) значения переменных должны быть целыми числами, 2) значения должны быть> = 0, 3) 2) значения должны быть быть
Не очень распространено, но и не экзотично. Во время моих обучающих курсов такой вопрос задавали не раз и не два. Суть в том, что у нас есть конечный набор некоторых чисел, из которых мы должны выбрать те, которые в сумме дают заданное значение.
В реальной жизни эта задача может показаться другой.
- Например, мы загрузили из интернет-банка все платежи, поступившие на наш счет за последний месяц. Один из клиентов разделяет сумму платежа на несколько отдельных счетов и производит оплату в рассрочку. Мы знаем общую сумму к оплате и количество счетов, но не знаем сумму. В истории платежей необходимо выбрать те суммы, которые, как правило, дают заданное значение.
- У нас есть несколько рулонов стали (линолеум, бумага.), Из которых мы должны выбрать те, которые придадут заказу заданную длину.
- Блэкджек или обычно «пойнт». Необходимо собрать карты с общей стоимостью как можно ближе к 21 баллу, но не превышать этот порог.
В некоторых случаях может быть известна допустимая погрешность допуска. Он может быть нулевым (в случае счетов для снятия средств) и ненулевым (в случае бросков на снятие средств), либо ограничиваться снизу или сверху (в случае блэкджека).
Давайте рассмотрим разные способы решения такой задачи в Excel.
Способ 1. Надстройка Поиск решения (Solver)
Эта надстройка входит в стандартный набор Microsoft Office вместе с Excel и предназначена, как правило, для решения линейных и нелинейных задач оптимизации со списком ограничений. Для его подключения необходимо:
- в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
- в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки
и поставьте галочку в соответствующем поле. Тогда нужная нам команда появится во вкладке или меню «Данные.
Чтобы использовать надстройку Поиск решения нашей проблемы, нам нужно будет немного модернизировать наш пример, добавив несколько вспомогательных ячеек и формул в список сумм для выбора:
- Диапазон A1: A20 содержит наши числа, из которых мы выберем те, которые нам нужны, чтобы «уместить» заданное количество.
- Диапазон B1: B20 будет своего рода набором переключателей, то есть он будет содержать ноль или один, указывая, выбираем ли мы данное число в образце или нет.
- Ячейка E2 содержит обычную автоматическую сумму всех единиц в столбце B, в которой подсчитывается количество выбранных чисел.
- В ячейке E3 функция СУММПРОИЗВ вычисляет сумму произведений пары ячеек из столбцов A и B (то есть A1 * B1 + A2 * B2 + A3 * B3 +.). Фактически, он вычисляет сумму чисел в столбце A, выбранных из чисел в столбце B.
- В розовой ячейке E4 пользователь вводит желаемую сумму для вывода.
- В ячейке E5 вычисляется абсолютное значение ошибки выбора, чтобы минимизировать ее в будущем.
- Все желтые ячейки E8: E17 хотели бы получить список выбранных чисел, т.е тех чисел из столбца A, перед которыми стоят числа из столбца B. Для этого нужно выделить сразу все (!) Желтые ячейки и вставьте в них следующую формулу массива:
После ввода формулы ее нужно вводить не как обычную формулу, а как формулу массива, т.е нажимать не Enter, а Ctrl + Shift + Enter. Аналогичная формула используется в примере ВПР, который возвращает все найденные значения сразу (а не только первое).
Теперь перейдите на вкладку Data (или меню) и запустите инструмент Data — Solver):
В открывшемся окне вам необходимо:
- Установить как целевую функцию (Целевая ячейка) — ячейка для расчета ошибки выбора E5. Чуть ниже выбираем вариант — Минимум, потому что мы хотим подбирать числа на заданную сумму с минимальной (или даже нулевой) ошибкой.
- Установите диапазон столбцов переключателя B1: B20 как Edit Cells.
- Используя кнопку Добавить, создайте дополнительное условие, что ячейки диапазона B1: B20 должны быть двоичными (т.е содержать только 0 или 1):
Используя ту же кнопку, при необходимости создайте ограничение на количество чисел в образце. Например, если мы знаем, что сумма разделена на 5 счетов, тогда:
После ввода всех параметров и ограничений запустите процесс выбора, нажав кнопку «Решить». Процесс выбора длится от нескольких секунд до нескольких минут (в самых серьезных случаях) и заканчивается появлением следующего окна:
Теперь вы можете оставить найденное решение выбора (Сохранить найденное решение) или вернуться к предыдущим значениям (Восстановить исходные значения).
Следует отметить, что для этого класса задач существует не одно, а целый набор решений, особенно если ошибка строго не равна нулю. Следовательно, выполнение поиска решения с разными начальными данными (например, с разными комбинациями нулей и единиц в столбце B) может привести к разным наборам чисел в выборках в указанных пределах. Поэтому имеет смысл запустить эту процедуру несколько раз, произвольно меняя переключатели в столбце B.
Найденные комбинации можно сохранить как сценарии (кнопка Сохранить сценарий), чтобы вы могли вернуться к ним позже, используя команду Данные — Анализ моделирования — Менеджер сценариев):
И все найденные решения, сохраненные в виде скрипта, будет очень удобно просматривать в единой сравнительной таблице с помощью кнопки Сводка):
Способ 2. Макрос подбора
В этом методе вся работа выполняется макросом, который по глупости прокручивает случайные комбинации чисел, пока не найдет требуемое количество в пределах допустимой ошибки. В этом случае нет необходимости добавлять столбец с нулями и единицами и формулами.
Чтобы использовать макрос, нажмите комбинацию Alt + F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:
Подобно первому способу, запустив макрос несколько раз, вы можете получить несколько наборов подходящих чисел.
в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки
и поставьте галочку в соответствующем поле. После этого необходимая команда появится на вкладке или в меню «Данные».
Функции МАКС и МИН прекрасно подходят для поиска наибольшего и наименышего значения в диапазоне данных. Но если нужно найти несколько максимальных или минимальных значений для этой задачи Excel предлагает несколько интересных функций: НАИБОЛЬШИЙ, НАИМЕНЬШИЙ, РАНГ и РАНГ.СР.
Пример выборки нескольких наибольших значений в Excel
Ниже на рисунке представлены результаты турниру по боулингу. Участники в турнирной таблице должны быть отсортированы по возрастанию по имени. Сложно проверить, который из них является победителем. Допустим нам необходимо узнать, которые участники заняли первые 3 места и какие их результаты. Ниже указанная формула, которая возвращает третье наибольшее число со списка результатов:
В формуле использованной для поиска имени участника используется комбинация функций ИНДЕКС и ПИСКПОЗ:
Функция НАИБОЛЬШИЙ и НАИМЕНЬШИЙ используются для поиска порядкового наибольшего и наименьшего значения в списке данных. В первом аргументе функции НАИБОЛЬШИЙ, как и в функции МАКС указывается ссылка на исходный диапазон просматриваемых значений. Однако отличие между ними заключается в том, что функция НАИБОЛЬШИЙ имеет еще один обязательный для заполнения аргумент «К» в котором можно указать порядковый номер возвращаемого наибольшего значения (второе наибольшее, третье… и т.д.).
Если исходный диапазон данных содержит одинаковые максимальные значения, тогда функция НАИБОЛЬШИЙ и НАИМЕНЬШИЙ возвращает тот самый результат для порядковых максимальных и минимальных значений (K и K+1). Например, если бы два участника получили одинаковый результат по 588 пунктов каждый, тогда формулы =НАИБОЛЬШИЙ($B$2:$B$13;1) и =НАИБОЛЬШИЙ($B$2:$B$13;2) возвращали бы одно и тоже число 558.
В ячейке E2 используется функция СТРОКА(A1) определяющая значение аргумента «К». Функция строка возвращает номер строки листа для ячейки, указанной в аргументе – в данном примере строка №1. Как второй аргумент функции НАИБОЛЬШИЙ можно было бы просто указать число 1, однако благодаря функции СТРОКА(A1) номер строки листа будет увеличиваться автоматически во время копирования формулы в очередные ячейки в низ от начальной. Ссылка на ячейку A1 является относительной, когда потом формула будет скопирована в ячейку E3, функция будет уже иметь следующий вид: СТРОКА(A2). С таким аргументом функция уже будет возвращать значение 2, а функция НАИБОЛЬШИЙ в ячейке E3 возвратит второе наибольшее значение из столбца «Результат» в исходном списке данных.
Формула ранжирования в Excel для выборки наибольших значений
В данном примере принципиальным является использование функции НАИБОЛЬШИЙ, так как мы анализируем результаты игры в боулинг. А в боулинге чем больше число пунктов, тем лучше результат. Если же бы мы анализировали другой вид спорта где вместо балов был список результатов времени в турнирной таблице, то в таком случае победителем будет тот участник, у которого наименьшее время. Турнирная таблица с временными результатами изображена ниже на рисунке. Таблица содержит дополнительный столбец с номером места каждого участника, а в нем использована формула следующая:
Чтобы узнать какое место занял участник с именем «Волчок Геннадий» необходимо заполнить аргументы для функции РАНГ. В первой ячейке следует указать время текущего участника (ползучем исходное время относительной ссылкой из ячейки B2), а во втором аргументе указать абсолютную ссылку на диапазон просматриваемых исходных значений $B$2:$B$13. В третьем аргументе указывается порядок сортировки. В данном примере это число 1, так как на первом месте должно быть наименьше время, то есть по возрастанию. Если бы на первом месте должно было бы быть наибольшее значение просматриваемого исходного диапазона ячеек, в таком случае в третьем аргументе функции РАНГ следует указывать число 0.
В отличии от функций НАИБОЛЬШИЙ и НАИМЕНЬШИЙ функция РАНГ возвращает фактический порядковый номер для каждого значения. Другими словами, функция РАНГ возвращает номер места исходного значения в списке просматриваемого диапазона, который отсортирован с учетом последнего аргумента функции. Чтобы получить не текущий номер, а значение найденной определенной ячейки следует использовать комбинацию функций ИНДЕКС и ПОИСКПОЗ, подобно как в случае с формулой, которая ищет имена участников.
Формула в ячейке F3 возвращает время участника, который занял третье место – выглядит следующим образом:
Если просматриваемый диапазон исходных значений содержит два или более одинаковых значения, функция РАНГ два раза подряд возвращает один и тот же результат. Например, если у двоих участников одно и тоже время результата 20:35, в таком случае функция РАНГ для обоих возвращает в результате вычислений число 1. Следующее большее очередное время в списке результатов получит третье место. Ни одно значение не получит в таком случае второго места, так как два одинаковы исходных значения занимают первое и второе место в ранжировании – одновременно:
Функция РАНГ.СР для ранжирования списка с повторяющимися значениями
В программе Excel версии 2010 и старше появились две новые функции ранжирования значений: РАНГ.РВ и РАНГ.СР, в которых по-разному решается проблема с одинаковыми значениями в диапазоне ячеек. Формула РАНГ.РВ – это аналог функции РАНГ, она возвращает тот же самый результат при таких же условиях с теми же самыми одинаковыми ячейками. А вот функция РАНГ.СР возвращает средний результат вычисления для всех одинаковых значений.
Допустим в таблице находятся результаты четырех участников с одинаковым вторым наименьшим показателем времени 21:38:
Для наилучшего времени в данной таблице функция РАНГ.СР естественно возвращает номер 1, а для четырех последующих наилучших показателей времени возвращено дробное значение 3,5. Эти четыре участника одновременно занимают места: 2, 3, 4 и 5, в итоге все места разделены между ними поровну, поэтому каждый участник получил по 3,5 балла. То есть 2+3+4+5/4=3,5.