Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Описание
В этой статье приведены пошаговые инструкции по поиску данных в таблице (или диапазоне ячеек) с помощью различных встроенных функций Microsoft Excel. Для получения одного и того же результата можно использовать разные формулы.
Создание образца листа
В этой статье используется образец листа для иллюстрации встроенных функций Excel. Рассматривайте пример ссылки на имя из столбца A и возвращает возраст этого человека из столбца C. Чтобы создать этот лист, введите указанные ниже данные в пустой лист Excel.
Введите значение, которое вы хотите найти, в ячейку E2. Вы можете ввести формулу в любую пустую ячейку на том же листе.
A |
B |
C |
D |
E |
||
1 |
Имя |
Правитель |
Возраст |
Поиск значения |
||
2 |
Анри |
501 |
Плот |
Иванов |
||
3 |
Стэн |
201 |
19 |
|||
4 |
Иванов |
101 |
максималь |
|||
5 |
Ларри |
301 |
составляет |
Определения терминов
В этой статье для описания встроенных функций Excel используются указанные ниже условия.
Термин |
Определение |
Пример |
Массив таблиц |
Вся таблица подстановки |
A2: C5 |
Превышающ |
Значение, которое будет найдено в первом столбце аргумента «инфо_таблица». |
E2 |
Просматриваемый_массив |
Диапазон ячеек, которые содержат возможные значения подстановки. |
A2: A5 |
Номер_столбца |
Номер столбца в аргументе инфо_таблица, для которого должно быть возвращено совпадающее значение. |
3 (третий столбец в инфо_таблица) |
Ресулт_аррай |
Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор. |
C2: C5 |
Интервальный_просмотр |
Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение. |
ЛОЖЬ |
Топ_целл |
Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?. |
|
Оффсет_кол |
Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки). |
Функции
LOOKUP ()
Функция Просмотр находит значение в одной строке или столбце и сопоставляет его со значением в той же позицией в другой строке или столбце.
Ниже приведен пример синтаксиса формулы подСТАНОВКи.
= Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)
Следующая формула находит возраст Марии на листе «образец».
= ПРОСМОТР (E2; A2: A5; C2: C5)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).
Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.
Чтобы получить дополнительные сведения о функции Просмотр , щелкните следующий номер статьи базы знаний Майкрософт:
Использование функции Просмотр в Excel
ВПР ()
Функция ВПР или вертикальный просмотр используется, если данные указаны в столбцах. Эта функция выполняет поиск значения в левом столбце и сопоставляет его с данными в указанном столбце в той же строке. Функцию ВПР можно использовать для поиска данных в отсортированных или несортированных таблицах. В следующем примере используется таблица с несортированными данными.
Ниже приведен пример синтаксиса формулы ВПР :
= ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)
Следующая формула находит возраст Марии на листе «образец».
= ВПР (E2; A2: C5; 3; ЛОЖЬ)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).
Чтобы получить дополнительные сведения о функции ВПР , щелкните следующий номер статьи базы знаний Майкрософт:
Как найти точное совпадение с помощью функций ВПР или ГПР
INDEX () и MATCH ()
Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.
Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:
= Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)
Следующая формула находит возраст Марии на листе «образец».
= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).
Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:
Поиск данных в таблице с помощью функции индекс
СМЕЩ () и MATCH ()
Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.
Ниже приведен пример синтаксиса, объединяющего смещение и сопоставление для достижения того же результата, что и функция Просмотр и ВПР.
= СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)
Эта формула находит возраст Марии на листе «образец».
= СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).
Чтобы получить дополнительные сведения о функции СМЕЩ , щелкните следующий номер статьи базы знаний Майкрософт:
Использование функции СМЕЩ
Нужна дополнительная помощь?
Поиск в программе Microsoft Excel
Смотрите также значений для него искомое значение ( в ячейку B1 в ячейку E2 в ячейку B1 знаки. В статье =0 (соответствует ошибкеВ строке 4: программа нашим стандартам - в данном случаеВ Excel 2007 мастер имя первого учащегося на кнопку позицию на который она выдаче будут представлены
В документах Microsoft Excel, три:
Поисковая функция в Excel
Яблоко число которого нет вводим формулу: другие числа, чтобы Выделение ячеек c #ЗНАЧ!), то возвращается выделяет ячейки 152р. функции И(), т.е.
Способ 1: простой поиск
подстановок создает формулу с 6 пропусками в«Найти всё»«По столбцам» ссылается. Например, в все ячейки, которые которые состоят из1из желтой ячейки
- в таблице, например:Более того для диапазона экспериментировать с новыми ТЕКСТом с применением число 30. ВB4Эта формула находит строки совпадают, когда подстановки, основанную на диапазоне A2:B7. Учащихсяили, можно задать порядок ячейке E2 содержится содержат данный последовательный большого количества полей,- поиск ближайшего J2), второй -
- 8000. Это приведет табличной части создадим значениями). Условного форматирования приведено решение принципе, вместо 30и ближайшие размеры покупаемого значения из обоих данных листа, содержащих с«Найти далее» формирования результатов выдачи, формула, которая представляет набор символов даже часто требуется найти наименьшего числа, т.е. диапазон ячеек, где к завершающему результату: правило условного форматирования:В ячейку C2 вводим аналогичной задачи с
- можно указать любоеC4 товара к нашим столбцов совпадают с названия строк и6, чтобы перейти к
начиная с первого собой сумму ячеек внутри слова. Например, определенные данные, наименование введенные пользователем размеры мы ищем товарТеперь можно вводить любоеВыделите диапазон B6:J12 и формулу для получения использованием Условного форматирования. число, которое больше
из-за того, что размерам в таблице. соответствующими значениями искомых столбцов. С помощью пропусками в таблице нет, поисковой выдаче. столбца. A4 и C3. релевантным запросу в строки, и т.д. двери округлялись бы (столбец с товарами исходное значение, а выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное заголовка столбца таблицыДопустим ваш отчет содержит номера последней заполненной 725 не равно Размеры эти округляются. строк. Функция СУММПРОИЗВ()
мастера подстановок можно поэтому функция ВПРКак видим, программа ExcelВ графе Эта сумма равна
этом случае будет Очень неудобно, когда до ближайших наименьших в таблице - программа сама подберет
- форматирование»-«Правила выделения ячеек»-«Равно». который содержит это таблицу с большим позиции Исходного списка значению в В примере высота складывает результат перемножения найти остальные значения ищет первую запись представляет собой довольно«Область поиска» 10, и именно считаться слово «Направо». приходится просматривать огромное подходящих размеров из A2:A10), третий аргумент ближайшее число, котороеВ левом поле введите значение: количеством данных на (это нужно дляA4 23 округлилась до и использована вместо в строке, если со следующим максимальным простой, но вместеопределяется, среди каких это число отображается
Способ 2: поиск по указанному интервалу ячеек
Если вы зададите количество строк, чтобы таблицы. В нашем задает тип поиска содержит таблица. После значение $B$1, аПосле ввода формулы для множество столбцов. Проводить правильной сортировки функцией(723) и т.д. 50. Здесь формула СУММ() лишь для известно значение в значением, не превышающим
- с тем очень конкретно элементов производится в ячейке E2.
- в поисковике цифру найти нужное слово случае высота 500 (0 — точное чего выводит заголовок из правого выпадающего подтверждения нажимаем комбинацию визуальный анализ таких НАИМЕНЬШИЙ());На вкладке округлила в бОльшую того, чтобы не одном столбце, и 6. Она находит функциональный набор инструментов
Способ 3: Расширенный поиск
поиск. По умолчанию, Но, если мы «1», то в или выражение. Сэкономить округлилась бы до совпадение наименования, приблизительный столбца и название списка выберите опцию горячих клавиш CTRL+SHIFT+Enter,
таблиц крайне сложно.Функция НАИМЕНЬШИЙ() сортирует массивHome сторону, т.ч. мы использовать формулы массива. наоборот. В формулах, значение 5 и возвращает поиска. Для того, это формулы, то зададим в поиске ответ попадут ячейки, время и нервы 450, а ширина поиск запрещен). строки для текущего «Светло-красная заливка и так как формула А одним из номеров строк по(Главная) в группе в формуле написалиДля примера рассмотрим строку которые создает мастер связанное с ним чтобы произвести простейший есть те данные, цифру «4», то которые содержат, например, поможет встроенный поиск 480 до 300,
Во-вторых, совершенно аналогичным способом значения. Например, если темно-красный цвет» и должна быть выполнена заданий по работе возрастанию;
- команд – минус1(-1). Если 18 (2-я строка подстановок, используются функции имя писк, достаточно вызвать
- которые при клике среди результатов выдачи число «516». Microsoft Excel. Давайте и стоимость двери мы должны определить ввести число 5000 нажмите ОК. в массиве. Если
с отчетом являетсяФункция ДВССЫЛ() возвращает массивFont мы в формуле в большой таблице). ИНДЕКС и ПОИСКПОЗ.Алексей поисковое окно, ввести по ячейке отображаются будет все таДля того, чтобы перейти разберемся, как он была бы 135. порядковый номер столбца получаем новый результат:В ячейку B1 введите все сделано правильно – анализ данных последовательных чисел;(Шрифт) можно изменить вместо минус 1 Первое и второеЩелкните ячейку в диапазоне.. в него запрос, в строке формул. же ячейка E2. к следующему результату, работает, и как-1 в таблице сСкачать пример поиска значения значение 3478 и в строке формул
относительно заголовков строкФункция ИНДЕКС() возвращает текстовые цвет заливки выделенных напишем просто один выражения вернут массивы {ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ:ЛОЖЬ}На вкладкеДополнительные сведения см. в и нажать на Это может быть Как такое могло опять нажмите кнопку
им пользоваться.- поиск ближайшего нужным нам городом. в диапазоне Excel полюбуйтесь на результат. по краям появятся и столбцов касающихся значения из Исходного ячеек. (1), по формула и {ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ} соответственно. ПослеФормулы разделе, посвященном функции кнопку. Но, в
слово, число или получиться? Просто в«Найти далее»Скачать последнюю версию наибольшего числа, т.е. ФункцияНаша программа в ExcelКак видно при наличии фигурные скобки { определенного месяца. На списка, из строк,Урок подготовлен для Вас будет округлять в попарного перемножения элементовв группе ВПР. то же время, ссылка на ячейку. ячейке E2 в. Excel нестандартная высота 500ПОИСКПОЗ(J3; B1:F1; 0) нашла наиболее близкое дубликатов формула для }. первый взгляд это номера которых были командой сайта office-guru.ru меньшую сторону. массивов, он будетРешенияК началу страницы существует возможность настройки При этом, программа, качестве формулы содержитсяТак можно продолжать до
Поисковая функция в программе округлялась бы досделает это и значение 4965 для заголовков берет заголовок
В ячейку C2 формула весьма простое задание, получены на предыдущемИсточник: http://www.excel-easy.com/examples/row-differences.htmlВажно преобразован в {0:0:1:0:0}. Т.е.выберите командуДля выполнения этой задачи индивидуального поиска с выполняя поиск, видит адрес на ячейку тех, пор, пока Microsoft Excel предлагает
700, а ширина выдаст, например, для исходного – 5000. с первого дубликата вернула букву D но его нельзя шаге.
Перевел: Антон Андронов, чтобы в таблице строка 18 совпадаетПодстановка используются функции СМЕЩ большим количеством различных
только ссылку, а A4, который как отображение результатов не возможность найти нужные 480 — до
Киева Такая программа может по горизонтали (с — соответственный заголовок решить, используя однуВ предельном случае м.б.Автор: Антон Андронов с данными числа с третьей искомой. и ПОИСКПОЗ. параметров и дополнительных не результат. Об раз включает в начнется по новому текстовые или числовые 600 и стоимость, выбранного пользователем в
- пригодится для автоматического лева на право). столбца листа. Как стандартную функцию. Да, найдено столько жеНайдем текстовые значения, удовлетворяющие были отсортированы по строкой. Функция СУММПРОИЗВ() вернет 1.
Если командаПримечание: настроек. этом эффекте велась себя искомую цифру кругу. значения через окно составила бы уже желтой ячейке J3 решения разных аналитических А формула для видно все сходиться, конечно можно воспользоваться значений, сколько содержится заданному пользователем критерию. всем строкам иСОВЕТПодстановка
Данный метод целесообразно использовать
lumpics.ru
Поиск значений в списке данных
Автор: Максим Тютюшев речь выше. Для 4.В случае, если при «Найти и заменить». 462. Для бизнеса значение 4. задач при бизнес-планировании, получения названия (номера) значение 5277 содержится инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, в исходном списке Поиск будем осуществлять столбцам:: Для просмотра промежуточныхнедоступна, необходимо загрузить при поиске данныхПредположим, что требуется найти того, чтобы производитьНо, как отсечь такие,
В этой статье
запуске поисковой процедуры Кроме того, в так гораздо интереснее!
И, наконец, в-третьих, нам постановки целей, поиска строки берет номер
в ячейке столбца чтобы вызвать окно (когда все значения в диапазоне с
по возрастанию, если вычислений воспользуйтесь клавишей надстройка мастера подстановок.
в ежедневно обновляемом внутренний телефонный номер поиск именно по
и другие заведомо вы нажмете на приложении имеется возможность
Поиск значений в списке по вертикали по точному совпадению
:) нужна функция, которая рационального решения и с первого дубликата D. Рекомендуем посмотреть
Примеры функции ВПР
поиска значений на удовлетворяют критерию). Поэтому повторяющимися значениями. При
Примеры функций ИНДЕКС и ПОИСКПОЗ
ставим в формуле
F9.Загрузка надстройки мастера подстановок внешнем диапазоне данных. сотрудника по его результатам, по тем
неприемлемые результаты выдачи кнопку расширенного поиска данных.0 умеет выдавать содержимое т.п. А полученные по вертикали (сверху на формулу для листе Excel. Или
формулу массива нужно распространять наличии повторов, можно 1;
С помощью формулы массива =ПОИСКПОЗ(1;(B17=B$8:B$12)*(C17=C$8:C$12);0) найдем
Поиск значений в списке по вертикали по приблизительному совпадению
Нажмите кнопку Известна цена в
идентификационному номеру или данным, которые отображаются поиска? Именно для«Найти все»
Простой поиск данных в- поиск точного ячейки из таблицы строки и столбцы вниз). Для исправления получения целого адреса же создать для на диапазон той ожидать, что критериюпо уменьшению, если номер искомой строки.Microsoft Office столбце B, но узнать ставку комиссионного в ячейке, а этих целей существует, все результаты выдачи программе Excel позволяет
соответствия без каких по номеру строки позволяют дальше расширять
данного решения есть
Поиск значений по вертикали в списке неизвестного размера по точному совпадению
текущей ячейки. таблицы правило условного же размерности, что
будет соответствовать несколько ставим в формуле Формулу разместим в, а затем — неизвестно, сколько строк вознаграждения, предусмотренную за не в строке расширенный поиск Excel. будут представлены в найти все ячейки, либо округлений. Используется и столбца -
вычислительные возможности такого 2 пути:Теперь получим номер строки форматирования. Но тогда
и исходный список. значений. Для их -1. столбце Е. кнопку данных возвратит сервер, определенный объем продаж.
формул, нужно переставитьПосле открытия окна виде списка в в которых содержится для 100%-го совпадения функция рода отчетов сПолучить координаты первого дубликата для этого же нельзя будет выполнить Вышеуказанная формула массива вывода в отдельный
О других вариантах
Поиск значений в списке по горизонтали по точному совпадению
Также для каждой искомойПараметры Excel а первый столбец
Необходимые данные можно переключатель из позиции«Найти и заменить» нижней части поискового введенный в поисковое искомого значения с
ИНДЕКС (INDEX) помощью новых формул по горизонтали (с
значения (5277). Для
Поиск значений в списке по горизонтали по приблизительному совпадению
дальнейших вычислений с будет возвращать несколько
диапазон удобно использовать поиска читайте в строки можно определить,и выберите категорию
не отсортирован в быстро и эффективно«Формулы»любым вышеописанным способом, окна. В этом окно набор символов одним из значенийиз той же Excel.
лева на право). этого в ячейку полученными результатами. Поэтому
значений, поэтому перед
Создание формулы подстановки с помощью мастера подстановок (только Excel 2007)
формулы массива. статье «Поиск в если она вНадстройки алфавитном порядке. находить в спискев позицию жмем на кнопку
списке находятся информация (буквы, цифры, слова, в таблице. Естественно, категорииЕсли вы знакомы с Для этого только C3 введите следующую необходимо создать и вводом формулы нужноПусть Исходный список значений Excel». большой таблице. Это.C1 и автоматически проверять
-
«Значения»
-
«Параметры» о содержимом ячеек и т.д.) без применяется при поискеСсылки и массивы (Lookup функцией в ячейке С3
-
формулу: правильно применить соответствующую выделить сразу весь (например, перечень инструментов)
В таблице Excel
-
можно сделать сВ поле — это левая верхняя их правильность. Значения,. Кроме того, существует. с данными, удовлетворяющими учета регистра.
-
текстовых параметров (как and Reference)ВПР (VLOOKUP) следует изменить формулуПосле ввода формулы для формулу. диапазон, т.е. ячейки
-
находится в диапазоне можно выбрать информацию помощью функции =ЕСЛИ(ЕНД(ПОИСКПОЗ(A8;$E$17:$E$28;0));»»;»Да!»)Управление ячейка диапазона (также возвращенные поиском, можно возможность поиска поВ окне появляется целый
-
запросу поиска, указан
Находясь во вкладке
support.office.com
Поиск заданных строк в таблице MS EXCEL
в прошлом примере),. Первый аргумент этойили ее горизонтальным на: В результате подтверждения снова нажимаем
Схема решения задания выглядитС10:С19A10:A19 сразу по несколькимНайденные строки можно выделитьвыберите значение
называемая начальной ячейкой). затем использовать в примечаниям. В этом
ряд дополнительных инструментов их адрес расположения,«Главная» т.к. для них
функции — диапазон аналогом получаем правильные координаты
комбинацию клавиш CTRL+SHIFT+Enter примерно таким образом:, ввести формулу в(см. Файл примера). наименованиям и заполнить с помощью УсловногоНадстройки ExcelФормула вычислениях или отображать случае, переключатель переставляем для управления поиском. а также лист, кликаем по кнопке округление невозможно. ячеек (в нашемГПР (HLOOKUP) как для листа,
и получаем результат:в ячейку B1 мы Строке формул иВыведем в отдельный диапазон ими бланк. Подробнее форматирования.и нажмите кнопкуПОИСКПОЗ(«Апельсины»;C2:C7;0) как результаты. Существует в позицию По умолчанию все и книга, к«Найти и выделить»Важно отметить, что при случае это вся, то должны помнить, так и дляФормула вернула номер 9 будем вводить интересующие нажать
значения, которые удовлетворяют смотрите в статьеФункция «ИНДЕКС» в ExcelПерейтиищет значение «Апельсины» несколько способов поиска«Примечания» эти инструменты находятся которым они относятся., которая расположена на использовании приблизительного поиска таблица, т.е. B2:F10),
что эта замечательные таблицы: – нашла заголовок нас данные;
CRTL+SHIFT+ENTER критерию. Рассмотрим различные «Выбрать сразу многопоможет найти в
. в диапазоне C2:C7. значений в списке. в состоянии, как Для того, чтобы
ленте в блоке с округлением диапазон второй — номер
excel2.ru
Как найти в Excel ячейку на пересечении строки и столбца.
функции ищут информациюПолучить координаты первого дубликата строки листа пов ячейке B2 будет. варианты поиска. данных из таблицы таблице данные поВ области
Начальную ячейку не данных и отображенияЕщё более точно поиск при обычном поиске, перейти к любому инструментов поиска — а строки, третий - только по одному по вертикали (сверху соответствующему значению таблицы. отображается заголовок столбца,
Для скрытия ошибок #ССЫЛКА!,Для удобства создадим именованный
Excel». двум параметрам сразуДоступные надстройки следует включать в результатов. можно задать, нажав
но при необходимости
из результатов выдачи,
«Редактирование» значит и вся номер столбца (а параметру, т.е. в
вниз). Для этого В результате мы который содержит значение возвращаемой формулой массива, диапазон Список.Этот пример научит вас и по строке,установите флажок рядом этот диапазон.Поиск значений в списке на кнопку можно выполнить корректировку.
достаточно просто кликнуть. В появившемся меню
таблица — должна их мы определим
одномерном массиве -
только в ячейке имеем полный адрес ячейки B1 к диапазонуДиапазон может охватить в быстро выделять ячейки, и по столбцу с пунктом
1 по вертикали по«Формат»По умолчанию, функции по нему левой выбираем пункт быть отсортирована по с помощью функций по строке или С2 следует изменить значения D9.в ячейке B3 будетС10:С19 том числе и содержимое которых отличается и перенести этиМастер подстановок — это количество столбцов,
точному совпадению.«Учитывать регистр» кнопкой мыши. После«Найти…» возрастанию (для Типа
ПОИСКПОЗ). по столбцу. А формулу на:
отображается название строки,применено правило Условного
незаполненные ячейки перечня. от содержимого в данные в другуюи нажмите кнопку
которое нужно отсчитатьПоиск значений в спискеПри этом открывается окнои этого курсор перейдет. Вместо этих действий сопоставления = 1)Итого, соединяя все вышеперечисленное если нам необходимо
excel-office.ru
Как найти отличия по строкам в Excel
В данном случаи изменяемТеперь научимся получать по которая содержит значение форматирования. В дальнейшем пользователь
- сравниваемых ячейках. таблицу (бланк).ОК справа от начальной по вертикали по формата ячеек. Тут«Ячейки целиком» на ту ячейку можно просто набрать
или по убыванию в одну формулу, выбирать данные из формулы либо одну значению координаты не ячейки B1.В этом случае будут может расширить переченьВыделите диапазонНапример, у нас. ячейки, чтобы получить приблизительному совпадению можно установить форматотключены, но, если Excel, по записи на клавиатуре сочетание
- (для Типа сопоставления получаем для зеленой двумерной таблицы по либо другую, но целого листа, аФактически необходимо выполнить поиск выведены все значения, инструментов, указанные нижеA1:C15
- есть таблица спискаСледуйте инструкциям мастера. столбец, из которогоПоиск значений по вертикали ячеек, которые будут мы поставим галочки
- которой пользователь сделал клавиш = -1) по ячейки решение: совпадению сразу двух не две сразу. текущей таблицы. Одним координат в Excel.
- которые совпадают с формулы автоматически учтут, для этого щелкните товаров по разнымК началу страницы возвращается значение. В в списке неизвестного участвовать в поиске. около соответствующих пунктов, щелчок.
- Ctrl+F строчкам и по=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0)) параметров — и Стоит напомнить о словом, нам нужно Для чего это критерием (без учета
новые значения. по ячейке
филиалам магазина. Нам
Найдем заданные строки в
этом примере значение
office-guru.ru
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
размера по точному Можно устанавливать ограничения то в такомЕсли у вас довольно. столбцам.или в английском варианте по строке и том, что в найти по значению нужно? Достаточно часто РЕгиСТра). Критерий вводится
Выведем в отдельный диапазонA1 нужно выбрать - таблице. Строки состоят возвращается из столбца
Задача
совпадению по числовому формату, случае, при формировании масштабная таблица, то
А. Найти значения, которые содержат критерий
После того, как выИначе приблизительный поиск корректно
=INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0)) по столбцу одновременно? ячейке С3 должна 5277 вместо D9 нам нужно получить в ячейку все значения Исходногои протяните курсор
по какой цене из 2-х столбцов, DПоиск значений в списке по выравниванию, шрифту, результата будет учитываться в таком случае перешли по соответствующим работать не будет!
Слегка модифицируем предыдущий пример. Давайте рассмотрим несколько оставаться старая формула:
получить заголовки:
координаты таблицы по
E6
списка, в которых до ячейки продают хлеб в значения могут бытьПродажи по горизонтали по
- границе, заливке и введенный регистр, и не всегда удобно пунктам на ленте,Для точного поиска (Тип Предположим, что у жизненных примеров такихЗдесь правильно отображаются координатыдля столбца таблицы – значению. Немного напоминает.содержитсяC15 третьем филиале. Или, любыми.
- . точному совпадению защите, по одному точное совпадение. Если
- производить поиск по или нажали комбинацию сопоставления = 0) нас имеется вот задач и их первого дубликата по Март; обратный анализ матрицы.Для создания списка, содержащеготекст-критерий (например, слово. выбрать стоимость товараПусть имеется перечень изК началу страницыПоиск значений в списке из этих параметров,
- вы введете слово всему листу, ведь «горячих клавиш», откроется
- сортировка не нужна такая ситуация:
- решения. вертикали (с верхадля строки – Товар4. Конкретный пример в найденные значения, воспользуемся дрель). Критерий вводится
Примечание: (панели, двери, стекла) 5 строк, которыеДля выполнения этой задачи по горизонтали по или комбинируя их с маленькой буквы, в поисковой выдаче окно и никакой ролиИдея в том, чтоПредположим, что у нас в низ) –Чтобы решить данную задачу двух словах выглядит формулой массива: в ячейкуМы выбрали диапазон в зависимости от требуется найти в используется функция ГПР. приблизительному совпадению
вместе. то в поисковую может оказаться огромное«Найти и заменить» не играет. пользователь должен ввести
Б. Найти значения, которые совпадают с критерием (точное совпадение)
имеется вот такой I7 для листа будем использовать формулу примерно так. Поставленная=ИНДЕКС(Список; НАИМЕНЬШИЙ(С6A1:C15 ширины и высоты.
таблице MS EXCEL. См. пример ниже.Создание формулы подстановки с
Если вы хотите использовать
выдачу, ячейки содержащие
количество результатов, которые
B. Найти значения, которые начинаются с критерия
во вкладкеВ комментах неоднократно интересуются в желтые ячейки двумерный массив данных и Август; Товар2 с уже полученными цель в цифрахЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);
., сначала нажав наУ нас есть
Предполагается, что строки
Функция ГПР выполняет поиск
помощью мастера подстановок
Г. Найти значения, которые заканчиваются на критерий
формат какой-то конкретной написание этого слова в конкретном случае«Найти» — а как высоту и ширину по городам и для таблицы. Оставим
значениями в ячейках является исходным значением,СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))
Для создания списка, содержащего
ячейку
такая таблица.
не повторяются.
по столбцу (только Excel 2007) ячейки, то в с большой буквы, не нужны. Существует. Она нам и сделать обратную операцию, двери для, например, товарам: такой вариант для C2 и C3. нужно определить кто
excel2.ru
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
В этом случае будут найденные значения, воспользуемсяA1В ячейке рядом сБудем искать эти строкиПродажиДля решения этой задачи нижней части окна как это было способ ограничить поисковое нужна. В поле т.е. определить в шкафа, которую онПользователь вводит (или выбирает следующего завершающего примера. Для этого делаем и когда наиболее выведены все значения, формулой массива:, поэтому она является таблицей вводим формулу. в большой таблицеи возвращает значение можно использовать функцию нажмите на кнопку бы по умолчанию, пространство только определенным«Найти» первом примере город хочеть заказать у из выпадающих списков)Данная таблица все еще
Поиск значения в массиве Excel
так: приближен к этой
- которые начинаются или=ИНДЕКС(Список; НАИМЕНЬШИЙ( активной, и сравнение
- У нас, в (см. файл примера). из строки 5 в ВПР или сочетание
- «Использовать формат этой ячейки…» уже не попадут. диапазоном ячеек.вводим слово, символы,
и товар если компании-производителя, а в в желтых ячейках не совершенна. ВедьДля заголовка столбца. В цели. Для примера совпадают с критерием.ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); будет происходить с примере, в ячейкуСтроки считаются совпадающими, когда указанном диапазоне. функций ИНДЕКС и. Кроме того, еслиВыделяем область ячеек, в или выражения, по мы знаем значение серой ячейке должна нужный товар и при анализе нужно ячейку D2 введите используем простую матрицу Критерий вводится вСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) ячейками из столбца G5 вводим такую их значения вДополнительные сведения см. в ПОИСКПОЗ.После этого, появляется инструмент включена функция которой хотим произвести
которым собираемся производить из таблицы? Тут появиться ее стоимость город. В зеленой
Поиск значения в столбце Excel
точно знать все формулу: На этот данных с отчетом ячейку
- Алгоритм работы формулы следующийА формулу. обоих столбцах попарно разделе, посвященном функцииДополнительные сведения см. в в виде пипетки.«Ячейки целиком» поиск. поиск. Жмем на потребуются две небольшие
- из таблицы. Важный ячейке нам нужно ее значения. Если раз после ввода по количеству проданных
- G6 (для просмотра промежуточных. С помощью клавиш=ЕСЛИОШИБКА(ИНДЕКС(B3:D7;ПОИСКПОЗ(G3;A3:A7;0);ПОИСКПОЗ(G4;B2:D2;0));»») совпадают. ГПР. разделе, посвященном функции С помощью него, то в выдачуНабираем на клавиатуре комбинацию кнопку
формулы массива (не нюанс в том, формулой найти и введенное число в формулы для подтверждения товаров за три. шагов работы формулыEnterПолучилось так.Для поиска совпадений будем
Поиск значения в строке Excel
К началу страницы ВПР. можно выделить ту будут добавляться только клавиш«Найти далее»
забудьте ввести их что если пользователь вывести число из ячейку B1 формула
жмем как по квартала, как показаноДля создания списка, содержащего воспользуйтесь клавишейиВ зеленые ячейки написали использовать формулу =СУММПРОИЗВ((B17=B$8:B$12)*(C17=C$8:C$12)) Формулу разместим
Для выполнения этой задачи
Как получить заголовок столбца и название строки таблицы
Что означает: ячейку, формат которой элементы, содержащие точноеCtrl+F, или на кнопку с помощью сочетания вводит нестандартные значения таблицы, соответствующее выбранным
- не находит в традиции просто Enter:
- ниже на рисунке.
найденные значения, воспользуемсяF9Tab искомые данные, в в столбце D. используется функция ГПР.=ИНДЕКС(нужно вернуть значение из
- вы собираетесь использовать. наименование. Например, если, после чего запуститься«Найти всё» клавиш размеров, то они параметрам. Фактически, мы
- таблице, тогда возвращаетсяДля строки вводим похожую, Важно, чтобы все
формулой массива:):можно сменить активную ячейке G5 появился
Формула работает следующим образом.Важно: C2:C10, которое будетПосле того, как формат вы зададите поисковый знакомое нам уже.Ctrl+Shift+Enter должны автоматически округлиться хотим найти значение ошибка – #ЗНАЧ!
Поиск одинаковых значений в диапазоне Excel
но все же числовые показатели совпадали.=ИНДЕКС(Список;НАИМЕНЬШИЙ(Функция ПОИСК(), перебирая элементы ячейку. результат. Выражение B17=B$8:B$12 сравнивает текущее Значения в первой соответствовать ПОИСКПОЗ(первое значение
поиска настроен, жмем запрос «Николаев», то окно
- При нажатии на кнопку, а не обычного до ближайших имеющихся
- ячейки с пересечения Идеально было-бы чтобы немного другую формулу: Если нет желанияЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); исходного списка, определяет,Нажмите кнопку
- В этом примере значение первого столбца строке должны быть
«Капуста» в массиве на кнопку ячейки, содержащие текст«Найти и заменить»«Найти далее»Enter в таблице и определенной строки и формула при отсутствииВ результате получены внутренние вручную создавать иСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) содержится ли вFind & Select
- мы вводим точные большой таблицы со отсортированы по возрастанию. B2:B10))«OK» «Николаев А. Д.»,. Дальнейшие действия точномы перемещаемся к): в серой ячейке столбца в таблице.
- в таблице исходного координаты таблицы по заполнять таблицу ExcelВ этом случае будут нем значение-критерий. Если(Найти и выделить)
данные для поиска, всеми значениями первогоВ приведенном выше примереФормула ищет в C2:C10. в выдачу уже такие же, что первой же ячейке,
Принцип их работы следующий: должна появиться стоимость Для наглядности, разобъем числа сама подбирала значению – Март; с чистого листа, выведены все значения, значение не содержится, на вкладке
Поиск ближайшего значения в диапазоне Excel
которые у нас столбца искомых строк, функция ГПР ищет первое значение, соответствующееБывают случаи, когда нужно добавлены не будут. и при предыдущем где содержатся введенныеперебираем все ячейки в изготовления двери для задачу на три ближайшее значение, которое Товар 4: то в конце которые заканчиваются или то возвращается ошибкаHome в таблице. Но, и возвращает массив значение 11 000 в строке 3
значению произвести поиск неПо умолчанию, поиск производится способе. Единственное отличие группы символов. Сама диапазоне B2:F10 и этих округленных стандарных этапа. содержит таблица. ЧтобыНа первый взгляд все статьи можно скачать совпадают с критерием. #ЗНАЧ! В противном(Главная) и кликните часто поиски нужно логических значений {ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}. 5 в указанном диапазоне.Капуста
по конкретному словосочетанию, только на активном будет состоять в ячейка становится активной. ищем совпадение с размеров.Во-первых, нам нужно определить создать такую программу работает хорошо, но уже с готовым Критерий вводится в
случае возвращается числовое по
вести по примерным значений ЛОЖЬ означает, Значение 11 000 отсутствует, поэтому(B7), и возвращает а найти ячейки, листе Excel. Но, том, что поискПоиск и выдача результатов искомым значением (13)Решение для серой ячейки номер строки, соответствующей для анализа таблиц что, если таблица примером. ячейку значение, соответствующее номеруGo To Special
exceltable.com
Двумерный поиск в таблице (ВПР 2D)
данным. Например, покупают что значение 1,2 она ищет следующее значение в ячейке в которых находятся если параметр выполняется только в производится построчно. Сначала из ячейки J4 будет практически полностью выбранному пользователем в в ячейку F1 будет содержат 2Последовательно рассмотрим варианты решенияI6 начальной позиции вхождения(Выделить группу ячеек). не ровно метр, из В17 не максимальное значение, не C7 ( поисковые слова в«Искать» указанном интервале ячеек. обрабатываются все ячейки
Пример 1. Найти значение по товару и городу
с помощью функции аналогично предыдущему примеру: желтой ячейке товару. введите новую формулу: одинаковых значения? Тогда
разной сложности, а. критерия в значениеВыберите а 86 см. найдено в диапазоне B$8:B$12, превышающее 11 000, и возвращает100 любом порядке, даже,вы переведете вКак уже говорилось выше, первой строки. ЕслиЕСЛИ (IF)=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1)) Это поможет сделатьПосле чего следует во могут возникнуть проблемы
- в конце статьиДля создания списка, содержащего из списка (здесьRow differences В таком случае, состоящем из 5 10 543.). если их разделяют позицию при обычном поиске данные отвечающие условиюкогда нашли совпадение, то=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1)) функция всех остальных формулах с ошибками! Рекомендуем – финальный результат. найденные значения, воспользуемся нам не важен(Отличия по строкам) формулу напишем по-другому. значений, т.к. значениеДополнительные сведения см. вДополнительные сведения см. в другие слова и«В книге» в результаты выдачи найдены не были, определяем номер строкиРазница только в последнем
- ПОИСКПОЗ (MATCH) изменить ссылку вместо также посмотреть альтернативноеСначала научимся получать заголовки формулой массива: номер позиции, важно, и нажмитеУ нас такая не встречается в разделе, посвященном функции разделах, посвященных функциям символы. Тогда данные, то поиск будет
- попадают абсолютно все программа начинает искать (столбца) первого элемента аргументе обеих функцийиз категории B1 должно быть решение для поиска столбцов таблицы по=ИНДЕКС(Список;НАИМЕНЬШИЙ( что это число);ОК таблица. первом столбце искомых ГПР. ИНДЕКС и ПОИСКПОЗ. слова нужно выделить производиться по всем ячейки, содержащие последовательный во второй строке, в таблице вПОИСКПОЗ (MATCH)Ссылки и массивы (Lookup F1! Так же
столбцов и строк значению. Для этогоЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);Функция ЕСЛИОШИБКА() используется для
.
В ячейку G14 строк.
Пример 2. Приблизительный двумерный поиск
К началу страницыК началу страницы с обеих сторон листам открытого файла.
набор поисковых символов и так далее, этой строке (столбце)- and Reference) нужно изменить ссылку по значению. выполните следующие действия:СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) подавления ошибки #ЗНАЧ!В строке 2: Excel пишем такую формулу.Аналогично, второе выражение ищетПримечание:Для выполнения этой задачи знаком «*». ТеперьВ параметре в любом виде пока не отыщет с помощью функцийТипу сопоставления. В частности, формула в условном форматировании.
Чтобы проконтролировать наличие дубликатовВ ячейку B1 введитеСОВЕТ:
заменяя ее на
выделяет ячейку
=ИНДЕКС(B12:D14;ПОИСКПОЗ(G12;B11:D11;-1);ПОИСКПОЗ(G13;A12:A14;-1)) совпадения во втором Поддержка надстройки «Мастер подстановок» используется функция ВПР. в поисковой выдаче«Просматривать» не зависимо от удовлетворительный результат.СТОЛБЕЦ (COLUMN)(здесь он равенПОИСКПОЗ(J2; A2:A10; 0) Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление среди значений таблицы значение взятое из
- О поиске текстовых число 0;B2Теперь вводим высоту столбце. Далее, значения в Excel 2010Важно: будут отображены всеможно изменить направление регистра.Поисковые символы не обязательнои минус 1). Этодаст нам нужный
- правилами»-«Изменить правило». И создадим формулу, которая таблицы 5277 и значений с использованиемФункция ЕСЛИ() заменяет числовые, потому что 523 и ширину товара. попарно перемножаются (при прекращена. Эта надстройка Значения в первой ячейки, в которых поиска. По умолчанию,
- К тому же, в должны быть самостоятельнымиСТРОКА (ROW) некий аналог четвертого результат (для здесь в параметрах сможет информировать нас выделите ее фон подстановочных знаков читайте значения, возвращенные функцией не равно значению Получилось так. этом ЛОЖЬ преобразуется
была заменена мастером строке должны быть находятся данные слова как уже говорилось выдачу может попасть элементами. Так, есливыдергиваем значение города или аргумента функцииЯблока укажите F1 вместо о наличии дубликатов синим цветом для в статье Поиск ПОИСК(), на номер в ячейкеПри высоте 23 и
в 0, а функций и функциями отсортированы по возрастанию. в любом порядке. выше, поиск ведется
P.S. Обратная задача
не только содержимое в качестве запроса товара из таблицыВПР (VLOOKUP) — Интервальногоэто будет число B1. Чтобы проверить и подсчитывать их читабельности поля ввода текстовых значений в позиции значения вA2 ширине 100 получилась ИСТИНА в 1). для работы соВ приведенном выше примереКак только настройки поиска по порядку построчно.
конкретной ячейки, но
- будет задано выражение с помощью функции просмотра (Range Lookup) 6). Первый аргумент работу программы, введите количество. Для этого (далее будем вводить
- списках. Часть2. Подстановочные списке. Если значение(522). цена, ближайшая к Знак умножения эквивалентен ссылками и массивами. функция ВПР ищет установлены, следует нажать Переставив переключатель в
- и адрес элемента, «прав», то вИНДЕКС (INDEX). Вообще говоря, возможных
planetaexcel.ru
этой функции -
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«СОДЕРЖИТ» , чтобы применить какое-либо условие, в зависимости от того, есть ли в текстовой строке кусок слова , или отрицание, или часть наименования контрагента, особенно при нестандартном заполнении реестров вручную.
Такой функционал возможно получить с помощью сочетания двух обычных стандартных функций – ЕСЛИ и СЧЁТЕСЛИ .
Рассмотрим пример автоматизации учета операционных показателей на основании реестров учета продаж и возвратов (выгрузки из сторонних программ автоматизации и т.п.)
У нас есть множество строк с документами Реализации и Возвратов .
Все документы имеют свое наименование за счет уникального номера .
Нам необходимо сделать признак « Только реализация » напротив документов продажи, для того, чтобы в дальнейшем включить этот признак в сводную таблицу и исключить возвраты для оценки эффективности деятельности отдела продаж.
Выражение должно быть универсальным , для того, чтобы обрабатывать новые добавляемые данные .
В открывшемся окне аргументов, в поле Лог_выражение вводим СЧЁТЕСЛИ() , выделяем его и нажимаем 2 раза fx.
Такая запись даст возможность не думать о том, с какой стороны написано слово реализация (до или после номера документа), а также даст возможность включить в расчет сокращенные слова «реализ.» и «реализац.»
Теперь мы можем работать и сводить данные только по документам реализации исключая возвраты . При дополнении таблицы новыми данными, остается только протягивать строку с нашим выражением и обновлять сводную таблицу.
Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)
Проверка ячейки на наличие текста (без учета регистра)
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Допустим, вы хотите убедиться, что столбец имеет текст, а не числа. Или перхапсйоу нужно найти все заказы, соответствующие определенному продавцу. Если вы не хотите учитывать текст верхнего или нижнего регистра, есть несколько способов проверить, содержит ли ячейка.
Вы также можете использовать фильтр для поиска текста. Дополнительные сведения можно найти в разделе Фильтрация данных.
Поиск ячеек, содержащих текст
Чтобы найти ячейки, содержащие определенный текст, выполните указанные ниже действия.
Выделите диапазон ячеек, которые вы хотите найти.
Чтобы выполнить поиск на всем листе, щелкните любую ячейку.
На вкладке Главная в группе Редактирование нажмите кнопку найти _амп_и выберите пункт найти.
В поле найти введите текст (или числа), который нужно найти. Вы также можете выбрать последний поисковый запрос из раскрывающегося списка найти .
Примечание: В критериях поиска можно использовать подстановочные знаки.
Чтобы задать формат поиска, нажмите кнопку Формат и выберите нужные параметры в всплывающем окне Найти формат .
Нажмите кнопку Параметры , чтобы еще больше задать условия поиска. Например, можно найти все ячейки, содержащие данные одного типа, например формулы.
В поле внутри вы можете выбрать лист или книгу , чтобы выполнить поиск на листе или во всей книге.
Нажмите кнопку найти все или Найти далее.
Найдите все списки всех вхождений элемента, который нужно найти, и вы можете сделать ячейку активной, выбрав определенное вхождение. Вы можете отсортировать результаты поиска » найти все «, щелкнув заголовок.
Примечание: Чтобы остановить поиск, нажмите клавишу ESC.
Проверка ячейки на наличие в ней текста
Для выполнения этой задачи используйте функцию текст .
Проверка соответствия ячейки определенному тексту
Используйте функцию Если , чтобы вернуть результаты для указанного условия.
Проверка соответствия части ячейки определенному тексту
Для выполнения этой задачи используйте функции Если, Поиски функция номер .
Примечание: Функция Поиск не учитывает регистр.
Как в excel строки, содержащие текст «N», сделать последовательно?
Есть документ excel. Там много строк. В некоторых строках, в определённой ячейке совпадает слово, скажем — «TheWord», но данные строки разрознены по всей таблице. Как эти строки сделать в последовательности?
Например есть 10 строк со словом «Table» в ячейке, а есть 10 слов со словом «Street», причем в одной ячейке два этих слова встречаться не могут. Так вот, эти строки расположены чередой (сначала строка со словом Table, затем со словом Street, затем снова Table и т.д.). Нужно чтобы сначала шли 10 строк со словом Table, а затем 10 строк со словом Street.
- Вопрос задан более трёх лет назад
- 2718 просмотров
Реализация может быть различной.
Зависит, в частности, от того, сколько в таблице столбцов, в которых нужно искать слово — один или более; сколько искомых слов (например, если их много, то IF использовать будет неудобно, а то и невозможно). Предположим, что столбец один, и это столбец А, а искомых слов — два, Table и Street.
Создайте дополнительный столбец B с формулой, например,
Протяните ее вниз параллельно исходным данным. Тогда в столбец B будут выбраны ключевые слова TableStreet для каждой строки, и other, если строка не содержит ни одного ключевого значения.
Теперь можно выделить столбцы A и B, и отсортировать по значениям столбца B.
Если ключевых слов больше, то ввиду ограничения числа вложенности функции IF такой подход не пойдет. Тогда лучше использовать вариант с функцией CHOOSE:
Работает так же — протягиваете, сортируете по второму столбцу.
Каждое новое ключевое слово добавляете к первому аргументу CHOOSE как элемент
+ISNUMBER(SEARCH(«keyword_n+1»;A1))*[index+1]
где keyword_n+1 — иcкомое ключевое слово, а [index+1] — следующий по порядку индекс. В итоге первый аргумент CHOOSE сводится к числовому значению, равному индексу искомого элемента*. В конце формулы идет перечень значений, выдаваемых по этому индексу. Новое ключевое слово как текстовую строку добавляете туда в конец.
Внимание, в отличие от первого способа, при отсутствии в тексте строки ключевых слов выдает ошибку «#VALUE!» (вместо «other», как в предыдущем примере).
* Корректно работает при условии, что в строке не могут встречаться более одного ключевого слова одновременно. Если у вас будет строка, где есть и Street, и Table, получится фигня. Это же касается и предыдущего способа.
Текстовые функции Excel
ФИО, номера банковских карт, адреса клиентов или сотрудников, комментарии и многое другое –все это является строками, с которыми многие сталкиваются, работая с приложением Excel. Поэтому полезно уметь обрабатывать информацию подобного типа. В данной статье будут рассмотрены текстовые функции в Excel, но не все, а те, которые, по мнению office-menu.ru, самые полезные и интересные:
Список всех текстовых функций Вы можете найти на вкладке «Формулы» => выпадающий список «Текстовые»:
Функция ЛЕВСИМВ
Возвращает подстроку из текста в порядке слева направо в заданном количестве символов.
Синтаксис: =ЛЕВСИМВ(текст; [количество_знаков])
- текст – строка либо ссылка на ячейку, содержащую текст, из которого необходимо вернуть подстроку;
- количество_знаков – необязательный аргумент. Целое число, указывающее, какое количество символов необходимо вернуть из текста. По умолчанию принимает значение 1.
Пример использования:
Формула: =ЛЕВСИМВ(«Произвольный текст»;8) – возвращенное значение «Произвол».
Функция ПРАВСИМВ
Данная функция аналогична функции «ЛЕВСИМВ», за исключением того, что знаки возвращаются с конца строки.
Пример использования:
Формула: =ПРАВСИМВ(«произвольный текст»;5) – возвращенное значение «текст».
Функция ДЛСТР
С ее помощью определяется длина строки. В качестве результата возвращается целое число, указывающее количество символов текста.
Синтаксис: =ДЛСТР(текст)
Пример использования:
Функция НАЙТИ
Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».
Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])
- искомый_текст – строка, которую необходимо найти;
- текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
- нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.
Пример использования:
Из отрывка стихотворения великого поэта С.А.Есенина находим вхождение первого символа строки «птица». Поиск осуществляется с начала строки. Если в приведенном примере поиск осуществлялся бы с 40 символа, то функция в результате вернула ошибку, т.к. позиции вхождения не было найдено.
Функция ЗАМЕНИТЬ
Данная функция заменяет часть строки в заданном количестве символов, начиная с указанного по счету символа на новый текст.
Синтаксис: ЗАМЕНИТЬ(старый_текст; начальная_позиция; количество_знаков; новый_текст)
- старый_текст – строка либо ссылка на ячейку, содержащую текст;
- начальная_позиция – порядковый номер символа слева направо, с которого нужно производить замену;
- количество_знаков – количество символов, начиная с начальная_позиция включительно, которые необходимо заменить новым текстом;
- новый_текст – строка, которая подменяет часть старого текста, заданного аргументами начальная_позиция и количество_знаков.
Пример использования:
Здесь в строке, содержащейся в ячейке A1, подменяется слово «старый», которое начинается с 19-го символа и имеет длину 6 символов, на слово «новый».
В случае обработки небольшого количества ячеек такой способ вполне приемлем. Но если обработать необходимо несколько тысяч различных строк, то процесс составления формул станет трудоемким. Поэтому переделаем рассмотренный пример, используя знания по тем функциям, которые уже описаны в начале статьи, а именно:
- Аргумент «начальная_позиция» подменим функцией «НАЙТИ»;
- В место аргумент «количество_знаков» вложим функцию «ДЛСТР».
В результате получим формулу: =ЗАМЕНИТЬ(A1;НАЙТИ(«старый»;A1);ДЛСТР(«старый»);»новый»)
Посмотрите на принтскрин окна функции. Возвращаемые результаты аргументов не поменялись, зато теперь их можно определять динамически, составив формулу один раз.
Функция ПОДСТАВИТЬ
Данная функция заменяет в тексте вхождения указанной подстроки на новый текст, чем схожа с функцией «ЗАМЕНИТЬ», но между ними имеется принципиальное отличие. Если функция «ЗАМЕНИТЬ» меняет текст, указанный посимвольно вручную, то функция «ПОДСТАВИТЬ» автоматически находит вхождения указанной строки и меняет их.
Синтаксис: ПОДСТАВИТЬ(текст; старый_текст; новый_текст; [номер_вхождения])
- текст – строка или ссылка на ячейку, содержащую текст;
- старый_текст – подстрока из первого аргумента, которую необходимо заменить;
- новый_текст – строка для подмены старого текста;
- номер_вхождения – необязательный аргумент. Принимает целое число, указывающее порядковый номер вхождения старый_текст, которое подлежит замене, все остальные вхождения затронуты не будут. Если оставить аргумент пустым, то будут заменены все вхождения.
Пример использования:
Строка в ячейке A1 содержит текст, в котором имеются 2 подстроки «старый». Нам необходимо подставить на место первого вхождения строку «новый». В результате часть текста «…старый-старый…», заменяется на «…новый-старый…».
Если ли бы последний аргумент был опущен, то результатом бы стала строка «строка, содержащая новый-новый текст».
Функция ПСТР
ПСТР возвращает из указанной строки часть текста в заданном количестве символов, начиная с указанного символа.
Синтаксис: ПСТР(текст; начальная_позиция; количество_знаков)
- текст – строка или ссылка на ячейку, содержащую текст;
- начальная_позиция – порядковый номер символа, начиная с которого необходимо вернуть строку;
- количество_знаков – натуральное целое число, указывающее количество символов, которое необходимо вернуть, начиная с позиции начальная_позиция.
Пример использования:
Из текста, находящегося в ячейке A1 необходимо вернуть последние 2 слова, которые имеют общую длину 12 символов. Первый символ возвращаемой фразы имеет порядковый номер 12.
Аргумент количество_знаков может превышать допустимо возможную длину возвращаемых символов. Т.е. если в рассмотренном примере вместо количество_знаков = 12, было бы указано значение 15, то результат не изменился, и функция так же вернула строку «функции ПСТР».
Для удобства использования данной функции ее аргументы можно подменить функциями «НАЙТИ» и «ДЛСТР», как это было сделано в примере с функцией «ЗАМЕНИТЬ».
Функция СЖПРОБЕЛЫ
Данная функция удаляется все лишние пробелы: пробелы по краям и двойные пробелы между словами. После обработки строк функцией остаются только одиночные пробелы между словами.
Синтаксис: =СЖПРОБЕЛЫ(текст)
Пример использования:
=СЖПРОБЕЛЫ( » Текст с лишними пробелами между словами и по краям « )
Результатом выполнения функции будет строка: «Текст с лишними пробелами между словами и по краям» .
Функция СЦЕПИТЬ
С помощью функции «СЦЕПИТЬ» можно объединить несколько строк между собой. Максимальное количество строк для объединения – 255.
Синтаксис: =СЦЕПИТЬ(текст1; [текст2]; …)
Функция должна содержать не менее одного аргумента
Пример использования:
Функция возвратит строку: «Слово1 Слово2».
Не забывайте, что функция самостоятельно не добавляет пробелы между строками, поэтому добавлять их приходится самостоятельно.
Вместо использования данной функции можно применять знак амперсанда «&». Он так же объединяет строки. Например: «=»Слово1″&» «&«Слово2″».
Есть ли слово в списке MS EXCEL
Найдем слово в диапазоне ячеек, удовлетворяющее критерию: точное совпадение с критерием, совпадение с учетом регистра, совпадение лишь части символов из слова и т.д.
Пусть Список значений, в котором производится поиск содержит только отдельные слова (см. столбец А на рисунке ниже).
Совет: О поиске слова в списках, состоящих из текстовых строк (т.е. в ячейке содержится не одно слово, а несколько, разделенных пробелами) можно прочитать в статье Выделение ячеек c ТЕКСТом с применением Условного форматирования в MS EXCEL.
Задачу поиска текстового значения в диапазоне ячеек можно разбить на несколько типов:
- ищутся значения в точности совпадающие с критерием;
- ищутся значения содержащие критерий;
- ищутся значения с учетом РЕгиСТра.
Ищутся значения в точности соответствующие критерию
Это простейший случай. Здесь можно использовать формулу наподобие нижеуказанной
=СЧЁТЕСЛИ($A$5:$A$11;»яблоки»)
Формула возвращает количество найденных значений, соответствующих критерию (см. файл примера ).
Ищутся значения содержащие часть текстовой строки
Типичный вопрос для этого типа поиска: Есть ли в Списке слово со слогом МА?
Для ответа на вопросы такого типа требуется задать в качестве критерия часть текстового значения. Например, для отбора всех ячеек, содержащих все склонения слова яблоко (яблоку, яблоком, яблока и пр.) можно использовать критерии с подстановочным знаком * (звездочка). Для этого нужно использовать конструкцию *яблок*.
Типичная формула =СЧЁТЕСЛИ($A$5:$A$11;»*МА*»)
Ищутся значения с учетом РЕгиСТрА
Учет регистра приводит к необходимости создания сложных формул или использования дополнительных столбцов. Чаще всего используются формулы на основе функций учитывающих регистр НАЙТИ() , СОВПАД() .
Формула массива =ИЛИ(СОВПАД(«яблоки»;A5:A11)) дает ответ на вопрос есть ли такой элемент в списке.
СОВЕТ:
Идеи о поиске также можно посмотреть в статье Поиск текстовых значений в списках. Часть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
применено правило
Условного форматирования
.
Б. Найти значения, которые совпадают с критерием (точное совпадение)
В этом случае будут выведены все значения, которые совпадают с критерием (без
учета РЕгиСТра
). Критерий вводится в ячейку
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 ТЕКСТом с применением Условного форматирования
приведено решение аналогичной задачи с использованием
Условного форматирования
.
Поиск нужных данных в диапазоне
Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.
Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:
Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.
Задача решается при помощи двух функций:
=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)
Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.
Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец).
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
- Улучшенная версия функции ВПР (VLOOKUP)
- Многоразовый ВПР
Привет. Наверное чаще всего в Эксель я использую набор формул, призванный по заданному мною тексту находить соответствие в ячейке и отмечать их либо копировать в соседний столбец. Очень удобно использовать для сортировки столбцов данных, когда нужно сделать её быстро без загрузки в Power Query или какой-то дополнительной обработки.
Расскажу подробнее про это и в конце отдам шаблон.
Формула для поиска значения ячейки Эксель
На скрине выше, видно, что в столбец с фильтром попадают только ячейки, содержащие упоминание цены. А в столбец без фильтра, все прочие — это сделано для того, чтобы в дальнейшем удобно было забирать найденные значения и использовать в работе.
Если открыть строку формул, то мы увидим следующее →
Не пугайтесь, всё намного проще, чем кажется. Сейчас всё расскажу.
Центральная формула состоит из следующих значений и будет выглядеть так:
=if(isnumber(find("цены",А3)),А3,"")
- Функция find ищет заданный нами текст “цена” в выбранной ячейке А3. Далее если находит, то она возвращает номер символа с которого начинается совпадение. Если не находит, то далее весь цикл формул не работает и на выходе получаем пустое значение в скобочках “” от функции if;
- Функция isnumber принимает на вход только числа, соответственно если find нашла искомое значение и отдала цифру, то функция срабатывает и продолжает цикл if, если нет, то опять получаем пустое значение в скобочках “” от функции if;
- Функция if если предыдущая функция isnumber срабатывает, возвращает нам значение ячейки A3, если нет, то пустое значение “”.
Таким образом, там где есть упоминание “цена” мы получаем обратно эти ячейки. Для обычного поиска единственного совпадения этой формулы достаточно за глаза, но в нашем примере нужно найти все коммерческие запросы. Именно для этого мы используем перебор разных значений, как на этом скрине.
Это делается с помощью копирования строки. Но, очень важно, при копировании новой строки мы добавляем новую закрывающую скобочку в конец формулы.
Шаблон поиска совпадений по значению в ячейке
Чтобы вам не искать и не копировать формулу, я сделал шаблон для этой формулы. Он лежит в Гугл Таблице с двумя вариантами работы, совсем просто, где нужно ввести искомое значение в ячейку, вставить список слов и всё сработает само.
И второй, о котором писал для перебора нескольких совпадений.
Шаблон лежит тут, пользуйтесь на здоровье. А также следите за новостями в моём канале.
Также по теме ряд прошлых статей:
Время на прочтение
16 мин
Количество просмотров 236K
Добрый день, уважаемые хаброжители!
Время от времени некоторым (а может и более, чем некоторым) из нас приходится сталкиваться с задачами по обработке небольших массивов данных, начиная от составления и анализа домашнего бюджета и заканчивая какими-либо расчетами по работе, учебе и т.д. Пожалуй, наиболее подходящим инструментом для этого является Microsoft Excel (или возможно иные его аналоги, но они менее распространены).
Поиск выдал мне всего одну статью на Хабре по схожей тематике — «Талмуд по формулам в Google SpreadSheet». В ней дано хорошее описание базовых вещей для работы в excel (хотя он и не 100% про сам excel).
Таким образом, накопив определенный пул запросов/задач, появилась идея их типизировать и предложить возможные решения (пусть не все возможные, но быстро дающие результат).
Речь пойдет о решении наиболее распространенных задач, с которыми сталкиваются пользователи.
Описание решений построено следующим образом – дается кейс, содержащий исходное задание, которое постепенно усложняется, к каждому шагу дано развернутое решение с пояснениями. Наименования функций будут даваться на русском языке, но в скобках при первом упоминании будет приводиться оригинальное наименование на английском языке (т.к. по опыту у подавляющего большинства пользователей установлена русскоязычная версия).
Кейс_1: Логические функции и функции поиска совпадений
«У меня есть набор значений в табличке и необходимо что бы при выполнении определенного условия/набора условий выводилось определенное значение» (с) Пользователь
Данные, как правило, представлены в табличной форме:
Условие:
- если значение в столбце «Количество» больше 5,
- то нужно вывести в колонке «Результат» значение «Заказ не требуется»,
В этом нам поможет формула «ЕСЛИ» (IF), которая относится к логическим формулам и может выдавать в решении любые значения, которые мы заранее записываем в формуле. Обращаю внимание, что любые текстовые значения записываются, используя кавычки.
Синтаксис формулы следующий:
ЕСЛИ(лог_выражение, [значение_если_истина], [значение_если_ложь])
- Лог_выражение — выражение, дающее в результате значение ИСТИНА или ЛОЖЬ.
- Значение_если_истина — значение, которое выводится, если логическое выражение истинно
- Значение_если_ложь — значение, которое выводится, если логическое выражение ложно
Синтаксис формулы для решения:
Вывод результата в ячейку D2:
=ЕСЛИ(C5>5;«Заказ не требуется»;«Необходим заказ»)
На выходе получаем результат:
Бывает, что условие носит более сложный характер, например выполнение 2-х и более условий:
- если значение в столбце «Количество» больше 5, а значение в колонке «Тип» равно «А»
- то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».
В данном случае мы уже не можем ограничиться использованием одной только формулы «ЕСЛИ», необходимо добавить в ее синтаксис другую формулу. И это будет еще одна логическая формула «И» (AND).
Синтаксис формулы следующий:
И(логическое_значение1, [логическое_значение2], …)
- Логическое_значение1-2 и т.д. — проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ
Синтаксис решения будет следующим:
Вывод результата в ячейку D2:
=ЕСЛИ(И(C2>5;B2=«А»);1;0)
Таким образом, используя сочетание 2-х формул, мы находим решение нашей задачи и получаем результат:
Попробуем усложнить задачу – новое условие:
- если значение в столбце «Количество» равно 10, а значение в колонке «Тип» равно «А»
- или же значение в столбце «Количество» больше или равно 5, а значение «Тип» равен «Б»
- то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».
Синтаксис решения будет следующим:
Вывод результата в ячейку D2:
=ЕСЛИ(ИЛИ(И(C2=10;B2=«А»); И(C2>=5;B2=«Б»));1;0)
Как видно из записи, в формулу «ЕСЛИ» включено одно условие «ИЛИ» (OR) и два условия с использованием формулы «И», включенных в него. Если хотя бы одно из условий 2-го уровня имеет значение «ИСТИНА», то в колонку «Результат» будет выведен результат «1», в противном случае будет «0».
Результат:
Теперь перейдем к следующей ситуации:
Представим, что в зависимости от значения в столбце «Условие» должно выводиться определенное условие в столбце «Результат», ниже приведено соответствие значений и результата.
Условие:
- 1 = А
- 2 = Б
- 3 = В
- 4 = Г
При решении задачи с помощью функции «ЕСЛИ», синтаксис будет следующим:
Вывод результата в ячейку B2:
=ЕСЛИ(A2=1;«А»; ЕСЛИ(A2=2;«Б»; ЕСЛИ(A2=3;«В»; ЕСЛИ(A2=4;«Г»;0))))
Результат:
Как видно, написание подобной формулы не только не очень удобно и громоздко, но и может занять некоторое время на ее редактирование у неопытного пользователя в случае ошибки.
Минус подобного подхода в том, что он применим для небольшого количества условий, ведь, все их придется набирать вручную и «раздувать» нашу формулу до больших размеров, однако подход отличает полная «всеядность» к значениям и универсальность использования.
Альтернативное решение_1:
Использование формулы «ВЫБОР» (CHOOSE),
Синтаксис функции:
ВЫБОР(номер_индекса, значение1, [значение2], …)
- Номер_индекса — номер выбираемого аргумента-значения. Номер индекса должен быть числом от 1 до 254, формулой или ссылкой на ячейку, содержащую число в диапазоне от 1 до 254.
- Значение1, значение2,… — значение от 1 до 254 аргументов-значений, из которых функция «ВЫБОР», используя номер индекса, выбирает значение или выполняемое действие. Аргументы могут быть числами, ссылками на ячейки, определенными именами, формулами, функциями или текстом.
При ее использовании, мы сразу заносим результаты условий в зависимости от указанных значений.
Условие:
- 1 = А
- 2 = Б
- 3 = В
- 4 = Г
Синтаксис формулы:
=ВЫБОР(A2;«А»;«Б»;«В»;«Г»)
Результат аналогичен решению с цепочкой функций «ЕСЛИ» выше.
При применении этой формулы существуют следующие ограничения:
В ячейку «А2» (номер индекса) могут быть указаны только цифры, а значения результата будут выводиться в порядке возрастания от 1 до 254 значений.
Иными словами, функция будет работать только если в ячейке «А2» указаны цифры от 1 до 254 в порядке возрастания и это накладывает определенные ограничения при использовании этой формулы.
Т.е. если мы захотим, что бы значение «Г» выводилось при указании числа 5,
- 1 = А
- 2 = Б
- 3 = В
- 5 = Г
то формула будет иметь следующий синтаксис:
Вывод результата в ячейку B2:
=ВЫБОР(A31;«А»;«Б»;«В»;;«Г»)
Как видно, значение «4» в формуле нам приходится оставить пустым и перенести результат «Г» на порядковый номер «5».
Альтернативное решение_2:
Вот мы и подошли к одной из самых популярных функций Excel, овладение которой автоматически превращает любого офисного работника в «опытного пользователя excel» /sarcasm/.
Синтаксис формулы:
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])
- Искомое_значение – значение, поиск которого осуществляется функцией.
- Таблица – диапазон ячеек, содержащий данные. Именно в этих ячейках будет происходить поиск. Значения могут быть текстовыми, числовыми или логическими.
- Номер_столбца — номер столбца в аргументе «Таблица», из которого будет выводиться значение в случае совпадения. Важно понимать, что отсчет столбцов происходит не по общей сетке листа (A.B,C,D и т.д.), а внутри массива, указанного в аргументе «Таблица».
- Интервальный_просмотр — определяет, какое совпадение должна найти функция — точное или приблизительное.
Важно: функция «ВПР» ищет совпадение только по первой уникальной записи, если искомое_значение присутствует в аргументе «Таблица» несколько раз и имеет разные значения, то функция «ВПР» найдет только самое ПЕРВОЕ совпадение, результаты по всем остальным совпадениям показаны не будутИспользование формулы «ВПР» (VLOOKUP) связано с еще одним подходом в работе с данными, а именно с формированием «справочников».
Суть подхода в создании «справочника» соответствия аргумента «Искомое_значение» определенному результату, отдельно от основного массива, в котором прописываются условия и соответствующие им значения:
Затем в рабочей части таблицы уже прописывается формула со ссылкой на справочник, заполненный ранее. Т.е. в справочнике в столбце «D» происходит поиск значения из столбца «А» и при нахождении соответствия выводится значение из столбца «Е» в столбец «В».
Синтаксис формулы:
Вывод результата в ячейку B2:
=ВПР(A2;$D$2:$E$5;2;0)
Результат:
Теперь представим ситуацию, когда необходимо подтянуть данные в одну таблицу из другой, при этом таблицы не идентичны. См. пример ниже
Видно, что строки в столбцах «Продукт» обеих таблиц не совпадают, однако, это не является препятствием для использования функции «ВПР».
Вывод результата в ячейку B2:
=ВПР($A3;$H$3:$M$6;2;0)
Но при решении сталкиваемся с новой проблемой – при «протягивании» написанной нами формулы вправо от столбца «В» до столбца «Е», нам придется вручную заменять аргумент «номер_столбца». Дело это трудоемкое и неблагодарное, потому, на помощь нам приходит другая функция — «СТОЛБЕЦ» (COLUMN).
Синтаксис функции:
СТОЛБЕЦ([ссылка])
- Ссылка — ячейка или диапазон ячеек, для которых требуется возвратить номер столбца.
Если использовать запись типа:
=СТОЛБЕЦ()
то функция выведет номер текущего столбца (в ячейке которого написана формула).
В результате получается число, которое можно использовать в функции «ВПР», чем мы и воспользуемся и получаем следующую запись формулы:
Вывод результата в ячейку B2:
=ВПР($A3;$H$3:$M$6; СТОЛБЕЦ();0)
Функция «СТОЛБЕЦ» определит номер текущего столбца, который будет использоваться аргументом «Номер_столбца» для определения номера столбца поиска в справочнике.
Кроме того, можно использовать конструкцию:
=СТОЛБЕЦ()-1
Вместо числа «1» можно использовать любое число (а также не только вычитать его, но и прибавлять к полученному значению), для получения желаемого результата, если нет желания ссылаться на определенную ячейку в столбце с нужным нам номером.
Получившийся результат:
Продолжаем развивать тему и усложняем условие: представим, что у нас есть два справочника с разными данными по продуктам и необходимо вывести в таблицу с результатом значения в зависимости от того, какой тип справочника указан в колонке «Справочник»
Условие:
- Если в столбце «Справочник» указано число 1, данные должны тянуться из таблицы «Справочник_1», если число 2, то из таблицы «Справочник_2» в соответствии с указанным месяцем
Вариант решения, который сразу приходит на ум, следующий:
Вывод результата в ячейку C3:
=ЕСЛИ($B3=1; ВПР($A3;$G$3:$I$6; СТОЛБЕЦ()-1;0); ВПР($A3;$K$3:$M$6; СТОЛБЕЦ()-1;0))
Плюсы: наименование справочника может быть любым (текст, цифры и их сочетание), минусы – плохо подходит, если вариантов более 3-х.
Если же номера справочников всегда представляют собой числа, имеет смысл использовать следующее решение:
Вывод результата в ячейку C3:
=ВПР($A3; ВЫБОР($B3;$G$3:$I$6;$K$3:$M$6); СТОЛБЕЦ()-1;0)
Плюсы: формула может включать до 254 наименований справочников, минусы – их наименование должно быть строго числовым.
Результат для формулы с использованием функции «ВЫБОР»:
Бонус: ВПР по двум и более признакам в аргументе «искомое_значение».
Условие:
- Представим, что у нас как всегда есть массив данных в табличной форме (если нет, то мы к нему приводим данные), из массива по определенным признакам необходимо получить значения и поместить их в другую табличную форму.
Обе таблицы приведены ниже:
Как видно из табличных форм, каждая позиция имеет не только наименование (которое не является уникальным), но также и относится к определенному классу и имеет свой вариант фасовки.
Используя сочетание имени и класса и фасовки, мы можем создать новый признак, для этого в таблице с данными создаем дополнительный столбец «Доп.признак», который заполняем при помощи следующей формулы:
=H3&»_»&I3&»_»&J3
Используя символ «&», объединяем три признака в один (разделитель между словами может быть любым, как и не быть вовсе, главное использовать аналогичное правило и для поиска)
Аналогом формулы может быть функция «СЦЕПИТЬ» (CONCATENATE), в этом случае она будет выглядеть следующим образом:
=СЦЕПИТЬ(H3;»_»;I3;»_»;J3)
После того, как дополнительный признак создан для каждой записи в таблице с данными, приступаем к написанию функции поиска по этому признаку, которая будет иметь вид:
Вывод результата в ячейку D3:
=ЕСЛИОШИБКА(ВПР(A2&»_»&B2&»_»&C2;$G$2:$K$6;5;0);0)
В функции «ВПР» в качестве аргумента «искомое_значение» используем все ту же связку трех признаков (наименование_класс_фасовка), но берем ее уже в таблице для заполнения и заносим непосредственно в аргумент (как вариант, можно было бы выделить значение для аргумента в дополнительный столбец в таблице для заполнения, но это действие будет излишним).
Напоминаю, что использование функции «ЕСЛИОШИБКА» (IFERROR) необходимо, если искомое значение так и не будет найдено, и функция «ВПР» выведет нам значение «#Н/Д» (об этом ниже).
Результат на картинке ниже:
Данный прием можно использовать и для большего количества признаков, единственное условие – уникальность получаемых комбинаций, если она не соблюдается, то результат будет некорректным.
Кейс_3 Поиск значения в массиве, или когда ВПР не в силах нам помочь
Рассмотрим ситуацию, когда необходимо понять, есть ли в массиве ячеек нужные нам значения.
Задача:
- в столбце «Условие поиска» указано значение и необходимо определить, присутствует ли оно в столбце «Массив для поиска»
Визуально все выглядит в следующем виде:
Как мы видим, функция «ВПР» тут бессильна, т.к. мы ищем не точное совпадение, а именно наличие в ячейке нужного нам значения.
Для решения задачи необходимо использовать комбинацию нескольких функций, а именно:
«ЕСЛИ»
«ЕСЛИОШИБКА»
«СТРОЧН»
«НАЙТИ»
По порядку обо всех, «ЕСЛИ» мы уже разобрали ранее, потому перейдем к функции «ЕСЛИОШИБКА» (IFERROR)
ЕСЛИОШИБКА(значение, значение_при_ошибке)
- Значение — аргумент, проверяемый на возникновение ошибок.
- Значение_при_ошибке — значение, возвращаемое при ошибке при вычислении по формуле. Возможны следующие типы ошибок: #Н/Д, #ЗНАЧ!, #ССЫЛКА!, #ДЕЛ/0!, #ЧИСЛО!, #ИМЯ? и #ПУСТО!.
Важно: данная формула практически всегда обязательна при работе с массивами информации и справочниками, т.к. зачастую бывает, что искомое значение не находится в справочнике и в этом случае функция возвращает ошибку. Если же в ячейке выводится ошибка и ячейка участвует, например, в вычислении, то оно так же произойдет с ошибкой. Плюс ко всему, ячейкам, где формула возвратила ошибку можно присваивать различные значения, которые облегчают их статистическую обработку. Также, в случае ошибки можно выполнять другие функции, что очень удобно при работе с массивами и позволяет строить формулы с учетом довольно разветвленных условий.
«СТРОЧН» (LOWER)
СТРОЧН(текст)
- Текст — текст, преобразуемый в нижний регистр.
Важно: функция «СТРОЧН» не заменяет знаки, не являющиеся буквами.
Роль в формуле: поскольку функция «НАЙТИ» (FIND) осуществляет поиск и учетом регистра текста, то необходимо привести весь текст к одному регистру, в противном случае «чАй» будет не равно «чай» и т.д. Это актуально, если значение регистра не является условием поиска и отбора значений, в противном случае формулу «СТРОЧН» можно не использовать, так поиск будет более точным.
Теперь подробнее о синтаксисе функции «НАЙТИ» (FIND).
НАЙТИ(искомый_текст, просматриваемый_текст, [нач_позиция])
- Искомый_текст — текст, который необходимо найти.
- Просматриваемый_текст — текст, в котором нужно найти искомый текст.
- Нач_позиция — знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер не указан, он по умолчанию считается равным 1.
Синтаксис формулы-решения будет иметь вид:
Вывод результата в ячейку B2:
=ЕСЛИ(ЕСЛИОШИБКА(НАЙТИ(СТРОЧН(A2); СТРОЧН(E2);1);0)=0;«fail»;«bingo!»)
Разберем логику формулы по действиям:
- СТРОЧН(A2) – преобразует аргумент «Искомый_текст» в ячейке в А2 в текст с нижним регистром
- Функция «НАЙТИ» начинает поиск преобразованного аргумента «Искомый_текст» в массиве «Просматриваемый_текст», который преобразовывается функцией «СТРОЧН(E2)», также в текст с нижним регистром.
- В случае если, функция находит совпадение, т.е. возвращает порядковый номер первого символа совпадающего слова/значения, срабатывает условие ИСТИНА в формуле «ЕСЛИ», т.к. полученное значение не равно нулю. Как результат, в столбце «Результат» будет выведено значение «Bingo!»
- Если же, функция не находит совпадение т.е. порядковый номер первого символа совпадающего слова/значения не указывается и вместо значения возвращается ошибка, срабатывает условие, заложенное в формулу «ЕСЛИОШИБКА» и возвращается значение равное «0», что соответствует условию ЛОЖЬ в формуле «ЕСЛИ», т.к. полученное значение равно «0». Как результат, в столбце «Результат» будет выведено значение «fail».
Как видно из рисунка выше, благодаря функциям «СТРОЧН» и «НАЙТИ» мы находим искомые значения вне зависимости от регистра символов, и места нахождения в ячейке, но необходимо обратить внимание на строку 5.
Условие поиска задано как «111», но в массиве поиска указано значение «1111111 печенюшки», однако формула выдает результат «Bingo!». Это происходит потому, что значение «111» входит в ряд значений «1111111», как следствие находится совпадение. В обратном случае данное условие не сработает.
Кейс_4 Поиск значения в массиве по нескольким условиям, или когда ВПР тем более не в силах нам помочь
Представим ситуацию, когда необходимо найти значение из «Таблица с результатом» в двумерном массиве «Справочник» по нескольким условиям, а именно по значению «Наименование» и «Месяц».
Табличная форма задания будет иметь следующий вид:
Условие:
- В таблицу с результатом необходимо подтянуть данные в соответствии с совпадением условий «Наименование» и «Месяц».
Для решения подобной задачи подойдет комбинация функций «ИНДЕКС» и «ПОИСКПОЗ»
Синтаксис функции «ИНДЕКС» (INDEX)
ИНДЕКС(массив, номер_строки, [номер_столбца])
- Массив — диапазон ячеек, из которого будут показываться значения в случае совпадения условий их поиска.
- Если массив содержит только одну строку или один столбец, аргумент «номер_строки» или «номер_столбца» соответственно не является обязательным.
- Если массив занимает больше одной строки и одного столбца, а из аргументов «номер_строки» и «номер_столбца» задан только один, то функция «ИНДЕКС» возвращает массив, состоящий из целой строки или целого столбца аргумента «массив».
- Номер_строки — номер строки в массиве, из которой требуется возвратить значение.
- Номер_столбца — номер столбца в массиве, из которого требуется возвратить значение.
Иными словами функция возвращает из указанного массива в аргументе «Массив» значение, которое находится на пересечении координат, указанных в аргументах «Номер_строки» и «Номер_столбца».
Синтаксис функции «ПОИСКПОЗ» (MATCH)
ПОИСКПОЗ(искомое_значение, просматриваемый_массив, [тип_сопоставления])
- Искомое_значение — значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
- Просматриваемый_массив — диапазон ячеек, в которых производится поиск.
- Тип_сопоставления — необязательный аргумент. Число -1, 0 или 1.
Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне.
Суть использования комбинации функций «ИНДЕКС» и «ПОИСКПОЗ» в том, то мы производим поиск координат значений по их наименованию по «осям координат».
Осью Y будет столбец «Наименование», а осью X – строка «Месяцы».
часть формулы:
ПОИСКПОЗ($A4;$I$4:$I$7;0)
возвращает число по оси Y, в данном случае оно будет равно 1, т.к. значение «А» присутствует в искомом диапазоне и имеет относительную позицию «1» в этом диапазоне.
часть формулы:
ПОИСКПОЗ(B$3;$J$3:$L$3;0)
возвращает значение #Н/Д, т.к. значение «1» отсутствует в просматриваемом диапазоне.
Таким образом, мы получили координаты точки (1; #Н/Д) которые функция «ИНДЕКС» использует для поиска в аргументе «Массив».
Полностью написанная функция для ячейки B4 будет иметь следующий вид:
=ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0))
По сути, если бы мы знали координаты нужного нам значения, функция выглядела бы следующим образом:
=ИНДЕКС($J$4:$L$7;1;#Н/Д))
Поскольку, аргумент «Номер_столбца» имеет значение «#Н/Д», то результат для ячейки «B4» будет соответствующий.
Как видно из получившегося результата не все значения в таблице с результатом находят совпадение со справочником и в итоге мы видим, что часть значений в таблице выводится в виде «#Н/Д», что затрудняет использование данных для дальнейших расчетов.
Результат:
Что бы нейтрализовать этот негативный эффект используем функцию «ЕСЛИОШИБКА», о которой мы читали ранее, и заменяем значение, возвращающееся при ошибке на «0», тогда формула будет иметь вид:
Вывод результата в ячейку B4:
=ЕСЛИОШИБКА(ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0));0)
Демонстрация результата:
Как видно на картинке, значения «#Н/Д» более не мешают нам в последующих вычислениях с использованием значений в таблице с результатом.
Кейс_5 Поиск значения в диапазоне чисел
Представим, что нам необходимо дать определенный признак числам, входящим в определенный диапазон.
Условие:
В зависимости от стоимости продукта ему должна присваиваться определенная категория
Если значение находится в диапазоне
- От 0 до 1000 = А
- От 1001 до 1500 = Б
- От 1501 до 2000 = В
- От 2001 до 2500 = Г
- Более 2501 = Д
Функция ПРОСМОТР (LOOKUP) возвращает значение из строки, столбца или массива. Функция имеет две синтаксических формы: векторную и форму массива.
ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])
- Искомое_значение — значение, которое функция ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой на значение.
- Просматриваемый_вектор — диапазон, состоящий из одной строки или одного столбца. Значения в аргументе просматриваемый_вектор могут быть текстом, числами или логическими значениями.
- Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР может возвратить неправильный результат. Текст в нижнем и верхнем регистрах считается эквивалентным.
- Вектор_результатов — диапазон, состоящий из одной строки или столбца. Вектор_результатов должен иметь тот же размер, что и просматриваемый_вектор.
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;$A$3:$A$7;$B$3:$B$7)
Аргументы «Просматриваемый_вектор» и «Вектор_результата» можно записать в форме массива – в этом случае не придется выводить их в отдельную таблицу на листе Excel.
В этом случае функция будет выглядеть следующим образом:
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;{0;1001;1501;2001;2501};{«А»;«Б»;«В»;«Г»;«Д»})
Кейс_6 Суммирование чисел по признакам
Для суммирования чисел по определенным признакам можно использовать три разных функции:
СУММЕСЛИ (SUMIF) – суммирует только по одному признаку
СУММЕСЛИМН (SUMIFS) – суммирует по множеству признаков
СУММПРОИЗВ (SUMPRODUCT) – суммирует по множеству признаков
Существует также вариант с использованием «СУММ» (SUM) и функции формулы массивов, когда формула «СУММ» возводится в массив:
({=СУММ(()*())}
но такой подход довольно неудобен и полностью перекрывается по функционалу формулой «СУММПРОИЗВ»
Теперь подробнее по синтаксису «СУММПРОИЗВ»:
СУММПРОИЗВ(массив1, [массив2], [массив3],…)
- Массив1 — первый массив, компоненты которого нужно перемножить, а затем сложить результаты.
- Массив2, массив3… — от 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.
Условие:
- Найти общую сумму по стоимости отгрузок по каждому из продуктов за определенный период:
Как видно из таблицы с данными, что бы посчитать стоимость необходимо цену умножить на количество, а полученное значение, применив условия отбора переносить в таблица с результатом.
Однако, формула «СУММПРОИЗ» позволяет проводить такие расчеты внутри формулы.
Вывод результата в ячейку B4:
=СУММПРОИЗВ(($A4=$H$3:$H$11)*($K$3:$K$11>=B$3)*($K$3:$K$11<C$3);($M$3:$M$11)*($L$3:$L$11))
Разберем формулу по частям:
($A4=$H$3:$H$11)
– задаем условие по отбору в столбце «Наименование» таблицы с данными по столбцу «Наименование» в таблице с результатом
($K$3:$K$11>=B$3)*($K$3:$K$11<C$3)
– задаем условие по временным рамкам, дата больше или равна первого числа текущего месяца, но меньше первого числа месяца следующего. Аналогично – условие в таблице с результатом, массив – в таблице с данными.
($M$3:$M$11)*($L$3:$L$11)
– перемножаем столбцы «Количество» и «Цена» в таблице с данными.
Несомненным плюсом данной функции является свободный порядок записи условий, их можно записывать в любом порядке, на результат это не повлияет.
Результат:
Теперь усложним условие и добавим требование, что бы отбор по наименованию «печеньки» происходил только по классам «малые» и «большие», а по наименованию «булки» все, кроме по классу «с джемом»:
Вывод результата в ячейку B4:
=СУММПРОИЗВ(($A4=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»));($L$3:$L$11*$K$3:$K$11))
В формуле для отбора по печенькам добавилось новое условие:
(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»))
– как видно, два или более условия по одному столбцу выделяются в отдельную группу при помощи символа «+» и заключения условий в дополнительные скобки.
В формуле для отбора по булкам также добавилось новое условие:
=СУММПРОИЗВ(($A5=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*($I$3:$I$11<>«с джемом»);($L$3:$L$11)*($K$3:$K$11))
это:
($I$3:$I$11<>«с джемом»)
– на самом деле, в данной формуле можно было написать условие отбора также как и при отборе по печенькам, но тогда, пришлось бы перечислять три условия в формуле, в данном случае, проще написать исключение – не равно «с джемом» для этого используем значение «<>».
Вообще, если группы признаков/классов заранее известны, то лучше объединять их в эти группы, создавая справочники, чем записывать все условия в функцию, раздувая ее.
Результат:
Что ж, вот мы и подошли к концу нашего краткого мануала, который на самом деле мог бы быть намного больше, но целью было все-таки дать решение наиболее встречающихся ситуаций, а не описывать решение частных (но гораздо более интересных случаев).
Надеюсь, что мануал поможет кому-нибудь в решении задач при помощи Excel, ведь это будет значить, что мой труд не пропал зря!
Спасибо за уделенное время!