Поиск значений в списке данных
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. Просмотрите эти варианты и выберите наиболее для вас подходящий.
При поиске данных в электронных таблицах Excel чаще всего вы будете искать вертикально в столбцах или горизонтально в строках. Но иногда вам нужно просматривать сразу два условия – как строки, так и столбцы. Другими словами, вы стремитесь найти значение на пересечении определенной строки и столбца. Это называется матричным поиском (также известным как двумерный или поиск в диапазоне). Далее показано, как это можно сделать различными способами.
- Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
- Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
- Функция ПРОСМОТРX для поиска в строках и столбцах
- Формула СУММПРОИЗВ для поиска по строке и столбцу
- Поиск в матрице с именованными диапазонами
Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
Самый популярный способ выполнить двусторонний поиск в Excel — использовать комбинацию ИНДЕКС с двумя ПОИСКПОЗ. Это разновидность классической формулы ПОИСКПОЗ ИНДЕКС , к которой вы добавляете еще одну функцию ПОИСКПОЗ, чтобы получить номера строк и столбцов:
ИНДЕКС( массив_данных ; ПОИСКПОЗ( значение_вертикальное ; диапазон_поиска_столбец ; 0), ПОИСКПОЗ( значение_горизонтальное ; диапазон_поиска_строка ; 0))
В этом способе, как и во всех остальных, мы используем поиск по двум условиям. Первое из них должно обнаружить совпадение в определенном столбце (в заголовках строк), а второе – в определенной строке (то есть, в заголовках столбцов). В результате мы имеем строку и столбец, которые соответствуют заданным условиям. А на пересечении их как раз и будут находиться искомые данные.
В качестве примера составим формулу для получения количества проданного товара за определённый период времени из таблицы, которую вы можете видеть ниже. Для начала определим все аргументы:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)
Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:
=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))
Как работает эта формула?
Хотя на первый взгляд это может показаться немного сложным, логика здесь простая. Функция ИНДЕКС извлекает значение из массива данных на основе номеров строк и столбцов, а две функции ПОИСКПОЗ предоставляют ей эти номера:
ИНДЕКС( B2:E11; номер_строки ; номер_столбца )
Здесь мы используем способность ПОИСКПОЗ возвращать относительную позицию значения в искомом массиве .
Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):
ПОИСКПОЗ(H1;A2:A11;0)
Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):
ПОИСКПОЗ(H2;B1:E1;0)
В обоих случаях мы ищем точное совпадение, присваивая третьему аргументу значение 0.
В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в B1:E1.
С учетом вышеизложенного формула сводится к:
ИНДЕКС(B2:E11; 2 ; 3 )
Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.
Думаю, вы понимаете, что аналогичным образом можно производить поиск в двумерном массиве Excel не только числа, но и текста. Тип данных здесь не имеет значения.
Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:
ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)
Для нашего образца таблицы формула принимает следующий вид:
=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)
Где:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)
Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):
ПОИСКПОЗ(H2;A1:E1;0)
ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:
=ВПР(H1; A2:E11; 4; ЛОЖЬ)
Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.
Важное замечание! Чтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).
Функция ПРОСМОТРX для поиска в строках и столбцах
Недавно Microsoft представила еще одну функцию в Excel, которая призвана заменить все существующие функции поиска, такие как ВПР, ГПР и ИНДЕКС+ПОИСКПОЗ. Помимо прочего, ПРОСМОТРX может смотреть на пересечение определенной строки и столбца:
ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))
Для нашего примера набора данных формула выглядит следующим образом:
=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))
Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.
В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:
=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})
Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.
Формула СУММПРОИЗВ для поиска по строке и столбцу
Функция СУММПРОИЗВ чрезвычайно универсальна — она может делать множество вещей, выходящих за рамки ее предназначения, особенно когда речь идет об оценке нескольких условий.
Чтобы найти значение на пересечении определенных строки и столбца, используйте эту общую формулу:
СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )
Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)
Приведенный ниже вариант также будет работать:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)
Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):
(A2:A11=H1)*(B1:E1=H2)
Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:
{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}
Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}
Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})
И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:
=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})
Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.
Примечание . Если в вашей таблице несколько заголовков строк и/или столбцов с одинаковыми именами, итоговый массив будет содержать более одного числа, отличного от нуля. И все эти числа будут суммированы. В результате вы получите сумму значений, удовлетворяющую обоим критериям. Это то, что отличает формулу СУММПРОИЗВ от ПОИСКПОЗ и ВПР, которые возвращают только первое найденное совпадение.
Поиск в матрице с именованными диапазонами
Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:
Шаг 1. Назовите столбцы и строки
Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:
- Выделите всю таблицу (в нашем случае A1:E11).
- На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш Ctrl + Shift + F3.
- В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».
Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:
- Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (
Ctrl + F3
). Если некоторые имена отсутствуют, определите их вручную. - Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.
Шаг 2. Создание формулы поиска по матрице
Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:
=имя_строки имя_столбца
Или наоборот:
=имя_столбца имя_строки
Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:
=Sprite неделя_3
То есть, имена диапазонов здесь разделены пробелом, который в данном случае является оператором пересечения массивов.
Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:
- В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
- Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
- После имени строки введите пробел , который в данном случае работает как оператор пересечения.
- Введите имя целевого столбца ( в нашем случае неделя_3 ).
- Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:
Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.
Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.
Еще несколько материалов по теме:
Выпадающий список с быстрым поиском
Классический выпадающий список в ячейке листа Excel, сделанный через Данные — Проверка (Data — Validation) — простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток — в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.
Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:
Конечная цель — создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например «гамп».
Шаг 1. Определяем, кто нам нужен
Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр «детектив») в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH), которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:
Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER), которая превратит числа в логическую ИСТИНУ (TRUE), а ошибки — в ЛОЖЬ (FALSE):
Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3… и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:
Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и
- если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
- если была ЛОЖЬ, то выводит 0
Шаг 2. Отбираем в отдельный список
Дальше — проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):
После этого можно поиграться, вводя в жёлтую ячейку G2 разные слова и фразы и понаблюдать за тем, как наши формулы отбирают только подходящие фильмы:
Шаг 3. Создаем именованный диапазон
Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен — Создать (Formulas — Name Manager — Create):
Имя диапазона может быть любым (например, Фильмы), а самое главное — это функция СМЕЩ (OFFSET), которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота; ширина)
У нас:
- В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
- Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
- Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
- Ширина диапазона — 1 столбец.
Осталось сделать выпадающий список.
Шаг 4. Создаем выпадающий список
Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data — Validation). В открывшемся окне выбрем Список (List) в поле Тип данных (Allow), а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:
Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert):
Вот и всё. Можно жать на ОК и наслаждаться результатом:
Для пущего удобства при вводе с клавиатуры можно использовать Ctrl+Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt+стрелка вниз, чтобы развернуть выпадающий список без мыши.
P.S.
В принципе, можно было бы и не продолжать, но недавно Microsoft выкатила обновление вычислительного движка Excel, который теперь поддерживает динамические массивы и имеет специальные функции для работы с ними. Большинству пользователей они станут доступны в ближайшие месяцы, но даже если пока этих возможностей в вашем Excel нет — грех не показать как элементарно с их помощью решается наша задача.
Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.
А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:
И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!
Ссылки по теме
- Что такое динамические массивы в Excel
- Разбор трех основных функций динамических массивов: СОРТ, ФИЛЬТР и УНИК
- 4 способа создать выпадающий список на листе Excel
Поиск значений в списке данных
Смотрите также Sub Private SubЕсть файл в снова объедините. вычислительные возможности такого и подсчитывать их нужно определить кто Попробуйте еще раз!») со всеми именами, значение, которое указано что просматриваемый диапазон шансов получить от приходится с большимиоказывается в тупике. становится понятно, как ячейки во усилия, чтобы разъяснитьПримечание: Workbook_SheetSelectionChange(ByVal Sh As котором сделан выпадающий2. Формулы массива рода отчетов с
количество. Для этого и когда наиболее=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); покупателей в таблице в ячейке содержит значение, равноеВПР объёмами данных. ВыРешая, какую формулу использовать функции
2-й начинающим пользователям основыМы стараемся как Object, ByVal Target список с поиском вводятся одновременным нажатием помощью новых формул в ячейку E2 приближен к этой»Совпадений не найдено.
на листеH2 среднему. Если жежелаемый результат.
можете добавлять и для вертикального поиска,ПОИСКПОЗстроке и функции
можно оперативнее обеспечивать As Range) If значений. Автор не трех клавиш, Shift+Ctrl+Enter, Excel. вводим формулу: цели. Для примера Попробуйте еще раз!»)Lookup table(USA). Функция будет
Поиск значений по вертикали в списке неизвестного размера по точному совпадению
Вы уверены, чтоФункции удалять столбцы, не
большинство гуру Excelи3-мВПР вас актуальными справочными Intersect(Sh.[A:A], Target) Is я — нашел после нажатия клавишКак использовать функциюБолее того для диапазона используем простую матрицуИ теперь, если кто-нибудь
(A2:A13). выглядеть так: такое значение есть,ПОИСКПОЗ
Поиск значений по горизонтали
беспокоясь о том, считают, чтоИНДЕКСстолбце, то есть
и показать примеры материалами на вашем Nothing Or Target.Count на просторах инета.
формула заключается вВПР (VLOOKUP) табличной части создадим данных с отчетом введет ошибочное значение,Если совпадение найдено, уравнение=MATCH($H$2,$B$1:$B$11,0)
– ставьтеи что нужно будетИНДЕКСмогут работать вместе. из ячейки более сложных формул языке. Эта страница > 1 Then Долго его ковырял, фигурные скобки.для поиска и правило условного форматирования: по количеству проданных формула выдаст вот возвращает
support.office.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
=ПОИСКПОЗ($H$2;$B$1:$B$11;0)0ИНДЕКС исправлять каждую используемую/ПОИСКПОЗC2 для продвинутых пользователей. переведена автоматически, поэтому Unload MainForm End в vba яFelikss выборки нужных значенийВыделите диапазон B6:J12 и товаров за три такой результат:1Результатом этой формулы будет
для поиска точногов Excel гораздо функциюПОИСКПОЗопределяет относительную позицию. Теперь мы попытаемся, ее текст может Sub не очень силен.: Огромное вам спасибо, из списка мы выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное квартала, как показаноЕсли Вы предпочитаете в(ИСТИНА), а если4
совпадения. более гибкие, иВПРнамного лучше, чем искомого значения вОчень просто, правда? Однако, если не отговорить содержать неточности иМартынВопрос следующий: работа всё работает недавно разбирали. Если форматирование»-«Правила выделения ячеек»-«Равно». ниже на рисунке. случае ошибки оставить нет –, поскольку «USA» –Если указываете им все-равно, где.ВПР заданном диапазоне ячеек, на практике Вы
- Вас от использования грамматические ошибки. Для
- : Вот будет забавно, его полностью устраивает,
- Felikss вы еще с
- В левом поле введите Важно, чтобы все
- ячейку пустой, то0
- это 4-ый элемент1
- находится столбец со3. Нет ограничения на
- . Однако, многие пользователи
- а далеко не всегда
Базовая информация об ИНДЕКС и ПОИСКПОЗ
ВПР нас важно, чтобы если она добавит кроме одного: когда: Привет! ней не знакомы значение $B$1, а числовые показатели совпадали. можете использовать кавычки(ЛОЖЬ). списка в столбце
, значения в столбце значением, которое нужно размер искомого значения. Excel по-прежнему прибегаютИНДЕКС знаете, какие строка, то хотя бы эта статья была ещё один лист, скрываешь столбец состолкнулся с такой — загляните сюда,
ИНДЕКС – синтаксис и применение функции
из правого выпадающего Если нет желания («»), как значениеДалее, мы делаем тоB поиска должны быть извлечь. Для примера,Используя
к использованию
использует это число
и столбец Вам показать альтернативные способы
- вам полезна. Просим где этот список списком — форма проблемой. не пожалейте пяти
- списка выберите опцию вручную создавать и второго аргумента функции же самое для(включая заголовок). упорядочены по возрастанию, снова вернёмся кВПРВПР (или числа) и
- нужны, и поэтому реализации вертикального поиска вас уделить пару не требуется… не подтягивает значенияв списке например минут, чтобы сэкономить «Светло-красная заливка и заполнять таблицу ExcelЕСЛИОШИБКА
значений столбцаПОИСКПОЗ для строки а формула вернёт таблице со столицами, помните об ограничении, т.к. эта функция возвращает результат из
требуется помощь функции в Excel. секунд и сообщить,
Дмитрий(The_Prist) Щербаков
этого списка. Кто
имеется себе потом несколько темно-красный цвет» и с чистого листа,. Вот так:B– мы ищем максимальное значение, меньшее государств и населением. на длину искомого гораздо проще. Так соответствующей ячейки.
ПОИСКПОЗЗачем нам это? – помогла ли она: Один лист можно может подсказать чтоFP29 часов. нажмите ОК. то в конце
ПОИСКПОЗ – синтаксис и применение функции
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)(Product). значение ячейки или равное среднему. На этот раз значения в 255 происходит, потому чтоЕщё не совсем понятно?
. спросите Вы. Да, вам, с помощью просто исключить условием надо исправить?T1929Если же вы знакомыВ ячейку B1 введите статьи можно скачатьЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)
Затем перемножаем полученные результаты
H3
Если указываете запишем формулу символов, иначе рискуете очень немногие люди
Представьте функции
Функция
- потому что кнопок внизу страницы. в коде: PrivateФайл во вложении29 с ВПР, то значение 3478 и уже с готовым
- Надеюсь, что хотя бы (1 и 0).(2015) в строке-1
- ПОИСКПОЗ получить ошибку до конца понимаютИНДЕКСMATCHВПР Для удобства также
- Sub Workbook_SheetBeforeRightClick(ByVal ShЮрий М129 — вдогон - полюбуйтесь на результат. примером. одна формула, описанная Только если совпадения1, значения в столбце
- /#VALUE! все преимущества переходаи(ПОИСКПОЗ) в Excel– это не приводим ссылку на As Object, ByVal: Что-то перемудрили, какSP0294 стоит разобраться сКак видно при наличииПоследовательно рассмотрим варианты решения в этом учебнике,
- найдены в обоих, то есть в поиска должны бытьИНДЕКС(#ЗНАЧ!). Итак, если сПОИСКПОЗ ищет указанное значение единственная функция поиска
оригинал (на английском Target As Range, мне кажется ))Мне надо найти похожими функциями: дубликатов формула для разной сложности, а показалась Вам полезной.
столбцах (т.е. оба ячейках упорядочены по убыванию,, которая покажет, какое таблица содержит длинныеВПРв таком виде: в диапазоне ячеек в Excel, и языке) . Cancel As Boolean) Private Sub UserForm_Initialize() 29-тый номер. пишуИНДЕКС (INDEX) заголовков берет заголовок в конце статьи Если Вы сталкивались критерия истинны), ВыA1:E1 а возвращено будет место по населению строки, единственное действующеена связку=INDEX(столбец из которого извлекаем,(MATCH
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
и возвращает относительную её многочисленные ограниченияПредположим, что требуется найти If sh.name = Dim Arr() Arr в FIND 29и с первого дубликата – финальный результат. с другими задачами получите: минимальное значение, большее занимает столица России решение – этоИНДЕКС (искомое значение,столбец в позицию этого значения могут помешать Вам добавочный телефонный номер
«новый лист» then = Sheets(«Список»).[MyList].Value ‘ и в RESULTПОИСКПОЗ (MATCH) по горизонтали (сСначала научимся получать заголовки
поиска, для которых1=MATCH($H$3,$A$1:$E$1,0)
или равное среднему. (Москва). использовать
и котором ищем,0)) в диапазоне. получить желаемый результат сотрудника по его
exit sub Cancel Call tbIn_Change Me.lbIn.List показывает всё где, владение которыми весьма
лева на право).
столбцов таблицы по
не смогли найти. Если оба критерия=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
- В нашем примере значенияКак видно на рисункеИНДЕКСПОИСКПОЗ=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомоеНапример, если в диапазоне во многих ситуациях. идентификационному номеру или = True Call = Arr End есть цифра 29. облегчит жизнь любому А формула для
- значению. Для этого подходящее решение среди ложны, или выполняетсяРезультатом этой формулы будет в столбце ниже, формула отлично/, а тратить время значение;столбец в которомB1:B3 С другой стороны,
действующую ставку комиссии
MyFormShow(Target) End Subв
Subкак можно зделать опытному пользователю Excel. получения названия (номера) выполните следующие действия: информации в этом только один из5D справляется с этойПОИСКПОЗ на изучение более ищем;0))содержатся значения New-York,
функции для определенного объема
общем-то, можно иKurs 31 так чтобы если Гляньте на следующий строки берет номерВ ячейку B1 введите уроке, смело опишите них – Вы, поскольку «2015» находитсяупорядочены по возрастанию, задачей:. сложной формулы никто
Думаю, ещё проще будет Paris, London, тогдаИНДЕКС продаж. Существует несколько не один лист: Юрий М, а в FIND написать пример: с первого дубликата значение взятое из свою проблему в получите
в 5-ом столбце.
поэтому мы используем
=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))Предположим, Вы используете вот не хочет. понять на примере. следующая формула возвратити способов быстрого и исключить. Тут важно где Вы этот 29, то вНеобходимо определить регион поставки по вертикали (сверху таблицы 5277 и комментариях, и мы0Теперь вставляем эти формулы тип сопоставления=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) такую формулу сДалее я попробую изложить Предположим, у Вас
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
цифруПОИСКПОЗ эффективного поиска этих понимать, каких листов кусок кода нашли?)) RESULT показивало иммено по артикулу товара, вниз). Для исправления выделите ее фон все вместе постараемся. в функцию1Теперь у Вас неВПР главные преимущества использования есть вот такой3– более гибкие значений. больше: которые исключить Подскажите плиз)) 29 независимо какие набранному в ячейку данного решения есть синим цветом для решить её.Теперь понимаете, почему мыИНДЕКС
. Формула должно возникать проблем, которая ищет вПОИСКПОЗ список столиц государств:, поскольку «London» – и имеют рядНапример может потребоваться поиск или в которыхАпдейт: туплю) понял) буквы есть спереди? C16. 2 пути: читабельности поля ввода
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Урок подготовлен для Вас задалии вуаля:ИНДЕКС с пониманием, как ячейках отиДавайте найдём население одной это третий элемент особенностей, которые делают значений в списке применять. В любом это вы ужеExcel как тоЗадача решается при помощиПолучить координаты первого дубликата (далее будем вводить командой сайта office-guru.ru1=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))/ работает эта формула:B5ИНДЕКС
из столиц, например, в списке. их более привлекательными, по вертикали по случае код в исправили) надо понимать если двух функций: по горизонтали (с в ячейку B1Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/, как искомое значение?=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))ПОИСКПОВо-первых, задействуем функциюдов Excel, а Японии, используя следующую=MATCH(«London»,B1:B3,0) по сравнению с точному совпадению. Для
модуле книги удобнее.Kurs 31 я пишу однозначное=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2) лева на право). другие числа, чтобыПеревел: Антон Андронов Правильно, чтобы функцияЕсли заменить функцииЗMATCHD10 Вы решите – формулу:
=ПОИСКПОЗ("London";B1:B3;0)
ВПР
этого можно использовать Добавили лист табеля: Юрий М, спасибо число то надоФункция Для этого только экспериментировать с новымиАвтор: Антон АндроновПОИСКПОЗПОИСКПОЗвозвращает «Moscow», поскольку(ПОИСКПОЗ), которая находитзначение, указанное в остаться с
=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))Функция. функцию ВПР или и код заранее огромное, заработало) выдавать однозначное, еслиПОИСКПОЗ в ячейке С3 значениями).Примечание:возвращала позицию только,на значения, которые величина населения города положение «Russia» в ячейкеВПР=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))MATCHБазовая информация об ИНДЕКС сочетание функций индекс работает. Не надоclawhammer
двухзначное, то двухзначноеищет в столбце следует изменить формулуВ ячейку C2 вводим Мы стараемся как можно когда оба критерия они возвращают, формула Москва – ближайшее списке:A2или переключиться наТеперь давайте разберем, что(ПОИСКПОЗ) имеет вот и ПОИСКПОЗ и ПОИСКПОЗ, как ничего копировать. А: Спасибо, я тоже и до четырёхD1:D13
на: В результате формулу для получения оперативнее обеспечивать вас выполняются. станет легкой и меньшее к среднему=MATCH(«Russia»,$B$2:$B$10,0)):ИНДЕКС делает каждый элемент такой синтаксис:Используем функции ИНДЕКС и
показано в следующих
судя по просьбе:
сделал на основе значного числа.значение артикула из получаем правильные координаты заголовка столбца таблицы актуальными справочными материаламиОбратите внимание: понятной: значению (12 269=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))=VLOOKUP(A2,B5:D10,3,FALSE)/
этой формулы:
MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ в Excel примерах.мой подход более этого файла учетДля меня сложная ячейки как для листа, который содержит это на вашем языке.В этом случае=INDEX($A$1:$E$11,4,5)) 006).Далее, задаём диапазон для=ВПР(A2;B5:D10;3;ЛОЖЬ)ПОИСКПОЗФункцияПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])Преимущества ИНДЕКС и ПОИСКПОЗВ этой книге показано, чем оправдан и склада, но возникли задача, а наC16 так и для значение: Эта страница переведена
необходимо использовать третий=ИНДЕКС($A$1:$E$11;4;5))Эта формула эквивалентна двумерному функцииФормула не будет работать,.MATCHlookup_value перед ВПР как функция ВПР куда удобнее, чем вопросы, почему то работе уже надо.. Последний аргумент функции таблицы:После ввода формулы для автоматически, поэтому ее не обязательный аргументЭта формула возвращает значение поиску
INDEX если значение в1. Поиск справа налево.(ПОИСКПОЗ) ищет значение(искомое_значение) – этоИНДЕКС и ПОИСКПОЗ – ищет значения по Ваше предложение плодить во вкладке «таблица»
ИНДЕКС и ПОИСКПОЗ – примеры формул
Помогите позалуйста. 0 — означаетПолучить координаты первого дубликата подтверждения нажимаем комбинацию текст может содержать функции на пересеченииВПР(ИНДЕКС), из которого ячейкеКак известно любому
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
«Japan» в столбце число или текст, примеры формул точному совпадению. код в каждом не работает нигдеAlexM поиск точного (а по вертикали (сверху горячих клавиш CTRL+SHIFT+Enter, неточности и грамматическиеИНДЕКС
4-ойи позволяет найти нужно извлечь значение.A2 грамотному пользователю Excel,B который Вы ищите.Как находить значения, которыеВ этой книге показано, листе. вставка CTRL+V, значения: Будет проще, если не приблизительного) соответствия. вниз). Для этого так как формула ошибки. Для нас. Он необходим, т.к.строки и значение на пересечении В нашем случаедлиннее 255 символов.ВПР
, а конкретно – Аргумент может быть находятся слева как с помощью
Мартын
можно только вписывать
сделать в дополнительном Функция выдает порядковый только в ячейке должна быть выполнена
- важно, чтобы эта в первом аргументе5-го определённой строки и это
Вместо неё Вам
не может смотреть
- в ячейках значением, в томВычисления при помощи ИНДЕКС функций ИНДЕКС и: Не-не-не. Мне чужого руками или тянуть. столбце формулу, выделяющую номер найденного значения С2 следует изменить
- в массиве. Если статья была вам
мы задаем всю
столбца в диапазоне
столбца.A2:A10 нужно использовать аналогичную влево, а этоB2:B10 числе логическим, или и ПОИСКПОЗ ПОИСКПОЗ найти значения не надо. КодИ второй момент число из строки.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
в диапазоне, т.е. формулу на: все сделано правильно полезна. Просим вас таблицу и должныA1:E11В этом примере формула. формулу значит, что искомое, и возвращает число ссылкой на ячейку.
Поиск по известным строке по точному совпадению. там уже был, — когда яВ столбце F фактически номер строки,В данном случаи изменяем в строке формул уделить пару секунд
указать функции, из
, то есть значение
ИНДЕКС
Затем соединяем обе частиИНДЕКС значение должно обязательно3lookup_array и столбцуВ этой книге содержится только весь закомментированный. пытался создать с
и I два
где найден требуемыый
формулы либо одну
по краям появятся и сообщить, помогла какого столбца нужно ячейки/ и получаем формулу:/ находиться в крайнем, поскольку «Japan» в(просматриваемый_массив) – диапазонПоиск по нескольким критериям
пример поиска значений
Задача слишком расплывчатая
чистого листа точно
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
варианта таких формул. артикул. либо другую, но фигурные скобки { ли она вам, извлечь значение. ВE4ПОИСКПОЗ=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))ПОИСКПОЗ левом столбце исследуемого списке на третьем ячеек, в которомИНДЕКС и ПОИСКПОЗ в по неточному совпадению и, исходя из такую же книгу Разница в выделенииФункция не две сразу. }. с помощью кнопок нашем случае это. Просто? Да!будет очень похожа
- =ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)): диапазона. В случае месте. происходит поиск. сочетании с ЕСЛИОШИБКА с помощью функции опыта работы с
- со всеми макросами числа с нулемИНДЕКС Стоит напомнить оВ ячейку C2 формула внизу страницы. Для столбецВ учебнике по
на формулы, которыеПодсказка:=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0)) сФункцияmatch_typeТак как задача этого ВПР. Предположим, что бухами и ОКами, путем экспорта и в начале.выбирает из диапазона том, что в вернула букву D удобства также приводимCВПР мы уже обсуждали
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Правильным решением будет=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))ПОИСКПОЗINDEX(тип_сопоставления) – этот учебника – показать вам известна частота
я предполагаю, что последующего импорта MainFormВ соседних столбцахA1:G13 ячейке С3 должна — соответственный заголовок ссылку на оригинал(Sum), и поэтомумы показывали пример в этом уроке,
всегда использовать абсолютные4. Более высокая скорость/(ИНДЕКС) использует аргумент сообщает функции
возможности функций
и требуется найти
одним списком дело MainModule и всех формула почти как
значение, находящееся на оставаться старая формула: столбца листа. Как (на английском языке). мы ввели формулы с функцией с одним лишь ссылки для работы.ИНДЕКС3ПОИСКПОЗИНДЕКС соответствующий ей цвет.
вряд-ли ограничится. Обычно кодов - у у пересечении заданной строкиЗдесь правильно отображаются координаты
видно все сходиться,Вы можете быстро находить3ВПР отличием. Угадайте каким?
ИНДЕКСЕсли Вы работаете, столбец поиска можетдля аргумента, хотите ли Выи Как это сделать, бывает так: подскажи
меня постоянно выходилаAleksSid (номер строки с первого дубликата по значение 5277 содержится нужные поля, не.для поиска по
Как Вы помните, синтаксиси с небольшими таблицами, быть, как вrow_num найти точное илиПОИСКПОЗ
показано в книге. как сделать формулу ошибка 424 Object, разница в аргументах артикулом выдает функция вертикали (с верха в ячейке столбца используя прокрутку, благодаря
- И, наконец, т.к. нам нескольким критериям. Однако, функцииПОИСКПОЗ то разница в левой, так и(номер_строки), который указывает приблизительное совпадение:для реализации вертикальногоДля выполнения этой задачи a+b? После этого required. В чем
функции ПОИСК().
ПОИСКПОЗ
в низ) – D. Рекомендуем посмотреть новой функции поиска нужно проверить каждую существенным ограничением такогоINDEX, чтобы диапазоны поиска
- быстродействии Excel будет, в правой части из какой строки1 поиска в Excel, используется функция СМЕЩ начинается — а секрет я такФункцию ЕСЛИОШИБКА() добавьте) и столбца (нам
I7 для листа
на формулу для
в сводной таблице. ячейку в массиве, решения была необходимость(ИНДЕКС) позволяет использовать
не сбились при скорее всего, не диапазона поиска. Пример: нужно возвратить значение.
или
мы не будем
и ПОИСКПОЗ. почему она красным и не понял сами. нужен регион, т.е. и Август; Товар2
получения целого адреса
Щелкните сводную таблицу, поле
эта формула должна добавлять вспомогательный столбец. три аргумента: копировании формулы в заметная, особенно в Как находить значения, Т.е. получается простаяне указан задерживаться на ихЭтот метод целесообразно использовать не выделяет, если
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
голову сломал((Felikss второй столбец). для таблицы. Оставим текущей ячейки. которой вы хотите быть формулой массива. Хорошая новость: формулаINDEX(array,row_num,[column_num]) другие ячейки. последних версиях. Если которые находятся слева формула:– находит максимальное синтаксисе и применении. при поиске данных больше 10000? А_Igor_61
: Мда написано всёFelikss такой вариант дляТеперь получим номер строки найти. Вы можете видетьИНДЕКСИНДЕКС(массив;номер_строки;[номер_столбца])Вы можете вкладывать другие же Вы работаете покажет эту возможность=INDEX($D$2:$D$10,3) значение, меньшее илиПриведём здесь необходимый минимум в ежедневно обновляемом почему там коэффициент: clawhammer, откройте одновременно понятно, но мне
: Привет! следующего завершающего примера. для этого жеВ области это по фигурным
/
И я поздравляю тех
функции Excel в
с большими таблицами,
в действии.=ИНДЕКС($D$2:$D$10;3) равное искомому. Просматриваемый для понимания сути, диапазоне внешних данных. не применяется, который чистую книгу и ничего не получается.Не Могу никакДанная таблица все еще значения (5277). ДляПоля сводной таблицы скобкам, в которые
ПОИСКПОЗ
из Вас, кто
ИНДЕКС которые содержат тысячи2. Безопасное добавление илиФормула говорит примерно следующее: массив должен быть а затем разберём Известно, что цена мы на пятом книгу с макросами,целий день етим найти формулу чтобы
- не совершенна. Ведь этого в ячейкувведите имя искомого она заключена. Поэтому,может искать по догадался!и строк и сотни удаление столбцов. ищи в ячейках упорядочен по возрастанию,
- подробно примеры формул, содержится в столбце листе другой книги и в редакторе Занимаюсь результат 0 сделать следующие: при анализе нужно
- C3 введите следующую поля. когда закончите вводить значениям в двухНачнём с того, что
- ПОИСКПОЗ формул поиска, ExcelФормулы с функцией от то есть от которые показывают преимущества B, но неизвестно, ввели? и т.д. VBA просто перетащитеCzeslavЕсть список в точно знать все формулу:Это поле теперь будет формулу, не забудьте
столбцах, без необходимости запишем шаблон формулы., например, чтобы найти будет работать значительноВПРD2 меньшего к большему. использования сколько строк данных
Так что если мышкой нужные формы: Смотрите решение с одном столбце, мне ее значения. ЕслиПосле ввода формулы для отображаться в верхней нажать создания вспомогательного столбца! Для этого возьмём минимальное, максимальное или быстрее, при использованииперестают работать илидо0ИНДЕКС будет возвращено, а листы одинаковые, то в чистую книгу формулой
надо чтобы в введенное число в подтверждения снова нажимаем части списка.Ctrl+Shift+EnterПредположим, у нас есть уже знакомую нам ближайшее к среднемуПОИСКПОЗ возвращают ошибочные значения,D10– находит первоеи первый столбец не
Ваш подход оправдан,К06Код =IF(Sheet1!D$4=»»;»»;IFERROR(INDEX(Sheet1!B$3:B$150;AGGREGATE(15;6;ROW($1:$150)/ISNUMBER(FIND(Sheet1!D$4;Sheet1!B$3:B$150));ROWS($7:7)));»»)) FIND можно было
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
ячейку B1 формула комбинацию клавиш CTRL+SHIFT+EnterДопустим ваш отчет содержит. список заказов, и формулу значение. Вот несколькои если удалить илии извлеки значение значение, равное искомому.ПОИСКПОЗ отсортирован в алфавитном а если окажется,: Здравствуйте!Я в программированииFelikss писать только цифри не находит в и получаем результат: таблицу с большимЕсли всё сделано верно, мы хотим найтиИНДЕКС вариантов формул, применительноИНДЕКС
добавить столбец в из третьей строки, Для комбинации
вместо
порядке.
что для 8 0, но список: всё равно то и в RESULT таблице, тогда возвращаетсяФормула вернула номер 9 количеством данных на Вы получите результат сумму по двум/ к таблице извместо таблицу поиска. Для то есть изИНДЕКСВПР
В этой книге содержится листов список один, слизала (извините если же самое. показивало числа каториe
ошибка – #ЗНАЧ!
– нашла заголовок множество столбцов. Проводить как на рисунке
критериям –ПОИСКПОЗ
предыдущего примера:ВПР функции ячейки
/. пример поиска значений для 12 другой, что )все чудеснов FIND пишу вписани в FIND Идеально было-бы чтобы
строки листа по
визуальный анализ таких
ниже:имя покупателяи добавим в1.. В целом, такаяВПРD4ПОИСКПОЗФункция с помощью функций для 4 третий, получилось, вот только 1 а весли я в формула при отсутствии
соответствующему значению таблицы. таблиц крайне сложно.
Как Вы, вероятно, уже
(Customer) и
неё ещё одну
office-guru.ru
Поиск в списке полей сводной таблицы в Excel для Windows
MAX замена увеличивает скоростьлюбой вставленный или, так как счётвсегда нужно точноеINDEX СМЕЩ и ПОИСКПОЗ. а ещё на в моем файле RESULT показывает всё FIND пишу 106, в таблице исходного В результате мы А одним из заметили (и непродукт функцию(МАКС). Формула находит работы Excel на удалённый столбец изменит начинается со второй
совпадение, поэтому третий(ИНДЕКС) в ExcelПо горизонтали используется функция 15 он вообще 24 листа, как
-
где есть цифра то в RESULT числа сама подбирала
-
имеем полный адрес заданий по работе раз), если вводить(Product). Дело усложняется
ПОИСКПОЗ максимум в столбце13%
support.office.com
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
результат формулы, поскольку строки. аргумент функции возвращает значение из ГПР для поиска не нужен, то….. можно применить выпадающий 1, а мне надо чтобы показивало ближайшее значение, которое значения D9. с отчетом является некорректное значение, например, тем, что один, которая будет возвращатьD. синтаксисВот такой результат получитсяПОИСКПОЗ массива по заданным значений в спискеДмитрий(The_Prist) Щербаков список к каждому надо если в 106, P106, Т106. содержит таблица. Чтобы – анализ данных которого нет в покупатель может купить номер столбца.
Поиск значения в массиве Excel
и возвращает значениеВлияние
- ВПР в Excel:должен быть равен
- номерам строки и по точному совпадению.: А мне показалась, листу?HELP
- списке 1 нету,Какую формулу мне создать такую программуТеперь научимся получать по
относительно заголовков строк просматриваемом массиве, формула сразу несколько разных=INDEX(Ваша таблица,(MATCH(значение для вертикального из столбцаВПРтребует указывать весьВажно! Количество строк и0 столбца. Функция имеетВ этой книге показано, что задача какIKor то не должен надо применить? для анализа таблиц значению координаты не и столбцов касающихсяИНДЕКС продуктов, и имена поиска,столбец, в которомCна производительность Excel диапазон и конкретный столбцов в массиве,. вот такой синтаксис: как функция ГПР раз более чем: Не берусь помочь показывать ничего.AleksSid в ячейку F1
целого листа, а определенного месяца. На/ покупателей в таблице
Поиск значения в столбце Excel
искать,0)),(MATCH(значение для горизонтальноготой же строки: особенно заметно, если номер столбца, из
- который использует функция-1INDEX(array,row_num,[column_num]) ищет значения по конкретная, если не Вам в решении,AlexM: Вариант, формула массива, введите новую формулу: текущей таблицы. Одним первый взгляд это
- ПОИСКПОЗ на листе поиска,строка в которой=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)) рабочая книга содержит
- которого нужно извлечьINDEX– находит наименьшееИНДЕКС(массив;номер_строки;[номер_столбца]) горизонтали. пытаться додумывать за но помогу советом:: вы покажите в в объединенных ячейкахПосле чего следует во словом, нам нужно
весьма простое задание,сообщает об ошибкеLookup table искать,0))=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0)) сотни сложных формул данные.(ИНДЕКС), должно соответствовать значение, большее илиКаждый аргумент имеет оченьВ этой книге содержится
Поиск значения в строке Excel
человека то, чегоприложите файл примера файле что сделали. не работает. Код всех остальных формулах найти по значению
но его нельзя#N/Aрасположены в произвольном=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального
Результат: Beijing массива, таких какНапример, если у Вас значениям аргументов равное искомому значению. простое объяснение: пример поиска значений
он не писалЦитатаК06
Как получить заголовок столбца и название строки таблицы
хотя бы с Тогда скорее всего =ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$12;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК(«*»&$D$4;$B$3:$B$12));СТРОКА($B$3:$B$12)-2);СТРОКА(A1)));»») изменить ссылку вместо 5277 вместо D9 решить, используя одну(#Н/Д) или порядке.
- поиска,столбец, в котором2.
- ВПР+СУММ
есть таблицаrow_num Просматриваемый массив долженarray по неточному совпадению написал: парой листов исходных
- будет понятно, почемуAlexM B1 должно быть получить заголовки: стандартную функцию. Да,#VALUE!Вот такая формула
- искать,0)),(MATCH(значение для горизонтальногоMIN. Дело в том,
A1:C10(номер_строки) и быть упорядочен по(массив) – это
с помощью функциикак можно данных (без секретной не получается.: F1! Так жедля столбца таблицы – конечно можно воспользоваться(#ЗНАЧ!). Если ВыИНДЕКС поиска,строка в которой
Поиск одинаковых значений в диапазоне Excel
(МИН). Формула находит что проверка каждого, и требуется извлечьcolumn_num убыванию, то есть диапазон ячеек, из ГПР, когда значенияприменить информации), а также
FelikssAleksSid нужно изменить ссылку
- Март; инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, хотите заменить такое
- / искать,0)) минимум в столбце значения в массиве данные из столбца(номер_столбца) функции от большего к
- которого необходимо извлечь в первой строкевыпадающий список
продемонстрируйте (или опишите): Привет!, достаточно так в условном форматировании.для строки – Товар4. чтобы вызвать окно сообщение на что-тоПОИСКПОЗОбратите внимание, что дляD требует отдельного вызоваBMATCH меньшему.
- значение. отсортированы по возрастанию.к каждому листу желаемый результат -То что уПОИСК($D$4;$B$3:$B$12) Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«УправлениеЧтобы решить данную задачу поиска значений на более понятное, торешает задачу:
- двумерного поиска нужнои возвращает значение функции, то нужно задать(ПОИСКПОЗ). Иначе результатНа первый взгляд, польза
row_numСовет:?ЦитатаК06 написал: и помощь придет меня пока есть.Felikss правилами»-«Изменить правило». И будем использовать формулу
листе Excel. Или можете вставить формулу{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* указать всю таблицу из столбцаВПР значение формулы будет ошибочным. от функции
Поиск ближайшего значения в диапазоне Excel
(номер_строки) – это На листе выХочу я, чтоб быстрееAlexM: Большое спасибо. Всё здесь в параметрах с уже полученными же создать для с(B2=’Lookup table’!$B$2:$B$13),0),3)} в аргументеC. Поэтому, чем больше2Стоп, стоп… почему мыПОИСКПОЗ номер строки в можете представить результатына каждом листе я
К06: Решение как в получилось укажите F1 вместо значениями в ячейках таблицы правило условногоИНДЕКС{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*arrayтой же строки: значений содержит массивдля аргумента не можем простовызывает сомнение. Кому массиве, из которой формулы в виде могла двойным щелчком: Доброе Утро! Спасибо,
сообщении №12В RESULT у B1. Чтобы проверить C2 и C3. форматирования. Но тогдаи(B2=’Lookup table’!$B$2:$B$13);0);3)}(массив) функции=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)) и чем большеcol_index_num
использовать функцию нужно знать положение
нужно извлечь значение. процентов или денежных вызвать выпадающий список что откликнулись))) ХочуFelikss меня показывает всё работу программы, введите Для этого делаем нельзя будет выполнитьПОИСКПОЗЭта формула сложнее других,INDEX=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0)) формул массива содержит(номер_столбца) функцииVLOOKUP элемента в диапазоне?
exceltable.com
Поиск нужных данных в диапазоне
Если не указан, значений. В режимес ФИО и я, чтоб на: Большое и огромное что в таблице. в ячейку B1 так: дальнейших вычислений св функцию которые мы обсуждали(ИНДЕКС).Результат: Lima
Ваша таблица, темВПР(ВПР)? Есть ли Мы хотим знать то обязательно требуется правки выделите ячейку, вставить в ячейку, каждом листе я вам спасибо.Можно ли как число которого нетДля заголовка столбца. В полученными результатами. Поэтому
ЕСЛИОШИБКА ранее, но вооруженныеА теперь давайте испытаем3.
медленнее работает Excel., вот так:
смысл тратить время,
значение этого элемента! аргумент на вкладке как на первом могла двойным щелчкомЭто то что то сделать так, в таблице, например: ячейку D2 введите необходимо создать и. знанием функций этот шаблон наAVERAGEС другой стороны, формула=VLOOKUP(«lookup value»,A1:C10,2) пытаясь разобраться в
Позвольте напомнить, что относительноеcolumn_numГлавная листе вызвать выпадающий список мне надо было. чтобы когда ячейку 8000. Это приведет формулу: На этот правильно применить соответствующуюСинтаксис функцииИНДЕКС
planetaexcel.ru
Поиск из списка в Excel
практике. Ниже Вы(СРЗНАЧ). Формула вычисляет
с функциями=ВПР(«lookup value»;A1:C10;2) лабиринтах
положение искомого значения(номер_столбца).нажмите кнопкуК06 с ФИО иА эти #NUM! FIND стираеш в к завершающему результату:
раз после ввода формулу.ЕСЛИОШИБКАи видите список самых
среднее в диапазонеПОИСКПОЗ
Если позднее Вы вставитеПОИСКПОЗ (т.е. номер строкиcolumn_numЧисловой формат
: Доброе утро!Спасибо большое, вставить в ячейку, можно как то RESULT было пусто?Теперь можно вводить любое
формулы для подтвержденияСхема решения задания выглядиточень прост:
ПОИСКПОЗ населённых стран мира.D2:D10
и новый столбец междуи и/или столбца) –(номер_столбца) – это
и выберите пункт все чудесно получилось
как на первом спрятать чтобы неVlad999
исходное значение, а жмем как по
примерно таким образом:IFERROR(value,value_if_error)Вы одолеете ее.
Предположим, наша задача, затем находит ближайшееИНДЕКС столбцами
ИНДЕКС это как раз
номер столбца вПроцентныйAliv18 листе (Стационар_Январь). было видно.: Код =если(D4=»»;»»;ваша формула) программа сама подберет традиции просто Enter:в ячейку B1 мыЕСЛИОШИБКА(значение;значение_если_ошибка)
Самая сложная часть узнать население США к нему ипросто совершает поискA?
то, что мы массиве, из которогоили
: Уважаемые форумчане, подскажите:Мартын
Вы меня извинитеFelikss
ближайшее число, котороеДля строки вводим похожую,
будем вводить интересующие
Где аргумент
– это функция
в 2015 году.
возвращает значение из
и возвращает результат,и=VLOOKUP(«Japan»,$B$2:$D$2,3) должны указать для нужно извлечь значение.Денежный
в файле (пост: Сильно сомневаюсь. Если но в экселе: не получается выдает содержит таблица. После но все же нас данные;
valueПОИСКПОЗХорошо, давайте запишем формулу. столбца выполняя аналогичную работуB=ВПР(«Japan»;$B$2:$D$2;3) аргументов
Если не указан,. №1 данной темы)
есть такое желание,
я только самостаятелно ошибку чего выводит заголовок немного другую формулу:в ячейке B2 будет
(значение) – это, думаю, её нужно Когда мне нужноC заметно быстрее., то значение аргумента
В данном случае –row_num то обязательно требуетсяЭтот учебник рассказывает о поиск реализован так, то зачем весь
обучаюсь и неAleksSid
столбца и названиеВ результате получены внутренние отображается заголовок столбца, значение, проверяемое на
объяснить первой. создать сложную формулу
той же строки:Теперь, когда Вы понимаете придется изменить с
смысла нет! Цель
(номер_строки) и/или аргумент главных преимуществах функций
что жестко привязан код второго листа всё еще знаю: Проверьте. Код =ЕСЛИ($D$4=»»;»»;ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$12;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК($D$4;$B$3:$B$12));СТРОКА($B$3:$B$12)-2);СТРОКА(A1)));»»)) строки для текущего координаты таблицы по который содержит значение предмет наличия ошибкиMATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
в Excel с=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1)) причины, из-за которых2 этого примера –column_num
row_numИНДЕКС
к столбу А закомментирован?
что и какFelikss значения. Например, если
значению – Март; ячейки B1 (в нашем случае
ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) вложенными функциями, то
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)) стоит изучать функциина исключительно демонстрационная, чтобы
(номер_столбца) функции(номер_строки)и и именованному диапазонуЕсли убрать комментарии правильно писать функции: он показывает совсем ввести число 5000
Товар 4:в ячейке B3 будет – результат формулыВ формуле, показанной выше,
я сначала каждуюРезультат: MoscowПОИСКПОЗ3 Вы могли понять,INDEXЕсли указаны оба аргумента,
ПОИСКПОЗ MyList.
CyberForum.ru
Выпадающий список с поиском
(апострофы), то получится и все тонкости.
другие цифры. получаем новый результат:На первый взгляд все отображается название строки,ИНДЕКС искомое значение – вложенную записываю отдельно.Используя функциюи
, иначе формула возвратит как функции(ИНДЕКС). Как Вы то функцияв Excel, которыеМожно как-то сделать желаемый результат.Тепер с вашеиИ таблица у
Скачать пример поиска значения
работает хорошо, но которая содержит значение/ этоИтак, начнём с двухСРЗНАЧИНДЕКС результат из толькоПОИСКПОЗ
помните, функцияИНДЕКС делают их более так, чтобыДмитрий(The_Prist) Щербаков
помоши в таблице меня будет не в диапазоне Excel
что, если таблица ячейки B1.ПОИСКПОЗ
1 функцийв комбинации с, давайте перейдём к что вставленного столбца.иИНДЕКСвозвращает значение из привлекательными по сравнениюпри пересечении, скажем,: Из модулей листов
будет порядок и на первом листеНаша программа в Excel будет содержат 2Фактически необходимо выполнить поиск); а аргумент, а массив поискаПОИСКПОЗИНДЕКС самому интересному иИспользуяИНДЕКСможет возвратить значение, ячейки, находящейся на с со столбцом В
коды уберите, а работать будет удобний. а на втором. нашла наиболее близкое одинаковых значения? Тогда координат в Excel.value_if_error – это результат
, которые будут возвращатьи увидим, как можноПОИСКПОЗработают в паре. находящееся на пересечении пересечении указанных строкиВПР подтягивался именованный диапазон в модуль ЭтаКнигаАЕ
как то сложно значение 4965 для могут возникнуть проблемы Для чего это
(значение_если_ошибка) – это умножения. Хорошо, что номера строки иПОИСКПОЗ применить теоретические знания/ Последующие примеры покажут заданных строки и и столбца.
. Вы увидите несколько MyList2, добавьте: Private Sub: А что ТЕПЕР с этими формулами. исходного – 5000. с ошибками! Рекомендуем нужно? Достаточно часто значение, которое нужно же мы должны столбца для функции
, в качестве третьего на практике.ИНДЕКС Вам истинную мощь столбца, но онаВот простейший пример функции
примеров формул, которыепри пересечении со Workbook_SheetBeforeRightClick(ByVal Sh As
вам мешает сказатьAleksSid Такая программа может также посмотреть альтернативное нам нужно получить возвратить, если формула перемножить и почему?ИНДЕКС аргумента функцииЛюбой учебник по, Вы можете удалять связки не может определить,INDEX помогут Вам легко столбцом С - Object, ByVal Target человеческое спасибо: 1. Формулы массива, пригодится для автоматического решение для поиска координаты таблицы по выдаст ошибку.
Давайте разберем все:ПОИСКПОЗВПР или добавлять столбцыИНДЕКС
какие именно строка(ИНДЕКС): справиться со многими именованный диапазон MyList3 As Range, CancelAlexM в объединенных ячейках решения разных аналитических столбцов и строк значению. Немного напоминаетНапример, Вы можете вставить по порядку:ПОИСКПОЗ для столбцачаще всего нужнотвердит, что эта к исследуемому диапазону,и и столбец нас=INDEX(A1:C10,2,3) сложными задачами, перед и т.д. As Boolean) Cancel, он тратил на не работают, если задач при бизнес-планировании, по значению. обратный анализ матрицы.
формулу из предыдущегоБерем первое значение в– мы ищем будет указывать функция не может не искажая результат,
ПОИСКПОЗ интересуют.=ИНДЕКС(A1:C10;2;3) которыми функцияДанные об имени = True Call вас свое время. вам надо чтобы постановки целей, поискаЧтобы проконтролировать наличие дубликатов Конкретный пример в примера в функцию столбце в столбце1 смотреть влево. Т.е. так как определен, которая легко справляетсяТеперь, когда Вам известнаФормула выполняет поиск вВПР диапазона хранятся соответственно MyFormShow(Target) End SubУ него есть
ячейки были объединены, рационального решения и среди значений таблицы двух словах выглядитЕСЛИОШИБКАABили если просматриваемый столбец непосредственно столбец, содержащий с многими сложными
базовая информация об диапазонебессильна. в ячейках А1, Private Sub Workbook_SheetDeactivate(ByVal кнопка «спасибо» сначала отмените объединение т.п. А полученные создадим формулу, которая
примерно так. Поставленнаявот таким образом:(Customer) на листе, а точнее в-1
не является крайним нужное значение. Действительно, ситуациями, когда этих двух функциях,A1:C10В нескольких недавних статьях В1, С1. Sh As Object)
Kurs 31 ячеек, затем вставьте строки и столбцы
сможет информировать нас цель в цифрах
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),Main table диапазонев случае, если левым в диапазоне это большое преимущество,ВПР
полагаю, что ужеи возвращает значение
мы приложили всеСпасибо. Unload MainForm End: Всем привет.
формулу массива, потом позволяют дальше расширять о наличии дубликатов является исходным значением,
»Совпадений не найдено.и сравниваем егоB2:B11 Вы не уверены,
поиска, то нет
planetaexcel.ru
особенно когда работать
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне
A10:A19
(см.
Файл примера
).
Задача
Выведем в отдельный диапазон значения, которые удовлетворяют критерию. Рассмотрим различные варианты поиска.
А. Найти значения, которые содержат критерий
Для удобства создадим
именованный диапазон
Список
.
Диапазон может охватить в том числе и незаполненные ячейки перечня. В дальнейшем пользователь может расширить перечень инструментов, указанные ниже формулы автоматически учтут новые значения.
Выведем в отдельный диапазон все значения Исходного списка, в которых
содержится
текст-критерий (например, слово
дрель
). Критерий вводится в ячейку
С6
.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Алгоритм работы формулы следующий (для просмотра промежуточных шагов работы формулы воспользуйтесь
клавишей
F9
):
-
Функция
ПОИСК()
, перебирая элементы исходного списка, определяет, содержится ли в нем значение-критерий. Если значение не содержится, то возвращается ошибка #ЗНАЧ! В противном случае возвращается числовое значение, соответствующее номеру начальной позиции вхождения критерия в значение из списка (здесь нам не важен номер позиции, важно, что это число); -
Функция
ЕСЛИОШИБКА()
используется для подавления ошибки #ЗНАЧ! заменяя ее на число 0; -
Функция
ЕСЛИ()
заменяет числовые значения, возвращенные функцией
ПОИСК()
, на номер позиции значения в списке. Если значение =0 (соответствует ошибке #ЗНАЧ!), то возвращается число 30. В принципе, вместо 30 можно указать любое число, которое больше номера последней заполненной позиции Исходного списка (это нужно для правильной сортировки функцией
НАИМЕНЬШИЙ()
); -
Функция
НАИМЕНЬШИЙ()
сортирует массив номеров строк по возрастанию; -
Функция
ДВССЫЛ()
возвращаетмассив последовательных чисел
;
-
Функция
ИНДЕКС()
возвращает текстовые значения из Исходного списка, из строк, номера которых были получены на предыдущем шаге.
В предельном случае м.б. найдено столько же значений, сколько содержится в исходном списке (когда все значения удовлетворяют критерию). Поэтому
формулу массива
нужно распространять на диапазон той же размерности, что и исходный список. Вышеуказанная
формула массива будет возвращать несколько значений
, поэтому перед вводом формулы нужно выделить сразу весь диапазон, т.е. ячейки
С10:С19
, ввести формулу в
Строке формул
и нажать
CRTL+SHIFT+ENTER
.
Для скрытия ошибок #ССЫЛКА!, возвращаемой формулой массива, к диапазону
С10:С19
применено правило
Условного форматирования
.
Б. Найти значения, которые совпадают с критерием (точное совпадение)
В этом случае будут выведены все значения, которые совпадают с критерием (без
учета РЕгиСТра
). Критерий вводится в ячейку
E
6
.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
B. Найти значения, которые начинаются с критерия
В этом случае будут выведены все значения, которые начинаются или совпадают с критерием. Критерий вводится в ячейку
G
6
.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
: =
ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Г. Найти значения, которые заканчиваются на критерий
В этом случае будут выведены все значения, которые заканчиваются или совпадают с критерием. Критерий вводится в ячейку
I
6
.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
СОВЕТ:
О поиске текстовых значений с использованием
подстановочных знаков
читайте в статье
Поиск текстовых значений в списках. Часть2. Подстановочные знаки
. В статье
Выделение ячеек c ТЕКСТом с применением Условного форматирования
приведено решение аналогичной задачи с использованием
Условного форматирования
.
Поиск в списке в excel
Я собираюсь вам рассказать о фантастически полезном и эффектном приёме. Это одна из самых интересных вещей, которую мне доводилось видеть в Excel. Кроме того, она достаточно легко реализуется. Если вы разберётесь, как она работает, то вы сразу узнаете об Excel необычно много. Я постараюсь рассказать всё максимально подробно, последовательно и внятно.
Выпадающий список с контекстным поиском
Итак, речь пойдёт о выпадающем списке (так называемый combo box), в который встроена возможность динамического поиска по подстроке, которую пользователь вводит с клавиатуры. Посмотрите пример, в котором мы имеем топ 300 крупнейших городов России. На анимированной иллюстрации видно, как мы динамически сужаем список выбора, вводя подстроку «кр» или «ниж», экономя огромное количество времени. Более того, список меняется после ввода каждого нового символа! Выглядит чрезвычайно привлекательно и профессионально, не так ли? Давайте разбираться, как это устроено.
Файл примера
Пошаговая инструкция
Предварительные замечания
В файле примера выпадающий список с поиском реализован сразу в двух вариантах: для обычного диапазона (лист Range ) и для умной таблицы (лист Table ). Мы будим эти варианты обсуждать одновременно, отмечая их различия.
Шаг 1. Готовим таблицу для списка
Подготовьте таблицу с четырьмя колонками: Город (или то, что вам нужно), Статус , Индекс , Фильтр . Заполните столбец Город значениями. В остальных трёх колонках будут формулы, которые мы обсудим ниже. Я всем рекомендую использовать умную таблицу, так как это значительно проще.
Шаг 2. Формулы для столбца Статус
На примере ячейки F2 рассмотрим формулу, аналогичную для всего столбца Статус (столбец F ). Из F2 формулу можно протягивать вниз до конца, а в случае умной таблицы Excel это сделает за вас. Это также относится ко всем формулам, которые мы будем обсуждать в этой статье.
$B$2 — ячейка, с которой будет связан выпадающий список (добавляется на шаге 6). Что значит связано? Всё, что вы введёте в выпадающий список, тут же отразится в ячейке B2 .
Формула ПОИСК вернёт ошибку, если содержимое B2 не найдено в $E2 . ЕОШИБКА перехватит ошибку и вернёт ИСТИНА, если действительно была ошибка, и — ЛОЖЬ, если строка таки была найдена. Функция НЕ делает из истины ложь и наоборот (инверсирует результат). Таким образом, мы получим в этом столбце ИСТИНА, если подстрока найдена в текущем городе, и наоборот. Обратите внимание, что пустая подстрока содержится в любой строке, поэтому все ячейки столбца Статус имеют значения ИСТИНА, когда мы не ввели ещё ничего в B2 .
= НЕ( ЕОШИБКА ( ПОИСК ( $B$2 ; $E2 ) ) )
=NOT( ISERROR( SEARCH( $B$2; $E2) ) )
= НЕ ( ЕОШИБКА ( ПОИСК ( $B$2 ; [@ Город ]) ) )
=NOT( ISERROR( SEARCH( $B$2; [@Город]) ) )
[@ Город ] — на языке структурных формул умных таблиц это ссылка на ячейку столбца Город в той же строке, в которой находится сама формула. Поскольку ссылка идёт внутри таблицы, то имя самой таблицы в формуле можно не использовать. В остальном всё — тоже самое.
Шаг 3. Формула для столбца Индекс
Если B2 содержит подстроку поиска, то в столбце Статус не все ячейки примут значение ИСТИНА. Статус ИСТИНА будет только там, в чьи названия городов входит соответствующая подстрока. А в столбце Индекс мы рассчитываем номер по порядку для всех строк, которые содержат искомую подстроку. Например, на рисунке ниже B2 содержит «ни», что заставляет столбец Статус быть истинным у строк с городами Нижний Новгород , Калининград , Магнитогорск и т.д., а в столбце Индекс мы начинаем считать факты срабатываний в F : Нижний Новгород — первое срабатывание, Калининград — второе и так далее.
Функция ЕСЛИ отсекает все значения в F , которые не равны ИСТИНА. Функция СЧЁТЕСЛИ подсчитывает количество значений ИСТИНА в F .
= ЕСЛИ( $F2 ; СЧЁТЕСЛИ ( $F$2:$F2 ; ИСТИНА ); «»)
=IF( $F2; COUNTIF( $F$2:$F2; TRUE ); «»)
= ЕСЛИ ( [@ Статус ]; СЧЁТЕСЛИ ( $F$2 :[@ Статус ]; ИСТИНА ); «»)
=IF( [@Статус]; COUNTIF( $F$2:[@Статус]; TRUE ); «»)
Обратите внимание, что диапазон условия в СЧЁТЕСЛИ введен скользящий — вторая координата не закреплена — и во время протягивания она растёт пропорционально таблице. За счёт этого трюка мы получаем механизм подсчёта значения ИСТИНА. Например, 6-я строка будет подсчитывать ИСТИНУ по диапазону $F$2:$F6 (там одно значение — от Нижнего Новгорода ), а 41-я строка будет подсчитывать ИСТИНУ уже по диапазону $F$2:$F41 (а там уже 2 значения — от Нижнего Новгорода и от Калининграда ). Вот суть механизма. Это полезный приём, который стоит запомнить.
Шаг 4. Формула для столбца Фильтр
Теперь наша задача, опираясь на столбец Индекс , сформировать в столбце H отфильтрованный список городов, который необходимо показывать в выпадающем списке.
= ЕСЛИОШИБКА( ИНДЕКС ( стлГород ; ПОИСКПОЗ ( ЧСТРОК ( $G$2:$G2 ); стлИндекс ; 0) ); «»)
=IFERROR( INDEX( стлГород; MATCH( ROWS($G$2:$G2); стлИндекс; 0) ); «» )
Обратите внимание на динамический именованный диапазон стлГород и стлИндекс, которые мы вынуждены создавать для случая диапазона, чтобы придать решению должный уровень универсальности. Техника, по которой созданы эти именованные диапазоны разобрана тут.
= ЕСЛИОШИБКА ( ИНДЕКС ( [ Город ]; ПОИСКПОЗ ( ЧСТРОК ( $G$2 :[@ Индекс ]); [ Индекс ]; 0) ); «»)
=IFERROR( INDEX( [Город]; MATCH( ROWS($G$2:[@Индекс]); [Индекс]; 0) ); «» )
Не путайте: [ Индекс ] — ссылка на весь столбец, а [@ Индекс ] — ссылка на ячейку из этого столбца в текущей строке. Никакие дополнительные именованные диапазоны нам создавать нет никакой необходимости, так как мы пользуемся встроенным в умные таблицы сервисом при ссылке на столбцы.
Формула ЧСТРОК ( $G$2:$G2 ) используется для генерации последовательных номеров от 1 (для второй строки) до N (в строке N+1), равному количеству найденных подстрок. Просто генерируется диапазон соответствующего размера, а формула ЧСТРОК возвращает его высоту в строках.
Формула ПОИСКПОЗ ищет номер реальной строки, содержащий соответствующий индекс. Например, в столбце Фильтр мы видим Магнитогорск на третьей позиции, но в реальности он взят из E45 , так как в G45 стоит цифра 3, которую мы и нашли через ПОИСКПОЗ . То есть ПОИСКПОЗ сказал нам, что Магнитогорск находится в 45-й строке, а извлекли мы его оттуда уже при помощи формулы ИНДЕКС .
Если же при извлечении возникает ошибка (текущая строка находится ниже строки N+1), то формула возвращает пустую строку. За это отвечает ЕСЛИОШИБКА .
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из 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 и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне A10:A19 (см. Файл примера ).
Выведем в отдельный диапазон значения, которые удовлетворяют критерию. Рассмотрим различные варианты поиска.
А. Найти значения, которые содержат критерий
Диапазон может охватить в том числе и незаполненные ячейки перечня. В дальнейшем пользователь может расширить перечень инструментов, указанные ниже формулы автоматически учтут новые значения.
Выведем в отдельный диапазон все значения Исходного списка, в которых содержится текст-критерий (например, слово дрель). Критерий вводится в ячейку С6.
Для создания списка, содержащего найденные значения, воспользуемся формулой массива:
=ИНДЕКС(Список; НАИМЕНЬШИЙ(
ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30);
СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Алгоритм работы формулы следующий (для просмотра промежуточных шагов работы формулы воспользуйтесь клавишей F9):
- Функция ПОИСК() , перебирая элементы исходного списка, определяет, содержится ли в нем значение-критерий. Если значение не содержится, то возвращается ошибка #ЗНАЧ! В противном случае возвращается числовое значение, соответствующее номеру начальной позиции вхождения критерия в значение из списка (здесь нам не важен номер позиции, важно, что это число);
- Функция ЕСЛИОШИБКА() используется для подавления ошибки #ЗНАЧ! заменяя ее на число 0;
- Функция ЕСЛИ() заменяет числовые значения, возвращенные функцией ПОИСК() , на номер позиции значения в списке. Если значение =0 (соответствует ошибке #ЗНАЧ!), то возвращается число 30. В принципе, вместо 30 можно указать любое число, которое больше номера последней заполненной позиции Исходного списка (это нужно для правильной сортировки функцией НАИМЕНЬШИЙ() );
- Функция НАИМЕНЬШИЙ() сортирует массив номеров строк по возрастанию;
- Функция ДВССЫЛ() возвращает массив последовательных чисел;
- Функция ИНДЕКС() возвращает текстовые значения из Исходного списка, из строк, номера которых были получены на предыдущем шаге.
В предельном случае м.б. найдено столько же значений, сколько содержится в исходном списке (когда все значения удовлетворяют критерию). Поэтому формулу массива нужно распространять на диапазон той же размерности, что и исходный список. Вышеуказанная формула массива будет возвращать несколько значений, поэтому перед вводом формулы нужно выделить сразу весь диапазон, т.е. ячейки С10:С19, ввести формулу в Строке формул и нажать CRTL+SHIFT+ENTER.
Для скрытия ошибок #ССЫЛКА!, возвращаемой формулой массива, к диапазону С10:С19 применено правило Условного форматирования.
Б. Найти значения, которые совпадают с критерием (точное совпадение)
В этом случае будут выведены все значения, которые совпадают с критерием (без учета РЕгиСТра). Критерий вводится в ячейку E6.
Для создания списка, содержащего найденные значения, воспользуемся формулой массива:
=ИНДЕКС(Список; НАИМЕНЬШИЙ(
ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);
СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
B. Найти значения, которые начинаются с критерия
В этом случае будут выведены все значения, которые начинаются или совпадают с критерием. Критерий вводится в ячейку G6.
Для создания списка, содержащего найденные значения, воспользуемся формулой массива:
= ИНДЕКС(Список;НАИМЕНЬШИЙ(
ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30);
СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Г. Найти значения, которые заканчиваются на критерий
В этом случае будут выведены все значения, которые заканчиваются или совпадают с критерием. Критерий вводится в ячейку I6.
Для создания списка, содержащего найденные значения, воспользуемся формулой массива:
=ИНДЕКС(Список;НАИМЕНЬШИЙ(
ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);
СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Выпадающий список с быстрым поиском
Классический выпадающий список в ячейке листа Excel, сделанный через Данные — Проверка (Data — Validation) — простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток — в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.
Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:
Конечная цель — создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например «гамп».
Шаг 1. Определяем, кто нам нужен
Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр «детектив») в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH ) , которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:
Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER) , которая превратит числа в логическую ИСТИНУ (TRUE) , а ошибки — в ЛОЖЬ (FALSE) :
Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3. и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:
Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и
- если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
- если была ЛОЖЬ, то выводит 0
Шаг 2. Отбираем в отдельный список
Дальше — проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):
После этого можно поиграться, вводя в жёлтую ячейку G2 разные слова и фразы и понаблюдать за тем, как наши формулы отбирают только подходящие фильмы:
Шаг 3. Создаем именованный диапазон
Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен — Создать (Formulas — Name Manager — Create) :
Имя диапазона может быть любым (например, Фильмы), а самое главное — это функция СМЕЩ (OFFSET) , которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:
=СМЕЩ( начальная_ячейка ; сдвиг_вниз ; сдвиг_вправо ; высота ; ширина )
- В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
- Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
- Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
- Ширина диапазона — 1 столбец.
Осталось сделать выпадающий список.
Шаг 4. Создаем выпадающий список
Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data — Validation) . В открывшемся окне выбрем Список (List) в поле Тип данных (Allow) , а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:
Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert) :
Вот и всё. Можно жать на ОК и наслаждаться результатом:
Для пущего удобства при вводе с клавиатуры можно использовать Ctrl + Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt + стрелка вниз , чтобы развернуть выпадающий список без мыши.
В принципе, можно было бы и не продолжать, но недавно Microsoft выкатила обновление вычислительного движка Excel, который теперь поддерживает динамические массивы и имеет специальные функции для работы с ними. Большинству пользователей они станут доступны в ближайшие месяцы, но даже если пока этих возможностей в вашем Excel нет — грех не показать как элементарно с их помощью решается наша задача.
Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.
А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:
И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!
Выпадающий список в Excel с помощью инструментов или макросов
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
Private Sub Worksheet_Change( ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range( «C2:C5» )) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & «,» & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Содержание
- Поисковая функция в Excel
- Способ 1: простой поиск
- Способ 2: поиск по указанному интервалу ячеек
- Способ 3: Расширенный поиск
- Вопросы и ответы
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
- После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
- При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
- В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
- Выделяем область ячеек, в которой хотим произвести поиск.
- Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
- После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
- В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.
- Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.