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. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.
Еще несколько материалов по теме:
Совет: Попробуйте использовать новые функции ПРОСМОТРX и XMATCH, а также улучшенные версии функций, описанные в этой статье. Эти новые функции работают в любом направлении и возвращают точные совпадения по умолчанию, что упрощает и упрощает работу с ними по сравнению с предшественниками.
Предположим, у вас есть список номеров офисов, и вам нужно знать, какие сотрудники работают в каждом из них. Таблица очень угрюмая, поэтому, возможно, вам кажется, что это сложная задача. С функцией подытов на самом деле это довольно просто.
Функции ВВ., а также ИНДЕКС и ВЫБОРПОЗ — одни из самых полезных функций в Excel.
Примечание: Мастер подметок больше не доступен в Excel.
Ниже в качестве примера по выбору вы можете найти пример использования в этой области.
=ВПР(B2;C2:E7,3,ИСТИНА)
В этом примере B2 является первым аргументом —элементом данных, который требуется для работы функции. В случае СРОТ ВЛ.В.ОВ этот первый аргумент является искомой значением. Этот аргумент может быть ссылкой на ячейку или фиксированным значением, таким как «кузьмина» или 21 000. Вторым аргументом является диапазон ячеек C2–:E7, в котором нужно найти и найти значение. Третий аргумент — это столбец в диапазоне ячеек, содержащий ищите значение.
Четвертый аргумент необязателен. Введите истина или ЛОЖЬ. Если ввести ИСТИНА или оставить аргумент пустым, функция возвращает приблизительное совпадение значения, указанного в качестве первого аргумента. Если ввести ЛОЖЬ, функция будет соответствовать значению, заведомо первому аргументу. Другими словами, если оставить четвертый аргумент пустым или ввести ИСТИНА, это обеспечивает большую гибкость.
В этом примере показано, как работает функция. При вводе значения в ячейку B2 (первый аргумент) в результате поиска в ячейках диапазона C2:E7 (2-й аргумент) выполняется поиск в ней и возвращается ближайшее приблизительное совпадение из третьего столбца в диапазоне — столбца E (третий аргумент).
Четвертый аргумент пуст, поэтому функция возвращает приблизительное совпадение. Иначе потребуется ввести одно из значений в столбец C или D, чтобы получить какой-либо результат.
Если вы хорошо разучились работать с функцией ВГТ.В.В., то в равной степени использовать ее будет легко. Вы вводите те же аргументы, но выполняется поиск в строках, а не в столбцах.
Использование индекса и MATCH вместо ВРОТ
При использовании функции ВПРАВО существует ряд ограничений, которые действуют только при использовании функции ВПРАВО. Это означает, что столбец, содержащий и look up, всегда должен быть расположен слева от столбца, содержащего возвращаемого значения. Теперь, если ваша таблица не построена таким образом, не используйте В ПРОСМОТР. Используйте вместо этого сочетание функций ИНДЕКС и MATCH.
В данном примере представлен небольшой список, в котором искомое значение (Воронеж) не находится в крайнем левом столбце. Поэтому мы не можем использовать функцию ВПР. Для поиска значения «Воронеж» в диапазоне B1:B11 будет использоваться функция ПОИСКПОЗ. Оно найдено в строке 4. Затем функция ИНДЕКС использует это значение в качестве аргумента поиска и находит численность населения Воронежа в четвертом столбце (столбец D). Использованная формула показана в ячейке A14.
Дополнительные примеры использования индексов и MATCH вместо В ПРОСМОТР см. в статье билла Https://www.mrexcel.com/excel-tips/excel-vlookup-index-match/ Билла Джилена (Bill Jelen), MVP корпорации Майкрософт.
Попробуйте попрактиковаться
Если вы хотите поэкспериментировать с функциями подытовки, прежде чем попробовать их с собственными данными, вот примеры данных.
Пример работы с ВЛОКОНПОМ
Скопируйте следующие данные в пустую таблицу.
Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Плотность |
Вязкость |
Температура |
0,457 |
3,55 |
500 |
0,525 |
3,25 |
400 |
0,606 |
2,93 |
300 |
0,675 |
2,75 |
250 |
0,746 |
2,57 |
200 |
0,835 |
2,38 |
150 |
0,946 |
2,17 |
100 |
1,09 |
1,95 |
50 |
1,29 |
1,71 |
0 |
Формула |
Описание |
Результат |
=ВПР(1,A2:C10,2) |
Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца B в той же строке. |
2,17 |
=ВПР(1,A2:C10,3,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца C в той же строке. |
100 |
=ВПР(0,7,A2:C10,3,ЛОЖЬ) |
Используя точное соответствие, функция ищет в столбце A значение 0,7. Поскольку точного соответствия нет, возвращается сообщение об ошибке. |
#Н/Д |
=ВПР(0,1,A2:C10,2,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 0,1. Поскольку 0,1 меньше наименьшего значения в столбце A, возвращается сообщение об ошибке. |
#Н/Д |
=ВПР(2,A2:C10,2,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 2, находит наибольшее значение, которое меньше или равняется 2 и составляет 1,29, а затем возвращает значение из столбца B в той же строке. |
1,71 |
Пример ГВ.Г.В.В.
Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.
Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Оси |
Подшипники |
Болты |
4 |
4 |
9 |
5 |
7 |
10 |
6 |
8 |
11 |
Формула |
Описание |
Результат |
=ГПР(«Оси»;A1:C4;2;ИСТИНА) |
Поиск слова «Оси» в строке 1 и возврат значения из строки 2, находящейся в том же столбце (столбец A). |
4 |
=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ) |
Поиск слова «Подшипники» в строке 1 и возврат значения из строки 3, находящейся в том же столбце (столбец B). |
7 |
=ГПР(«П»;A1:C4;3;ИСТИНА) |
Поиск буквы «П» в строке 1 и возврат значения из строки 3, находящейся в том же столбце. Так как «П» найти не удалось, возвращается ближайшее из меньших значений: «Оси» (в столбце A). |
5 |
=ГПР(«Болты»;A1:C4;4) |
Поиск слова «Болты» в строке 1 и возврат значения из строки 4, находящейся в том же столбце (столбец C). |
11 |
=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) |
Поиск числа 3 в трех строках константы массива и возврат значения из строки 2 того же (в данном случае — третьего) столбца. Константа массива содержит три строки значений, разделенных точкой с запятой (;). Так как «c» было найдено в строке 2 того же столбца, что и 3, возвращается «c». |
c |
Примеры индекса и match
В последнем примере функции ИНДЕКС и MATCH совместно возвращают номер счета с наиболее ранней датой и соответствующую дату для каждого из пяти городов. Так как дата возвращается как число, для ее формата используется функция ТЕКСТ. Функция ИНДЕКС использует результат, возвращенный функцией ПОИСКПОЗ, как аргумент. Сочетание функций ИНДЕКС и ПОИСКПОЗ используется в каждой формуле дважды — сперва для возврата номера счета, а затем для возврата даты.
Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.
Совет: Перед тем как вировать данные в Excel, установите для столбцов A–D ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Счет |
Город |
Дата выставления счета |
Счет с самой ранней датой по городу, с датой |
3115 |
Казань |
07.04.12 |
=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy») |
3137 |
Казань |
09.04.12 |
=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») |
3154 |
Казань |
11.04.12 |
=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy») |
3191 |
Казань |
21.04.12 |
=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») |
3293 |
Казань |
25.04.12 |
=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy») |
3331 |
Казань |
27.04.12 |
|
3350 |
Казань |
28.04.12 |
|
3390 |
Казань |
01.05.12 |
|
3441 |
Казань |
02.05.12 |
|
3517 |
Казань |
08.05.12 |
|
3124 |
Орел |
09.04.12 |
|
3155 |
Орел |
11.04.12 |
|
3177 |
Орел |
19.04.12 |
|
3357 |
Орел |
28.04.12 |
|
3492 |
Орел |
06.05.12 |
|
3316 |
Челябинск |
25.04.12 |
|
3346 |
Челябинск |
28.04.12 |
|
3372 |
Челябинск |
01.05.12 |
|
3414 |
Челябинск |
01.05.12 |
|
3451 |
Челябинск |
02.05.12 |
|
3467 |
Челябинск |
02.05.12 |
|
3474 |
Челябинск |
04.05.12 |
|
3490 |
Челябинск |
05.05.12 |
|
3503 |
Челябинск |
08.05.12 |
|
3151 |
Нижний Новгород |
09.04.12 |
|
3438 |
Нижний Новгород |
02.05.12 |
|
3471 |
Нижний Новгород |
04.05.12 |
|
3160 |
Москва |
18.04.12 |
|
3328 |
Москва |
26.04.12 |
|
3368 |
Москва |
29.04.12 |
|
3420 |
Москва |
01.05.12 |
|
3501 |
Москва |
06.05.12 |
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите также изменения результирующей таблицы: выборки — столбец работы указанных формул«Товар» листе» числовыми выражениями. его, жмем на применении в комплексе ячейку в массиве,E4Эта формула эквивалентна двумерному с пониманием, как решение – этоВПРПОИСКПОЗВот простейший пример функцииЭтот учебник рассказывает о
Как видите, зеленые ячейки с ценами. вы получаете список..Ставится задача найти товар кнопку с другими операторами эта формула должна. Просто? Да! поиску работает эта формула: использовать, т.к. эта функцияиINDEX главных преимуществах функций
с результатами транспонированыДля будущего удобства, конвертируем всех имен, которыеУрок:Отсортировываем элементы в столбце на сумму реализации«OK» сообщает им номер быть формулой массива.В учебнике поВПРВо-первых, задействуем функциюИНДЕКС гораздо проще. ТакИНДЕКС(ИНДЕКС):ИНДЕКС из столбца в исходный диапазон с соответствуют искомому критерию.Функция ИНДЕКС в Excel«Сумма выручки» 400 рублей или
- в нижней части позиции конкретного элемента
- Вы можете видетьВПР
- и позволяет найтиMATCH
- / происходит, потому что
- могут работать вместе.=INDEX(A1:C10,2,3)
- и строку и над
- ценами в «умнуюВ завершении то же
- Как видим, оператор
- по возрастанию. Для самый ближайший к
Базовая информация об ИНДЕКС и ПОИСКПОЗ
окна. для последующей обработки это по фигурныммы показывали пример значение на пересечении(ПОИСКПОЗ), которая находитПОИСКПОЗ очень немногие людиПОИСКПОЗ=ИНДЕКС(A1:C10;2;3)ПОИСКПОЗ
ними добавлена мини-таблица таблицу». Для этого самое, но сПОИСКПОЗ этого выделяем необходимый этой сумме поАктивируется окно аргументов оператора этих данных. скобкам, в которые формулы с функцией определённой строки и положение «Russia» в
ИНДЕКС – синтаксис и применение функции
. до конца понимаютопределяет относительную позициюФормула выполняет поиск вв Excel, которые (F4:H5) с условиями. выделите его и использованием формул массива
является очень удобной
столбец и, находясь
возрастанию.ПОИСКПОЗ
- Синтаксис оператора она заключена. Поэтому,ВПР столбца. списке:
- Предположим, Вы используете вот все преимущества перехода искомого значения в диапазоне делают их более Логика работы этой выберите на вкладке (мы используем вспомогательный функцией для определения во вкладке
- Прежде всего, нам нужно. Как видим, вПОИСКПОЗ когда закончите вводитьдля поиска поВ этом примере формула=MATCH(«Russia»,$B$2:$B$10,0)) такую формулу с с заданном диапазоне ячеек,
A1:C10 привлекательными по сравнению функции следующая:Главная — Форматировать как столбец, описанный ранее). порядкового номера указанного«Главная»
отсортировать элементы в данном окне повыглядит так:
формулу, не забудьте
нескольким критериям. Однако,
ИНДЕКС=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))ВПРВПР аи возвращает значение сБаза_данных таблицу (Home -Выбираем диапазон ячеек, в элемента в массиве, кликаем по значку
столбце числу количества аргументов=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) нажать существенным ограничением такого/Далее, задаём диапазон для, которая ищет вна связку
ПОИСКПОЗ – синтаксис и применение функции
ИНДЕКС ячейки воВПР- вся наша Format as Table) которых мы хотим данных. Но польза«Сортировка и фильтр»
«Сумма» имеется три поля.Теперь рассмотрим каждый изCtrl+Shift+Enter решения была необходимостьПОИСКПОЗ функции ячейках отИНДЕКСиспользует это число
2-й
. Вы увидите несколько
таблица вместе сили нажмите иметь список имен от него значительно
, а затем в
по убыванию. Выделяем
- Нам предстоит их трех этих аргументов. добавлять вспомогательный столбец.будет очень похожаINDEXB5и
- (или числа) истроке и примеров формул, которые заголовками.
- Ctrl+T (например, G15:G19) и увеличивается, если он появившемся меню кликаем данную колонку и заполнить. в отдельности.
- Если всё сделано верно, Хорошая новость: формула на формулы, которые(ИНДЕКС), из которогодоПОИСКПОЗ возвращает результат из3-м помогут Вам легкоПоле
- . Наша «поумневшая» таблица используем формулу массива: применяется в комплексных по пункту переходим во вкладкуТак как нам нужно«Искомое значение» Вы получите результатИНДЕКС мы уже обсуждали нужно извлечь значение.D10, а тратить время соответствующей ячейки.
- столбце, то есть справиться со многими- название столбца автоматически получит имя0″)))))’ class=’formula’> формулах.«Сортировка от минимального к«Главная» найти позицию слова
– это тот как на рисунке/ в этом уроке, В нашем случаезначение, указанное в на изучение болееЕщё не совсем понятно?
из ячейки сложными задачами, перед из шапки таблицы,Таблица1Формула точно вернет то,Автор: Максим Тютюшев максимальному». Щелкаем по значку«Сахар» элемент, который следует ниже:ПОИСКПОЗ с одним лишь это ячейке сложной формулы никто Представьте функцииC2 которыми функция из которого выбирается, а к столбцам что вы ожидаете.В данном примере Excel.
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
«Сортировка и фильтр»в диапазоне, то отыскать. Он можетКак Вы, вероятно, ужеможет искать по отличием. Угадайте каким?A2:A10A2 не хочет.ИНДЕКС.ВПР минимальное значение. можно будет, соответственно, Во всех «не будем искать ячейкиВыделяем ячейку в поле, который расположен на вбиваем это наименование иметь текстовую, числовую
заметили (и не значениям в двухКак Вы помните, синтаксис.:Далее я попробую изложить
иОчень просто, правда? Однако,бессильна.
Критерий обращаться по их соответствующих результатам» ячейках
с наиболее близкими«Товар» ленте в блоке в поле форму, а также
раз), если вводить столбцах, без необходимости функцииЗатем соединяем обе части
=VLOOKUP(A2,B5:D10,3,FALSE)
главные преимущества использования
ПОИСКПОЗ на практике ВыВ нескольких недавних статьях
- - таблица с именам, используя выражения формула вернет код значениями к какому-тои вызываем«Редактирование»«Искомое значение» принимать логическое значение. некорректное значение, например, создания вспомогательного столбца!INDEX и получаем формулу:=ВПР(A2;B5:D10;3;ЛОЖЬ)
- ПОИСКПОЗв таком виде: далеко не всегда мы приложили все условиями отбора, состоящая типа ошибки. При необходимости числу, выбранному пользователемМастер функций. В появившемся списке.
В качестве данного
которого нет в
Предположим, у нас есть(ИНДЕКС) позволяет использовать=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))Формула не будет работать,и=INDEX(столбец из которого извлекаем,(MATCH знаете, какие строка усилия, чтобы разъяснить (минимально) из двухТаблица1[Товар] их легко удалить (меньшими, большими, равнымиобычным способом через выбираем пункт
В поле аргумента может выступать
просматриваемом массиве, формула список заказов, и три аргумента:=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) если значение вИНДЕКС (искомое значение,столбец в и столбец Вам начинающим пользователям основы ячеек: названия столбца,или или поместить в — без разницы.
кнопку«Сортировка от максимального к«Просматриваемый массив» также ссылка наИНДЕКС мы хотим найтиINDEX(array,row_num,[column_num])Подсказка: ячейкев Excel, а котором ищем,0)) нужны, и поэтому
функции
по которому идет
Таблица1[Цена] аргументы функции ЕСЛИОШИБКА. Важно, чтобы они«Вставить функцию» минимальному»нужно указать координаты ячейку, которая содержит/ сумму по двумИНДЕКС(массив;номер_строки;[номер_столбца])Правильным решением будетA2 Вы решите –=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое требуется помощь функцииВПР проверка (. При желании, стандартноеКак использовать функцию были как можно.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
. самого диапазона. Его любое из вышеперечисленныхПОИСКПОЗ критериям –И я поздравляю тех всегда использовать абсолютныедлиннее 255 символов. остаться с значение;столбец в которомПОИСКПОЗи показать примерыТовар имяВПР (VLOOKUP) ближе к искомомуВ открывшемся окнеПосле того, как была можно вбить вручную, значений.сообщает об ошибкеимя покупателя из Вас, кто ссылки для Вместо неё ВамВПР ищем;0)). более сложных формул
) и критерия (Таблица1для поиска и значению).Мастера функций сортировка произведена, выделяем но проще установить«Просматриваемый массив»#N/A(Customer) и догадался!ИНДЕКС нужно использовать аналогичнуюили переключиться на
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Думаю, ещё проще будетФункция для продвинутых пользователей.Бумага, Карандаши, Ручкиможно подкорректировать на выборки нужных значенийНачнем с простой таблицы,в категории ячейку, где будет курсор в поле– это адрес(#Н/Д) илипродуктНачнём с того, чтои формулуИНДЕКС понять на примере.MATCH Теперь мы попытаемся,). вкладке из списка мы в которой имеется
«Ссылки и массивы» выводиться результат, и и выделить этот диапазона, в котором#VALUE!(Product). Дело усложняется запишем шаблон формулы.ПОИСКПОЗИНДЕКС/ Предположим, у Вас(ПОИСКПОЗ) в Excel если не отговоритьЭто обычная формула (неКонструктор (Design) недавно разбирали. Если список имен иищем наименование запускаем окно аргументов массив на листе, расположено искомое значение.
(#ЗНАЧ!). Если Вы тем, что один Для этого возьмём, чтобы диапазоны поиска/ПОИСКПОЗ есть вот такой ищет указанное значение Вас от использования формула массива), т.е., которая появляется, если вы еще с соответствующие им баллы.«ИНДЕКС»
тем же путем,
зажимая при этом
Именно позицию данного хотите заменить такое покупатель может купить уже знакомую нам не сбились приПОИСКПОЗ. список столиц государств: в диапазоне ячеекВПР можно вводить и щелкнуть в любую ней не знакомыСразу стоит отметить что
, выделяем его и о котором шла левую кнопку мыши. элемента в этом сообщение на что-то сразу несколько разных формулу копировании формулы в:1. Поиск справа налево.Давайте найдём население одной и возвращает относительную, то хотя бы использовать ее привычным ячейку нашей «умной» — загляните сюда, для некоторых имен жмем на кнопку речь в первом После этого его массиве и должен более понятное, то продуктов, и имена
ИНДЕКС другие ячейки.=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))Как известно любому из столиц, например, позицию этого значения показать альтернативные способы образом. Кроме того, таблицы. Подробнее о не пожалейте пяти число баллов повторяются.«OK» способе. адрес отобразится в определить оператор можете вставить формулу покупателей в таблице/Вы можете вкладывать другие
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0)) грамотному пользователю Excel, Японии, используя следующую в диапазоне. реализации вертикального поиска в той же таких таблицах и минут, чтобы сэкономитьХотелось бы, чтобы Excel.В поле окне аргументов.
ПОИСКПОЗ
с
на листеПОИСКПОЗ функции Excel в4. Более высокая скоростьВПР формулу:Например, если в диапазоне в Excel. категории можно найти их скрытых возможностях себе потом несколько вернул значения баллов,
Далее открывается окошко, которое
«Искомое значение»
В третьем поле.ИНДЕКСLookup tableи добавим вИНДЕКС работы.не может смотреть=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))B1:B3Зачем нам это? – функции можно почитать здесь. часов. которые являются наиболее предлагает выбор вариантавбиваем число«Тип сопоставления»«Тип сопоставления»ирасположены в произвольном неё ещё однуиЕсли Вы работаете влево, а это=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))
содержатся значения New-York, спросите Вы. Да,БДСУММ (DSUM)Начиная с версии ExcelЕсли же вы знакомы близкими к числу, оператора«400»ставим числоуказывает точное совпадениеПОИСКПОЗ порядке. функциюПОИСКПОЗ с небольшими таблицами, значит, что искомоеТеперь давайте разберем, что Paris, London, тогда потому что,
2016 в наборе с ВПР, то введенному в исходнойИНДЕКС. В поле«0» нужно искать илив функциюВот такая формула
ИНДЕКС и ПОИСКПОЗ – примеры формул
ПОИСКПОЗ, например, чтобы найти то разница в значение должно обязательно делает каждый элемент следующая формула возвратитВПРДМАКС (DMAX) функции Microsoft Excel — вдогон - ячейке G2 рабочего
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
: для массива или«Просматриваемый массив», так как будем неточное. Этот аргументЕСЛИОШИБКАИНДЕКС, которая будет возвращать минимальное, максимальное или быстродействии Excel будет, находиться в крайнем этой формулы: цифру
– это не, наконец появились функции, стоит разобраться с листа, а также для ссылки. Намуказываем координаты столбца работать с текстовыми может иметь три./ номер столбца. ближайшее к среднему скорее всего, не левом столбце исследуемогоФункция3 единственная функция поискаБСЧЁТ (DCOUNT) которые легко решают похожими функциями: и имена, соответствующие
нужен первый вариант.«Сумма» данными, и поэтому значения:
Синтаксис функции
ПОИСКПОЗ
=INDEX(Ваша таблица,(MATCH(значение для вертикального значение. Вот несколько заметная, особенно в диапазона. В случае
- MATCH, поскольку «London» – в Excel, и, которые используются совершенно нашу задачу -
ИНДЕКС (INDEX)
тем значениям.
- Поэтому оставляем в. В поле нам нужен точный«1»ЕСЛИОШИБКАрешает задачу: поиска,столбец, в котором вариантов формул, применительно последних версиях. Если
- с(ПОИСКПОЗ) ищет значение
это третий элемент
её многочисленные ограничения
аналогично, но умеют это функциииПо одному запросу нужно этом окне все«Тип сопоставления» результат.,очень прост:{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* искать,0)),(MATCH(значение для горизонтального
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
к таблице из же Вы работаетеПОИСКПОЗ «Japan» в столбце в списке. могут помешать Вам находить не толькоМИНЕСЛИ (MINIFS)ПОИСКПОЗ (MATCH) получить ближайшее значение настройки по умолчаниюустанавливаем значение
После того, как все«0»IFERROR(value,value_if_error)(B2=’Lookup table’!$B$2:$B$13),0),3)} поиска,строка в которой предыдущего примера: с большими таблицами,/B
=MATCH("London",B1:B3,0)
получить желаемый результат
минимум, но и
и, владение которыми весьма числа баллов и и жмем на«-1» данные установлены, жмемиЕСЛИОШИБКА(значение;значение_если_ошибка){=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*
искать,0))
1.
которые содержат тысячи
ИНДЕКС, а конкретно –=ПОИСКПОЗ(«London»;B1:B3;0) во многих ситуациях. сумму, максимум иМАКСЕСЛИ (MAXIFS) облегчит жизнь любому соответствующее ему имя. кнопку, так как мы на кнопку
«-1»
Где аргумент
(B2=’Lookup table’!$B$2:$B$13);0);3)}
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикальногоMAX строк и сотни, столбец поиска может в ячейкахФункция С другой стороны, количество значений по. Синтаксис этих функции опытному пользователю Excel.«OK» производим поиск равного«OK». При значенииvalueЭта формула сложнее других, поиска,столбец, в котором(МАКС). Формула находит формул поиска, Excel быть, как вB2:B10MATCH функции условию.
- очень похож на Гляньте на следующийОдним из простых способов. или большего значения.«0»(значение) – это
- которые мы обсуждали искать,0)),(MATCH(значение для горизонтального максимум в столбце будет работать значительно левой, так и, и возвращает число(ПОИСКПОЗ) имеет вотИНДЕКС
Если в исходной таблицеСУММЕСЛИМН (SUMIFS) пример: решения проблемы являетсяОткрывается окно аргументов функции от искомого. ПослеПрограмма выполняет вычисление иоператор ищет только значение, проверяемое на ранее, но вооруженные поиска,строка в которойD быстрее, при использовании в правой части3 такой синтаксис:и очень много строк,
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
:Необходимо определить регион поставки использование вспомогательного столбца.ИНДЕКС выполнения всех настроек выводит порядковый номер точное совпадение. Если
предмет наличия ошибки знанием функций искать,0))и возвращает значениеПОИСКПОЗ диапазона поиска. Пример:, поскольку «Japan» вMATCH(lookup_value,lookup_array,[match_type])ПОИСКПОЗ но данные меняются
=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2; по артикулу товара, В ячейках этого. В поле жмем на кнопку
позиции
указано значение
(в нашем случаеИНДЕКСОбратите внимание, что для
из столбцаи Как находить значения, списке на третьемПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])– более гибкие не часто, то Условие2 … ) набранному в ячейку столбца будут находиться«Массив»«OK»«Сахар»«1»
– результат формулыи двумерного поиска нужноCИНДЕКС
которые находятся слева месте.lookup_value и имеют ряд удобнее будет использовать
где C16. абсолютные значения разностиуказываем адрес того.в выделенном массиве, то в случаеИНДЕКС
ПОИСКПОЗ указать всю таблицутой же строки:вместо покажет эту возможностьФункция(искомое_значение) – это особенностей, которые делают
сводную таблицу, т.к.Диапазон_чиселЗадача решается при помощи исходного числа и диапазона, где операторРезультат обработки выводится в в той ячейке,
отсутствия точного совпадения/Вы одолеете ее. в аргументе=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))ВПР в действии.INDEX
- число или текст, их более привлекательными, формула массива и- диапазон с двух функций: баллов из списка.ИНДЕКС предварительно указанную ячейку. которую мы задалиПОИСКПОЗПОИСКПОЗ Самая сложная часть
array
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
. В целом, такая2. Безопасное добавление или(ИНДЕКС) использует который Вы ищите. по сравнению с функция ДМИН могут числами, из которых
- =ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)Разумеется, решение нашей проблемыбудет искать название Это позиция ещё на первомвыдает самый близкий); а аргумент – это функция(массив) функцииРезультат: Beijing
замена увеличивает скорость
удаление столбцов.
3 Аргумент может бытьВПР сильно тормозить Excel.
выбирается минимальное илиФункция будет найдено в продукции. В нашем
«3»
шаге данной инструкции.
к нему элементvalue_if_errorПОИСКПОЗINDEX2. работы Excel на
Формулы с функцией
для аргумента
значением, в том.Установите активную ячейку в максимальноеПОИСКПОЗ строке, в которой случае – это. Ей соответствует Номер позиции будет по убыванию. Если(значение_если_ошибка) – это
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
, думаю, её нужно(ИНДЕКС).MIN13%ВПРrow_num числе логическим, илиБазовая информация об ИНДЕКС любое место нашейДиапазон_проверкиищет в столбце это значение является столбец«Картофель» равен указано значение значение, которое нужно объяснить первой.
А теперь давайте испытаем(МИН). Формула находит.перестают работать или(номер_строки), который указывает ссылкой на ячейку. и ПОИСКПОЗ умной таблицы и- диапазон, которыйD1:D13 наименьшим.«Наименование товара». Действительно, сумма выручки«4»«-1» возвратить, если формулаMATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13) этот шаблон на
минимум в столбцеВлияние возвращают ошибочные значения, из какой строкиlookup_array
Используем функции ИНДЕКС и
выберите на вкладке
проверяется на выполнение
значение артикула из
Чтобы выбрать соответствующее значение. от реализации этого., то в случае, выдаст ошибку.ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) практике. Ниже ВыDВПР если удалить или нужно возвратить значение.(просматриваемый_массив) – диапазон
ПОИСКПОЗ в Excel
Вставка - Сводная таблица
условия ячейки и соответствующее емуВ поле продукта самая близкаяУрок: если не обнаруженоНапример, Вы можете вставитьВ формуле, показанной выше, видите список самыхи возвращает значение
- на производительность Excel добавить столбец в Т.е. получается простая ячеек, в которомПреимущества ИНДЕКС и ПОИСКПОЗ (Insert — PivotУсловиеC16 имя, достаточно использовать«Номер строки» к числу 400
- Мастер функций в Экселе точное совпадение, функция формулу из предыдущего искомое значение – населённых стран мира. из столбца особенно заметно, если
- таблицу поиска. Для формула: происходит поиск. перед ВПР Table)
- - критерий отбора. Последний аргумент функции следующие формулы сбудет располагаться вложенная по возрастанию иВыше мы рассмотрели самый выдает самый близкий примера в функцию это Предположим, наша задачаC рабочая книга содержит функции=INDEX($D$2:$D$10,3)match_type
ИНДЕКС и ПОИСКПОЗ –. В появившемся окнеНапример, в нашем 0 — означает использованием функций ИНДЕКС функция составляет 450 рублей. примитивный случай применения к нему элемент
ЕСЛИОШИБКА1 узнать население СШАтой же строки: сотни сложных формулВПР=ИНДЕКС($D$2:$D$10;3)(тип_сопоставления) – этот примеры формул нажмите случае: поиск точного (а и ПОИСКПОЗ. ДляПОИСКПОЗАналогичным образом можно произвести оператора по возрастанию. Важно,вот таким образом:, а массив поиска в 2015 году.
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)) массива, таких каклюбой вставленный илиФормула говорит примерно следующее: аргумент сообщает функцииКак находить значения, которыеОКПросто, красиво, изящно. Одна не приблизительного) соответствия. ближайшего значения:. Её придется вбить поиск и самойПОИСКПОЗ если ведется поиск
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)), – это результатХорошо, давайте запишем формулу.=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
ВПР+СУММ удалённый столбец изменит ищи в ячейкахПОИСКПОЗ находятся слева: проблема — функции Функция выдает порядковыйДля имени соответствующему ближайшему вручную, используя синтаксис, близкой позиции к, но даже его не точного значения,»Совпадений не найдено. умножения. Хорошо, что Когда мне нужноРезультат: Lima. Дело в том, результат формулы, поскольку от, хотите ли ВыВычисления при помощи ИНДЕКСВ конструкторе сводной таблицыМИНЕСЛИ номер найденного значения
значению: о котором говорится«400»
можно автоматизировать.
а приблизительного, чтобы
Попробуйте еще раз!») же мы должны создать сложную формулу3. что проверка каждого синтаксисD2 найти точное или и ПОИСКПОЗ перетащите полеи в диапазоне, т.е.Где столбец «D» - в самом началепо убыванию. ТолькоДля удобства на листе
просматриваемый массив был=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); перемножить и почему? в Excel сAVERAGE
значения в массиве
ВПРдо приблизительное совпадение:
Поиск по известным строкеТовар
МАКСЕСЛИ фактически номер строки, наш вспомогательный столбец, статьи. Сразу записываем
для этого нужно добавляем ещё два упорядочен по возрастанию»Совпадений не найдено. Давайте разберем все вложенными функциями, то(СРЗНАЧ). Формула вычисляет требует отдельного вызова
требует указывать весь
D10
1 и столбцув область строк,появились только начиная где найден требуемыый а столбец «B» название функции – произвести фильтрацию данных дополнительных поля: (тип сопоставления Попробуйте еще раз!») по порядку: я сначала каждую среднее в диапазоне функции
диапазон и конкретныйи извлеки значение
или
Поиск по нескольким критериям
а
office-guru.ru
Функция ПОИСКПОЗ в программе Microsoft Excel
с 2016 версии артикул. — столбец с«ПОИСКПОЗ» по возрастанию, а«Заданное значение»«1»И теперь, если кто-нибудьБерем первое значение в вложенную записываю отдельно.D2:D10ВПР номер столбца, из из третьей строки,не указанИНДЕКС и ПОИСКПОЗ вЦену Excel. Если у
Функция именами. Сразу же
Применение оператора ПОИСКПОЗ
без кавычек. Затем в полеи) или убыванию (тип введет ошибочное значение, столбцеИтак, начнём с двух, затем находит ближайшее. Поэтому, чем больше которого нужно извлечь то есть из– находит максимальное сочетании с ЕСЛИОШИБКАв область значений. вас (или тех,ИНДЕКС добавлю (для ясности), открываем скобку. Первым«Тип сопоставления»«Номер» сопоставления
формула выдаст вотA функций
к нему и
значений содержит массив данные. ячейки
значение, меньшее илиТак как задача этого Чтобы заставить сводную кто будет потомвыбирает из диапазона что столбец «C» аргументом данного операторааргументов функции установить. В поле«-1» такой результат:(Customer) на листеПОИСКПОЗ
возвращает значение из и чем большеНапример, если у ВасD4 равное искомому. Просматриваемый учебника – показать вычислять не сумму работать с вашимA1:G13 является столбцом со
является значение«Заданное значение»).Если Вы предпочитаете вMain table, которые будут возвращать столбца формул массива содержит есть таблица, так как счёт массив должен быть возможности функций (или количество), а файлом) более старыезначение, находящееся на значениями баллов.«Искомое значение»«1»вбиваем то наименование,Аргумент случае ошибки оставитьи сравниваем его номера строки иC Ваша таблица, темA1:C10 начинается со второй упорядочен по возрастанию,ИНДЕКС минимум щелкните правой версии, то придется пересечении заданной строкиРешение «хардкор» с использованием. Оно располагается на. которое нужно найти.«Тип сопоставления» ячейку пустой, то со всеми именами столбца для функциитой же строки:
медленнее работает Excel., и требуется извлечь строки. то есть оти кнопкой мыши по шаманить другими способами. (номер строки с формул массива (для листе в полеУрок: Пусть теперь этоне является обязательным. можете использовать кавычки покупателей в таблицеИНДЕКС=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
С другой стороны, формула данные из столбцаВот такой результат получится меньшего к большему.ПОИСКПОЗ любому числу иВ английской версии это артикулом выдает функция любителей и тех,
«Приблизительная сумма выручки»Сортировка и фильтрация данных будет Он может быть («»), как значение на листе:=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)) с функциями
Способ 1: отображение места элемента в диапазоне текстовых данных
B в Excel:0для реализации вертикального выберите в контекстном будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена]))ПОИСКПОЗ кто просто хочет. Указываем координаты ячейки, в Excel«Мясо» пропущенным, если в второго аргумента функции
- Lookup tableПОИСКПОЗ для столбцаРезультат: MoscowПОИСКПОЗ, то нужно задатьВажно! Количество строк и
- – находит первое поиска в Excel, меню командуНе забудьте после ввода) и столбца (нам потренироваться в создании содержащей числоЭффективнее всего эту функцию. В поле нем нет надобности.ЕСЛИОШИБКА(A2:A13).– мы ищемИспользуя функциюи
- значение столбцов в массиве, значение, равное искомому. мы не будемИтоги по — Минимум этой формулы в нужен регион, т.е. формул массива).
350 использовать с другими«Номер» В этом случае. Вот так:Если совпадение найдено, уравнение в столбцеСРЗНАЧ
ИНДЕКС2 который использует функция Для комбинации задерживаться на их: первую зеленую ячейку второй столбец).Поиск ближайшего значения в. Ставим точку с операторами в составеустанавливаем курсор и его значение поIFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)
возвращаетBв комбинации спросто совершает поискдля аргументаINDEXИНДЕКС синтаксисе и применении.Вытаскивать данные из сводной
G4 нажать неДмитрий массиве (CTRL+SHIFT+ENTER): запятой. Вторым аргументом комплексной формулы. Наиболее
- переходим к окну умолчанию равноЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)1, а точнее вИНДЕКС и возвращает результат,col_index_num(ИНДЕКС), должно соответствовать/Приведём здесь необходимый минимум в дальнейшие расчеты Enter, а Ctrl+Shift+Enter,
: Доброе утро, уважаемыеПоиск соответствующего ему имени
Способ 2: автоматизация применения оператора ПОИСКПОЗ
является часто её применяют аргументов оператора тем«1»Надеюсь, что хотя бы(ИСТИНА), а если
- диапазонеи выполняя аналогичную работу(номер_столбца) функции значениям аргументовПОИСКПОЗ для понимания сути, теперь можно с чтобы ввести ее форумчане! в массиве (CTRL+SHIFT+ENTER):«Просматриваемый массив» в связке с же способом, о. Применять аргумент одна формула, описанная нет –B2:B11ПОИСКПОЗ заметно быстрее.ВПР
- row_numвсегда нужно точное а затем разберём помощью функции как формулу массива.Возник вопрос сДва способа, которые показаны. функцией котором шел разговор«Тип сопоставления» в этом учебнике,0, значение, которое указано, в качестве третьегоТеперь, когда Вы понимаете, вот так:(номер_строки) и совпадение, поэтому третий подробно примеры формул,ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA)
- Затем формулу можно поиском значения в выше, возвращают толькоПОИСКПОЗИНДЕКС выше., прежде всего, имеет показалась Вам полезной.(ЛОЖЬ). в ячейке аргумента функции
- причины, из-за которых=VLOOKUP(«lookup value»,A1:C10,2)column_num аргумент функции которые показывают преимущества, которую мы подробно скопировать на остальные столбце с данными одно значение. Поэтому,будет просматривать тот. Данный аргумент выводитВ окне аргументов функции смысл только тогда, Если Вы сталкивалисьДалее, мы делаем то
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
H2ПОИСКПОЗ стоит изучать функции=ВПР(«lookup value»;A1:C10;2)(номер_столбца) функции
ПОИСКПОЗ использования разбирали ранее: товары в ячейки удовлетворяющим требованием +200( когда нескольким именам
- диапазон, в котором в указанную ячейку в поле когда обрабатываются числовые с другими задачами же самое для(USA). Функция будетчаще всего нужноПОИСКПОЗЕсли позднее Вы вставитеMATCHдолжен быть равенИНДЕКСoleg60 G5:G6. или больше) или соответствуют равные значения находится сумма выручки
- содержимое диапазона заданное«Искомое значение» значения, а не поиска, для которых значений столбца выглядеть так: будет указыватьи новый столбец между
(ПОИСКПОЗ). Иначе результат0и: Здравствуйте.Давайте разберем логику работы -200 (или меньше). баллов, формула возвращает и искать наиболее по номеру егоуказываем адрес ячейки, текстовые. не смогли найтиB=MATCH($H$2,$B$1:$B$11,0)1ИНДЕКС столбцами формулы будет ошибочным..ПОИСКПОЗ
- В массиве A2:A6 этой формулы поподробнее. Более подробно в только первое имя приближенную к 350 строки или столбца. в которой вписаноВ случае, если подходящее решение среди(Product).=ПОИСКПОЗ($H$2;$B$1:$B$11;0)или
, давайте перейдём кAСтоп, стоп… почему мы-1вместо набрана информация в Функция ЕСЛИ проверяет файле из списка. рублям. Поэтому в Причем нумерация, как словоПОИСКПОЗ информации в этом
Затем перемножаем полученные результатыРезультатом этой формулы будет-1
Способ 4: использование в сочетании с другими операторами
самому интересному ии не можем просто– находит наименьшееВПР виде 26/тп-16, 27/тп-16 каждую ячейку массиваAlexMИтак, каким же образом данном случае указываем и в отношении«Мясо»при заданных настройках уроке, смело опишите (1 и 0).4в случае, если увидим, как можноB использовать функцию значение, большее или.
и т.д. Необходимо
из столбца: В ячейке С3 можно заставить Excel координаты столбца оператора. В полях не может найти свою проблему в
Только если совпадения, поскольку «USA» – Вы не уверены, применить теоретические знания, то значение аргументаVLOOKUP равное искомому значению.Функция найти наибольшее значениеТовар формула массива, ввод
вернуть список всех«Сумма выручки»ПОИСКПОЗ«Просматриваемый массив» нужный элемент, то комментариях, и мы найдены в обоих это 4-ый элемент что просматриваемый диапазон на практике. придется изменить с(ВПР)? Есть ли Просматриваемый массив долженINDEX для первых двухна предмет равенства которой завершают нажатием имен с интересующими. Опять ставим точку
- , выполняется не относительнои оператор показывает в все вместе постараемся столбцах (т.е. оба списка в столбце содержит значение, равноеЛюбой учебник по2 смысл тратить время, быть упорядочен по(ИНДЕКС) в Excel символов текста («26, текущему товару ( Ctrl+Shift+Enter
- нас значениями баллов с запятой. Третьим всего листа, а«Тип сопоставления» ячейке ошибку решить её. критерия истинны), ВыB
- среднему. Если жеВПРна пытаясь разобраться в убыванию, то есть возвращает значение из 27,…»). Во вложенномБумага200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11 при наличии дубликатов
- аргументом является только внутри диапазона.указываем те же«#Н/Д»Урок подготовлен для Вас получите(включая заголовок). Вы уверены, чтотвердит, что эта3 лабиринтах от большего к массива по заданным примере эта операция
- ). Если это так,Pelena ближайших значений?«Тип сопоставления» Синтаксис этой функции самые данные, что. командой сайта office-guru.ru1ПОИСКПОЗ для строки такое значение есть, функция не может, иначе формула возвратит
ПОИСКПОЗ меньшему. номерам строки и выполняется поэтапно: сначала то выдается соответствующее: Как вариант, тожеЕсть два решения с. Так как мы следующий: и в предыдущемПри проведении поиска операторИсточник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/. Если оба критерия– мы ищем – ставьте смотреть влево. Т.е. результат из толькоиНа первый взгляд, польза столбца. Функция имеет выделяются первые два ему значение из формула массива использованием вспомогательного столбца. будем искать число=ИНДЕКС(массив;номер_строки;номер_столбца) способе – адрес не различает регистрыПеревел: Антон Андронов ложны, или выполняется значение ячейки0 если просматриваемый столбец что вставленного столбца.ИНДЕКС от функции вот такой синтаксис: символа, затем переводятся столбца200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10)))) Первое без, а равное заданному илиПри этом, если массив диапазона и число символов. Если вАвтор: Антон Андронов только один изH3для поиска точного не является крайним
Используя? ПОИСКПОЗINDEX(array,row_num,[column_num]) в числовой формат,ЦенаДмитрий второе с использованием
- самое близкое меньшее, одномерный, то можно«0» массиве присутствует несколькоОдним из наиболее востребованных них – Вы(2015) в строке совпадения. левым в диапазонеПОИСКПОЗ=VLOOKUP(«Japan»,$B$2:$D$2,3)вызывает сомнение. КомуИНДЕКС(массив;номер_строки;[номер_столбца]) и уж потом. В противном случае
- : Спасибо всем большое! формул массива. то устанавливаем тут использовать только одинсоответственно. После этого точных совпадений, то операторов среди пользователей получите1
Если указываете поиска, то нет
/=ВПР(«Japan»;$B$2:$D$2;3) нужно знать положениеКаждый аргумент имеет очень находится наибольшее. – логическое значение всё работает отлично!Сначала подготовим для себя цифру из двух аргументов: жмем на кнопку
ПОИСКПОЗ
lumpics.ru
Поиск ближайшего значения в массиве и всех дубликатов в Excel
Excel является функция0, то есть в1 шансов получить отИНДЕКСВ данном случае – элемента в диапазоне? простое объяснение:Вопрос такой: как ЛОЖЬ (FALSE).
Как найти ближайшее большее значение по формуле в Excel
В Microsoft Excel давно вспомогательный столбец. Первая«1»«Номер строки»
«OK»выводит в ячейкуПОИСКПОЗ
. ячейках, значения в столбцеВПР, Вы можете удалять смысла нет! Цель Мы хотим знатьarray можно выполнить это
Таким образом внешняя функция есть в стандартном ячейка будет содержать. Закрываем скобки.
или
Поиск ближайшего значения без массива в Excel
. позицию самого первого. В её задачиТеперь понимаете, почему мыA1:E1 поиска должны бытьжелаемый результат. или добавлять столбцы
этого примера – значение этого элемента!(массив) – это действие не вМИН (MIN)
наборе функции формулу:Третий аргумент функции«Номер столбца»После того, как мы из них. входит определение номера
задали:
упорядочены по возрастанию,Функции к исследуемому диапазону, исключительно демонстрационная, чтобыПозвольте напомнить, что относительное диапазон ячеек, из три формулы, авыбирает минимальное неСЧЁТЕСЛИ (COUNTIF)
Поиск ближайшего значения в массиве Excel
которую затем перетягиваем (копируем)ИНДЕКС. произвели вышеуказанные действия,Давайте рассмотрим на примере позиции элемента в
1=MATCH($H$3,$A$1:$E$1,0)
а формула вернётПОИСКПОЗ
Повторяющиеся ближайшие значения в Excel
не искажая результат, Вы могли понять, положение искомого значения которого необходимо извлечь в одну? из всех значений, в другие ячейки
«Номер столбца»Особенность связки функций в поле самый простой случай, заданном массиве данных., как искомое значение?=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
максимальное значение, меньшееи так как определен как функции (т.е. номер строки
значение.Спасибо. цен, а толькоСУММЕСЛИ (SUMIF)
вспомогательного столбца.оставляем пустым. ПослеИНДЕКС
«Номер» когда с помощью Наибольшую пользу она Правильно, чтобы функцияРезультатом этой формулы будет или равное среднему.
Без использования формул массива
ИНДЕКС непосредственно столбец, содержащийПОИСКПОЗ
и/или столбца) –row_numKarataev из тех, гдеи
Формула должна возвращать номер этого жмем наиотобразится позиция слова
ПОИСКПОЗ
приносит, когда применяетсяПОИСКПОЗ5Если указываетев Excel гораздо нужное значение. Действительно,и это как раз(номер_строки) – это: Формула массива (вводится товар был
Поиск дублирующийся ближайших значений в массиве Excel
СРЗНАЧЕСЛИ (AVERAGEIF) строки, в которой кнопкуПОИСКПОЗ«Мясо»
можно определить место в комплексе свозвращала позицию только,, поскольку «2015» находится-1
более гибкие, и
это большое преимущество,ИНДЕКС то, что мы номер строки в Ctrl+Shift+Enter):Бумагаи их аналоги, находится значение, наиболее«OK»
exceltable.com
Поиск нужных данных в диапазоне
заключается в том,в выбранном диапазоне. указанного элемента в другими операторами. Давайте когда оба критерия в 5-ом столбце., значения в столбце им все-равно, где особенно когда работатьработают в паре. должны указать для массиве, из которой200?’200px’:»+(this.scrollHeight+5)+’px’);»>=НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A2:A6;2));—ЛЕВСИМВ(A2:A6;2);»»);1)
, т.к. ЛОЖЬ функцией позволяющие искать количество, близкое к искомому.. что последняя может В данном случае массиве текстовых данных. разберемся, что же выполняются.Теперь вставляем эти формулы поиска должны быть находится столбец со приходится с большими
Последующие примеры покажут аргументов нужно извлечь значение.Светлый
МИН сумму и среднее
В противном случае
Как видим, функция использоваться в качестве она равна Узнаем, какую позицию собой представляет функцияОбратите внимание: в функцию упорядочены по убыванию, значением, которое нужно объёмами данных. Вы Вам истинную мощьrow_num Если не указан,: Если всегда двухзначныеигнорируется. При желании, в таблице по возвращает пробел.
ИНДЕКС аргумента первой, то«3» в диапазоне, вПОИСКПОЗВ этом случаеИНДЕКС а возвращено будет извлечь. Для примера, можете добавлять и связки(номер_строки) и/или
planetaexcel.ru
поиск значения в массиве (поиск)
то обязательно требуется числа, пойдёт такая можно выделить мышью
одному или несколькимВспомогательный столбец уже готов,при помощи оператора есть, указывать на. котором находятся наименования, и как её необходимо использовать третий
и вуаля: минимальное значение, большее снова вернёмся к удалять столбцы, неИНДЕКС
column_num
аргумент формула массива: всю функцию ЕСЛИ(…)
условиям. Но что
мы можем вернутьсяПОИСКПОЗ позицию строки или
excelworld.ru
Поиск минимального или максимального значения по условию
Данный способ хорош тем, товаров, занимает слово можно использовать на не обязательный аргумент=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0)) или равное среднему. таблице со столицами беспокоясь о том,и(номер_столбца) функцииcolumn_num200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;2)) в строке формул если нужно найти к нашему поиску.в заранее указанную столбца. что если мы«Сахар»
практике. функции=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))В нашем примере значения государств и населением.
что нужно будетПОИСКПОЗINDEX(номер_столбца).иначе:… и нажать на не сумму илиВ первой ячейке диапазона, ячейку выводит наименованиеДавайте взглянем, как это
захотим узнать позицию.Скачать последнюю версиюИНДЕКСЕсли заменить функции в столбце На этот раз исправлять каждую используемую, которая легко справляется(ИНДЕКС). Как Выcolumn_numКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;ПОИСК(«/»;A2:A6)-1)) клавиатуре среднее, а минимум в котором вы«Чай» можно сделать на любого другого наименования,Выделяем ячейку, в которую Excel. Он необходим, т.к.ПОИСКПОЗD запишем формулу функцию с многими сложными помните, функция(номер_столбца) – этоAlexMF9 или максимум по хотите иметь список. Действительно, сумма от практике, используя всю то не нужно
Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016
будет выводиться обрабатываемыйОператор в первом аргументена значения, которыеупорядочены по возрастанию,ПОИСКПОЗВПР ситуациями, когдаИНДЕКС номер столбца в:, чтобы наглядно увидеть условию(ям)? всех имен, введите
реализации чая (300 ту же таблицу.
будет каждый раз
- результат. Щелкаем поПОИСКПОЗ мы задаем всю они возвращают, формула поэтому мы используем
- /.ВПРможет возвратить значение,
- массиве, из которого200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(-ЛЕВБ(A2:A6;2))
тот самый результирующийПредположим, нам нужно найти
следующую формулу: рублей) ближе всего У нас стоит заново набирать или значкупринадлежит к категории таблицу и должны станет легкой и тип сопоставленияИНДЕКС3. Нет ограничения наоказывается в тупике. находящееся на пересечении нужно извлечь значение.
Способ 2. Формула массива
Формула массива массив, из которого
минимальную цену дляа в ячейку ниже, по убыванию к задача вывести в изменять формулу. Достаточно«Вставить функцию» функций указать функции, из понятной:1, которая покажет, какое
размер искомого значения.Решая, какую формулу использовать заданных строки и Если не указан,Если первые два потом функция каждого товара в которая будет возвращать сумме 350 рублей дополнительное поле листа просто в полеоколо строки формул.«Ссылки и массивы» какого столбца нужно=INDEX($A$1:$E$11,4,5)). Формула место по населению
Используя для вертикального поиска, столбца, но она то обязательно требуется символа не числоКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(ЕСЛИ(ЕЧИСЛО(-ЛЕВБ(A2:A6;2));-ЛЕВБ(A2:A6;2)))МИН базе данных по следующее имя, введите из всех имеющихся«Товар»«Заданное значение»Производится запуск. Он производит поиск извлечь значение. В
=ИНДЕКС($A$1:$E$11;4;5))ИНДЕКС занимает столица РоссииВПР большинство гуру Excel не может определить, аргументjakimи выбирает минимальное поставщикам:
Способ 3. Функция баз данных ДМИН
формулу: в обрабатываемой таблиценаименование товара, общаявписать новое искомоеМастера функций заданного элемента в нашем случае этоЭта формула возвращает значение/
(Москва)., помните об ограничении считают, что какие именно строкаrow_num: Можно воспользоваться и значение:Таким образом, условием будет
- =»&» «))))’ class=’formula’> значений. сумма выручки от слово вместо предыдущего.
- . Открываем категорию указанном массиве и столбец на пересеченииПОИСКПО
- Как видно на рисунке на длину искомогоИНДЕКС и столбец нас(номер_строки) такой формулой безЭтот вариант использует малоизвестную наименование товара (которую затем скопируйте ещеЕсли мы изменим число которого равна 350
Обработка и выдача«Полный алфавитный перечень» выдает в отдельнуюC4-ойЗ ниже, формула отлично значения в 255/ интересуют.Если указаны оба аргумента, массивного ввода. (и многими, кбумага ниже. В результате в поле рублям или самому результата после этогоили ячейку номер его
Способ 4. Сводная таблица
(Sum), и поэтомустроки ивозвращает «Moscow», поскольку справляется с этой символов, иначе рискуетеПОИСКПОЗТеперь, когда Вам известна то функция200?’200px’:»+(this.scrollHeight+5)+’px’);»>=AGGREGATE(14;6;—LEFT(A2:A6;2);1)
сожалению, недооцененную) функцию, все выглядит более«Приблизительная сумма выручки» близкому к этому произойдет автоматически.«Ссылки и массивы» позиции в этом мы ввели5-го величина населения города
задачей: получить ошибкунамного лучше, чем базовая информация обИНДЕКСили такойДМИН (DMIN)карандаши или менее так,на другое, то значению по убыванию.Теперь давайте рассмотрим, как. В списке операторов диапазоне. Собственно на3столбца в диапазоне Москва – ближайшее
=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))#VALUE!ВПР этих двух функциях,возвращает значение изКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=MAX(INDEX(—LEFT(A2:A6;2);0))из категории
planetaexcel.ru
Поиск наибольшего значения в массиве (Формулы/Formulas)
, как показано на
соответственно автоматически будет Данный аргумент указан можно использовать ищем наименование это указывает даже.A1:E11 меньшее к среднему=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))(#ЗНАЧ!). Итак, если. Однако, многие пользователи полагаю, что уже ячейки, находящейся наoleg60Работа с базой данных
ручки рисунке ниже. Как пересчитано и содержимое в полеПОИСКПОЗ
«ПОИСКПОЗ»
его название. ТакжеИ, наконец, т.к. нам, то есть значение
значению (12 269
Теперь у Вас не таблица содержит длинные Excel по-прежнему прибегают становится понятно, как
пересечении указанных строки
: Всем большое спасибо
(Database)
), а диапазоном для видите, в результате поля
«Приблизительная сумма выручки на
для работы с. Найдя и выделив
эта функция при нужно проверить каждую ячейки 006).
должно возникать проблем
строки, единственное действующее
к использованию
функции и столбца. за квалифицированную помощь!
excelworld.ru
и требует небольшого
Поиск нужных данных в диапазоне
Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.
Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:
Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.
Задача решается при помощи двух функций:
=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)
Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.
Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец).
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
- Улучшенная версия функции ВПР (VLOOKUP)
- Многоразовый ВПР
На чтение 6 мин Опубликовано 13.01.2021
Чтобы в Microsoft Office Excel найти значения ячейки, находящейся на пересечении столбика и строчки в табличном массиве, необходимо применить функцию «ИНДЕКС», а также вспомогательную «ПОИСКПОЗ». Найти значение в массиве требуется, когда пользователь работает с большой табличкой, и ему необходимо «подтянуть» ряд данных. В этой статье будет рассмотрен подробный алгоритм использования функции «ИНДЕКС» для поиска значений в массиве.
Содержание
- Запись функции «ИНДЕКС»
- Запись функции «ПОИСПОЗ»
- Как найти значение в массиве
- Заключение
Запись функции «ИНДЕКС»
Такой оператор в форме массива записывается следующим образом: =ИНДЕКС (массив; номер строчки; номер столбика). Вместо слов в скобках указываются соответствующие номера ячеек в исходной таблице.
Запись функции «ПОИСПОЗ»
Этот вспомогательный оператор для первой функции, который также будет использоваться при поиске значений в массиве. Его запись в Excel оформляется так: =ПОИСКПОЗ (значение, которое надо найти; табличный массив; тип сопоставления).
Обратите внимание! При записи аргументов для функции «ИНДЕКС» номер столбца указывать не обязательно.
Как найти значение в массиве
Для понимания темы алгоритм выполнения поставленной задачи необходимо рассмотреть на конкретном примере. Составим в Excel таблицу заказов за один день, в которой будут столбцы: «№ заказа», «Клиент», «Товар», «Количество», «Цена за ед.», «Сумма». Необходимо найти значение в массиве, т.е. составить индивидуальную карточку заказа клиента, чтобы можно было в сжатом виде получить информацию из ячеек исходной таблицы.
Для этого надо выполнить ряд действий по алгоритму:
- Составить карточку заказа клиента.
- Для первой строчки карточки надо создать выпадающий список, в котором будут прописаны имена клиентов из основного массива. Впоследствии, выбрав то или иное имя, пользователь увидит сжатую информацию по нему, которая отобразится в других строках карточки заказа.
- Поставить курсор мышки в первую строку карточки и войти в раздел «Данные» сверху главного меню программы.
- Кликнуть по кнопке «Проверка данных».
- В отобразившемся окошке в поле «Тип данных» указать вариант «Список», а в качестве источника выделить диапазон ячеек исходного массива, в котором прописан перечень всех клиентов.
- В правой части ячейки первого столбца карточки появится стрелочка. Если кликнуть по ней, то можно увидеть список всех клиентов. Здесь надо выбрать любого клиента.
- В строке «№ заказа» прописать функцию «=ИНДЕКС(», после чего кликнуть по значку «fx» рядом со строкой формул Эксель.
- В открывшемся меню Мастера функций из списка выбрать форму массива для функции «ИНДЕКС» и нажать на «ОК».
- Откроется окно «Аргументы функции», в котором надо заполнить все строки, указывая соответствующие диапазоны ячеек.
- Сначала надо кликнуть по пиктограмме напротив поля «Массив» и выделить целиком исходную табличку вместе с шапкой.
- В поле «Номер строки» нужно заполнить функцию «ПОИСКПОЗ». На первом месте в скобке в качестве аргумента указываем название клиента, который был выбран в карточке заказа. В качестве второго аргумента функции «ПОИСКПОЗ» нужно указать весь диапазон клиентов в исходном табличном массиве. На месте третьего аргумента необходимо прописать число 0, т.к. будет искаться точное совпадение.
Важно! После заполнения каждого элемента для функции «ПОИСКПОЗ» потребуется нажимать на кнопку «F4», чтобы навесить знаки долларов перед каждым символом в аргументе. Это позволит формуле не «съехать» в процессе выполнения.
- В строчке «Номер столбца» еще раз прописать вспомогательную функцию «ПОИСКПОЗ» с соответствующими аргументами.
- В качестве первого аргумента для функции надо указать незаполненную ячейку в строке «Товар» в карточке заказа. При этом навешивать знаки долларов на аргументы теперь не надо, т.к. искомый аргумент должен получиться «плавающим».
- Заполняя второй аргумент функции «ПОИСКПОЗ», нужно выделить шапку исходного массива, а затем нажать на кнопку «F4» для закрепления символов.
- В качестве последнего аргумента необходимо прописать 0, закрыть скобку и щелкнуть по «ОК» внизу окошка «Аргументы функции». В данной ситуации число 0 является точным совпадением.
- Проверить результат. После проделывания таких длительных действий в строке «№ заказа» должно отобразиться число, соответствующее выбранному клиенту.
- На последнем этапе формулу потребуется растянуть на все ячейки карточки заказа до конца, чтобы заполнить оставшиеся строчки.
Дополнительная информация! При выборе клиента из выпадающего списка карточки заказов вся информация по этому человеку отобразится в остальных строках массива.
Заключение
Таким образом, для поиска нужного значения в массиве в Microsoft Office Excel пользователю придется проделать немало действий. В итоге должна получиться небольшая табличка данных, в которой отображается сжатая информация по каждому параметру из исходного массива. Метод поиска значений с соответствующими изображениями был подробно рассмотрен выше.
Оцените качество статьи. Нам важно ваше мнение:
Время на прочтение
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, ведь это будет значить, что мой труд не пропал зря!
Спасибо за уделенное время!
Функция ПОИСКПОЗ в Excel
В этой статье рассматривается синтаксис функции ПОИСКПОЗ Excel, а также как использовать функцию ПОИСКПОЗ в Excel с примерами формул.
Также в этой статье рассматривается комбинация формул ИНДЕКС ПОИСКПОЗ в Excel.
В Microsoft Excel существует множество различных функций поиска, которые могут помочь найти определенное значение в ряде ячеек, а ПОИСКПОЗ — одна из них. ПОИСКПОЗ на английском MATCH , в основном, идентифицирует относительное положение элемента в диапазоне ячеек. Однако функция ПОИСКПОЗ Excel в сочетании с другими функциями может сделать гораздо больше.
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает относительное положение этого значения.
Синтаксис формулы ПОИСКПОЗ выглядит следующим образом:
Искомое_значение (обязательный аргумент) – значение, которое вы хотите найти. Это может быть числовое, текстовое или логическое значение, а также ссылка на ячейку.
Просматриваемый_массив (обязательный аргумент) – диапазон ячеек для поиска.
Тип_сопоставления (необязательный аргумент) – определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1.
- 1 или отсутствует (по умолчанию) – находит наибольшее значение в массиве, которое меньше или равно значению поиска. Массив поиска должен быть отсортирован в порядке возрастания, от самого маленького до большого или от A до Z.
- 0 – находит первое значение в массиве, которое в точности равно значению поиска. Сортировка не требуется.
- -1 – находит наименьшее значение в массиве, которое больше или равно значению поиска. Массив поиска должен быть отсортирован в порядке убывания, от самого большого до самого маленького или от Z до A.
Чтобы лучше разобраться в данной функции, давайте напишем простую формулу ПОИСКПОЗ, основанную на следующих данных: фамилии студентов в столбце A и их баллы по экзаменам в столбце B, отсортированные от самых высоких до самых низких. Чтобы узнать, где среди других находится конкретный студент (например, студентка Виноградова), используйте эту простую формулу:
=ПОИСКПОЗ(E1; A2:A8; 0)
При желании вы можете поместить значение поиска в ячейку (E1 в данном примере) и сослаться на эту ячейку в формуле ПОИСКПОЗ Excel:
Функция ПОИСКПОЗ в Excel – Пример использования функции ПОИСКПОЗ в Excel
Как вы видите на изображении выше, фамилии студентов вводятся в произвольном порядке, поэтому мы устанавливаем аргумент тип_сопоставления равным 0 (точное совпадение), поскольку только этот тип соответствия не требует сортировки значений в массиве поиска. Технически формула ПОИСКПОЗ возвращает относительное положение студентки Виноградовой в исследуемом диапазоне. Но поскольку оценки сортируются от самых высоких до самых низких, это также говорит нам о том, что Виноградова пятая по счету среди всех учеников.
Особенности функции ПОИСКПОЗ Excel
Как вы только что видели, использовать ПОИСКПОЗ в Excel легко. Однако, как и у любой функции Excel, у нее есть несколько особенностей, о которых следует знать:
- Функция ПОИСКПОЗ возвращает относительное положение значения поиска в массиве, а не самого значения.
- ПОИСКПОЗ не зависит от регистра , что означает, что она не различает строчные и прописные символы при работе с текстовыми значениями.
- Если массив поиска содержит несколько вхождений искомого значения, возвращается позиция первого значения.
- Если искомое значение не найдено в просматриваемом массиве, возвращается ошибка #Н/Д.
Использование ПОИСКПОЗ в Excel – примеры формул
Теперь, когда вы знаете основные возможности функции ПОИСКПОЗ в Excel, давайте рассмотрим еще несколько примеров формул, которые выходят за рамки основ.
Формула ПОИСКПОЗ Excel с подстановочными знаками
Как и многие другие функции Excel, ПОИСКПОЗ распознает следующие подстановочные знаки:
- Вопросительный знак (?) — заменяет любой символ
- Звездочка (*) — заменяет любую последовательность символов
Примечание . Подстановочные знаки могут использоваться только в формулах ПОИСКПОЗ с параметром тип_сопоставления равному 0.
Формула ПОИСКПОЗ с подстановочными знаками полезна в ситуациях, когда требуется осуществить поиск не всей текстовой строки, а только некоторых символов или некоторой части строки. Чтобы проиллюстрировать это, рассмотрим следующий пример.
Предположим, что у вас есть список компаний и данные их продаж за последнюю неделю. Вы хотите найти относительное положение определенной компании в списке (отсортированному по объему продаж в порядке убывания), но вы не можете точно вспомнить его имя, хотя вы помните несколько первых букв.
Предполагая, что названия компаний находятся в диапазоне A2:A8, и вы ищете название, начинающееся с «восток», формула выглядит следующим образом:
=ПОИСКПОЗ(«восток*»; A2:A8; 0)
Чтобы сделать нашу формулу ПОИСКПОЗ более универсальной, вы можете ввести значение поиска в любой ячейке (E1 в этом примере) и объединить эту ячейку с подстановочным символом, например:
=ПОИСКПОЗ(E1&»*»; A2:A8; 0)
Как показано на изображении ниже, формула возвращает 2 позицию, которая соответствует компании « Восток-авто »:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с подстановочными знаками
Чтобы заменить только один символ в значении поиска, используйте подстановочный оператор «?», например:
Вышеуказанная формула будет соответствовать названию « Бейкер » и вернет его относительное положение, которое равно 5.
Формула ПОИСКПОЗ с учетом регистра
Как уже упоминалось в начале этой статьи, функция ПОИСКПОЗ Excel не различает символы верхнего и нижнего регистра. Чтобы создать формулу соответствия с учетом регистра, используйте ПОИСКПОЗ в сочетании с функцией СОВПАД , которая в точности сравнивает ячейки, включая регистр символа.
Чувствительность к регистру формулы для сопоставления данных в Excel заключается в следующем:
Логика этой формулы такова:
- Функция СОВПАД сравнивает значение поиска с каждым элементом просматриваемого массива. Если сравниваемые ячейки в точности равны, функция возвращает ИСТИНУ, или ЛОЖЬ в противном случае.
- Далее функция ПОИСКПОЗ сравнивает ИСТИНУ (которая является ее искомым_значением) с каждым значением в массиве, возвращаемом СОВПАД, и возвращает позицию первого совпадения
Обратите внимание , что это формула массива, которая требует нажатия Ctrl+Shift+Enter для правильной обработки.
Пусть значение поиска находится в ячейке E1, а массив поиска — A2:A8, тогда формула выглядит следующим образом:
=ПОИСКПОЗ(ИСТИНА; СОВПАД(A2:A8; E1);0)
На следующем изображении демонстрируется формула ПОИСКПОЗ с учетом регистра в Excel:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с учетом регистра
Сравнить 2 столбца на совпадения и различия (ЕНД и ПОИСКПОЗ)
Проверка двух списков на совпадения и различия – одна из наиболее распространенных задач в Excel, и это можно сделать различными способами. Использование формулы ЕНД/ПОИСКПОЗ является одним из них:
=ЕСЛИ(ЕНД(ПОИСКПОЗ (1-е значение в Списке 1; Список 2; 0)); «Нет в Списке 1»; «»)
Для любого значения из Списка 2, отсутствующего в Списке 1, формула возвращает «Нет в Списке 1». И вот как это происходит:
- Функция ПОИСКПОЗ выполняет поиск значения из Списка 1 в Списке 2. Если значение найдено, она возвращает относительное положение, в противном случае ошибку #Н/Д.
- Функция ЕНД в Excel выполняет только одно: проверяет наличие ошибок #Н/Д (что означает «недоступно»). Если заданное значение является ошибкой #Н/Д, функция возвращает ИСТИНА, в противном случае – ЛОЖЬ. В нашем случае ИСТИНА означает, что значение из Списка 1 не найдено в Списке 2 (ПОИСКПОЗ возвращает ошибку #Н/Д).
- Поскольку для других пользователей будет сложно интерпретировать результаты в формате ИСТИНА/ЛОЖЬ, то мы будем использовать функцию ЕСЛИ для отображения текста «Нет в Списке 1» для значений, которых нет в Списке 1.
Предположим, что нам необходимо сравнить значения в столбце B со значениями в столбце A, формула примет следующую форму (где B2 — самая верхняя ячейка):
=ЕСЛИ(ЕНД(ПОИСКПОЗ(B2;A:A;0));»Нет в Списке 1″; «»)
Как вы помните, функция ПОИСКПОЗ Excel сама по себе не учитывает регистр. Чтобы заставить ее различать регистр, вставьте функцию СОВПАД в аргумент просматриваемый_массив и не забудьте нажать Ctrl+Shift+Enter , чтобы завершить эту формулу массива :
=ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА; СОВПАД(A:A;B2); 0));»Нет в Списке 1″; «»)
На следующем изображении демонстрируются обе формулы в действии:
Функция ПОИСКПОЗ в Excel – Сравнение 2 столбцов на совпадения с использованием ЕНД и ПОИСКПОЗ
ИНДЕКС и ПОИСКПОЗ в Excel
С функцией ПОИСКПОЗ Excel мы уже знакомы. Давайте теперь рассмотрим, как можно использовать комбинацию ИНДЕКС ПОИСКПОЗ в Excel. Начнем с синтаксиса функции ИНДЕКС.
Синтаксис и использование функции ИНДЕКС
Функция ИНДЕКС Excel возвращает значение в массиве, основанное на указанных вами строках и столбцах. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив; номер_строки; [номер_столбца])
Вот очень простое объяснение каждого параметра:
- массив – это диапазон ячеек, из которого вы хотите вернуть значение.
- номер_строки – номер строки в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_столбца.
- номер_столбца – номер столбца в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_строки.
Если используются оба параметра номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении указанной строки и столбца.
Вот простейший пример формулы ИНДЕКС:
Формула ищет в ячейках от A1 до C10 и возвращает значение ячейки во второй строке и третьем столбце, то есть в ячейке C2.
Очень легко, не так ли? Однако при работе с реальными данными вы вряд ли знаете, какие строки и столбцы вам нужны, поэтому вам нужна помощь функции ПОИСКПОЗ.
ИНДЕКС ПОИСКПОЗ в Excel пример
Теперь, когда вы знаете синтаксис и основы этих двух функций, у вас наверняка уже сложилось понимание того, как работают ИНДЕКС ПОИСКПОЗ Excel.
Функция ПОИСКПОЗ определяет относительное положение значения поиска в указанном диапазоне ячеек. А функция ИНДЕКС принимает это число и возвращает значение в соответствующую ячейку.
Комбинацию ИНДЕКС ПОИСКПОЗ в Excel можно представить таким образом:
=ИНДЕКС(столбец для возвращения значения, ПОИСКПОЗ (значение поиска, столбец для поиска, 0))
Для лучшего понимания рассмотрим наглядный пример. Предположим, у нас есть список стран с населением, подобных этому:
Функция ПОИСКПОЗ в Excel – Исходные данные для формулы ИНДЕКС ПОИСКПОЗ в Excel
Найдем численность населения, например, России, используя следующую формулу ИНДЕКС ПОИСКПОЗ:
Теперь давайте разберем, что на самом деле выполняет каждый компонент этой формулы:
- Функция ПОИСКПОЗ выполняет поиск значения «Россия» в столбце B, точнее в ячейках B2:B11 и возвращает номер 7, потому что «Россия» находится на седьмом месте в списке.
- Функция ИНДЕКС принимает «7» во втором параметре (номер_строки), который указывает, из какой строки вы хотите вернуть значение, и превращается в простую формулу =ИНДЕКС($C$2:$C$11, 7). То есть формула производит поиск в ячейках C2-C11 и возвращает значение ячейки в седьмой строке, то есть ячейке C8, потому что мы начинаем отсчет со второй строки.
И вот результат, который мы получаем в Excel:
Функция ПОИСКПОЗ в Excel – ИНДЕКС ПОИСКПОЗ пример формулы
Обратите внимание! Количество строк и столбцов в массиве ИНДЕКС должно соответствовать значениям в параметрах номер_строки и/или номер_столбца функции ПОИСКПОЗ соответственно. В противном случае формула вернет неверный результат.
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
Допустим ваш отчет содержит таблицу с большим количеством данных на множество столбцов. Проводить визуальный анализ таких таблиц крайне сложно. А одним из заданий по работе с отчетом является – анализ данных относительно заголовков строк и столбцов касающихся определенного месяца. На первый взгляд это весьма простое задание, но его нельзя решить, используя одну стандартную функцию. Да, конечно можно воспользоваться инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, чтобы вызвать окно поиска значений на листе Excel. Или же создать для таблицы правило условного форматирования. Но тогда нельзя будет выполнить дальнейших вычислений с полученными результатами. Поэтому необходимо создать и правильно применить соответствующую формулу.
Поиск значения в массиве Excel
Схема решения задания выглядит примерно таким образом:
- в ячейку B1 мы будем вводить интересующие нас данные;
- в ячейке B2 будет отображается заголовок столбца, который содержит значение ячейки B1
- в ячейке B3 будет отображается название строки, которая содержит значение ячейки B1.
Фактически необходимо выполнить поиск координат в Excel. Для чего это нужно? Достаточно часто нам нужно получить координаты таблицы по значению. Немного напоминает обратный анализ матрицы. Конкретный пример в двух словах выглядит примерно так. Поставленная цель в цифрах является исходным значением, нужно определить кто и когда наиболее приближен к этой цели. Для примера используем простую матрицу данных с отчетом по количеству проданных товаров за три квартала, как показано ниже на рисунке. Важно, чтобы все числовые показатели совпадали. Если нет желания вручную создавать и заполнять таблицу Excel с чистого листа, то в конце статьи можно скачать уже с готовым примером.
Последовательно рассмотрим варианты решения разной сложности, а в конце статьи – финальный результат.
Поиск значения в столбце Excel
Сначала научимся получать заголовки столбцов таблицы по значению. Для этого выполните следующие действия:
- В ячейку B1 введите значение взятое из таблицы 5277 и выделите ее фон синим цветом для читабельности поля ввода (далее будем вводить в ячейку B1 другие числа, чтобы экспериментировать с новыми значениями).
- В ячейку C2 вводим формулу для получения заголовка столбца таблицы который содержит это значение:
- После ввода формулы для подтверждения нажимаем комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно в строке формул по краям появятся фигурные скобки < >.
В ячейку C2 формула вернула букву D — соответственный заголовок столбца листа. Как видно все сходиться, значение 5277 содержится в ячейке столбца D. Рекомендуем посмотреть на формулу для получения целого адреса текущей ячейки.
Поиск значения в строке Excel
Теперь получим номер строки для этого же значения (5277). Для этого в ячейку C3 введите следующую формулу:
После ввода формулы для подтверждения снова нажимаем комбинацию клавиш CTRL+SHIFT+Enter и получаем результат:
Формула вернула номер 9 – нашла заголовок строки листа по соответствующему значению таблицы. В результате мы имеем полный адрес значения D9.
Как получить заголовок столбца и название строки таблицы
Теперь научимся получать по значению координаты не целого листа, а текущей таблицы. Одним словом, нам нужно найти по значению 5277 вместо D9 получить заголовки:
- для столбца таблицы – Март;
- для строки – Товар4.
Чтобы решить данную задачу будем использовать формулу с уже полученными значениями в ячейках C2 и C3. Для этого делаем так:
- Для заголовка столбца. В ячейку D2 введите формулу: На этот раз после ввода формулы для подтверждения жмем как по традиции просто Enter:
- Для строки вводим похожую, но все же немного другую формулу:
В результате получены внутренние координаты таблицы по значению – Март; Товар 4:
На первый взгляд все работает хорошо, но что, если таблица будет содержат 2 одинаковых значения? Тогда могут возникнуть проблемы с ошибками! Рекомендуем также посмотреть альтернативное решение для поиска столбцов и строк по значению.
Поиск одинаковых значений в диапазоне Excel
Чтобы проконтролировать наличие дубликатов среди значений таблицы создадим формулу, которая сможет информировать нас о наличии дубликатов и подсчитывать их количество. Для этого в ячейку E2 вводим формулу:
Более того для диапазона табличной части создадим правило условного форматирования:
- Выделите диапазон B6:J12 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Правила выделения ячеек»-«Равно».
- В левом поле введите значение $B$1, а из правого выпадающего списка выберите опцию «Светло-красная заливка и темно-красный цвет» и нажмите ОК.
- В ячейку B1 введите значение 3478 и полюбуйтесь на результат.
Как видно при наличии дубликатов формула для заголовков берет заголовок с первого дубликата по горизонтали (с лева на право). А формула для получения названия (номера) строки берет номер с первого дубликата по вертикали (сверху вниз). Для исправления данного решения есть 2 пути:
- Получить координаты первого дубликата по горизонтали (с лева на право). Для этого только в ячейке С3 следует изменить формулу на: В результате получаем правильные координаты как для листа, так и для таблицы:
- Получить координаты первого дубликата по вертикали (сверху вниз). Для этого только в ячейке С2 следует изменить формулу на:
В данном случаи изменяем формулы либо одну либо другую, но не две сразу. Стоит напомнить о том, что в ячейке С3 должна оставаться старая формула:
Здесь правильно отображаются координаты первого дубликата по вертикали (с верха в низ) – I7 для листа и Август; Товар2 для таблицы. Оставим такой вариант для следующего завершающего примера.
Поиск ближайшего значения в диапазоне Excel
Данная таблица все еще не совершенна. Ведь при анализе нужно точно знать все ее значения. Если введенное число в ячейку B1 формула не находит в таблице, тогда возвращается ошибка – #ЗНАЧ! Идеально было-бы чтобы формула при отсутствии в таблице исходного числа сама подбирала ближайшее значение, которое содержит таблица. Чтобы создать такую программу для анализа таблиц в ячейку F1 введите новую формулу:
После чего следует во всех остальных формулах изменить ссылку вместо B1 должно быть F1! Так же нужно изменить ссылку в условном форматировании. Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»-«Изменить правило». И здесь в параметрах укажите F1 вместо B1 . Чтобы проверить работу программы, введите в ячейку B1 число которого нет в таблице, например: 8000. Это приведет к завершающему результату:
Теперь можно вводить любое исходное значение, а программа сама подберет ближайшее число, которое содержит таблица. После чего выводит заголовок столбца и название строки для текущего значения. Например, если ввести число 5000 получаем новый результат:
Наша программа в Excel нашла наиболее близкое значение 4965 для исходного – 5000. Такая программа может пригодится для автоматического решения разных аналитических задач при бизнес-планировании, постановки целей, поиска рационального решения и т.п. А полученные строки и столбцы позволяют дальше расширять вычислительные возможности такого рода отчетов с помощью новых формул Excel.
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.
Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.
Поиск значений в списке по вертикали по приблизительному совпадению
Для этого используйте функцию ВПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.
Дополнительные сведения можно найти в разделе функция ВПР.
Поиск значений по вертикали в списке неизвестного размера с точным соответствием
Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.
Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.
C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).
Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.
1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.
Поиск значений в списке по горизонтали по точному совпадению
Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.
Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения можно найти в разделе функции ГПР.
Поиск значений в списке по горизонтали с использованием приблизительного совпадения
Для выполнения этой задачи используется функция ГПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.
Дополнительные сведения можно найти в разделе функции ГПР.
Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )
Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).
В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.
Щелкните ячейку в диапазоне.
На вкладке формулы в группе решения нажмите кнопку Подстановка .
Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.
Загрузка программы-надстройки «Мастер подстановок»
Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Функция ПОИСКПОЗ() в MS EXCEL
Функция ПОИСКПОЗ( ) , английский вариант MATCH(), возвращает позицию значения в диапазоне ячеек. Например, если в ячейке А10 содержится значение «яблоки», то формула =ПОИСКПОЗ («яблоки»;A9:A20;0) вернет 2, т.е. искомое значение «яблоки» содержится во второй ячейке диапазона A9:A20:А9 — первая ячейка (предполагается, что в ней не содержится значение «яблоки»), А10 — вторая, А11 — третья и т.д. (подсчет позиции производится от верхней ячейки).
Функция ПОИСКПОЗ() возвращает позицию искомого значения, а не само значение. Например: ПОИСКПОЗ(«б»;<«а»;»б»;»в»;»б»>;0) возвращает число 2 — относительную позицию буквы «б» в массиве <«а»;»б»;»в»;»б»>. Позиция второй буквы «б» будет проигнорирована, функция вернет позицию только первой буквы. О том как вернуть ВСЕ позиции искомого значения читайте ниже в разделе Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию.
Синтаксис функции
ПОИСКПОЗ(искомое_значение; просматриваемый_массив; тип_сопоставления)
Искомое_значение — значение, используемое при поиске значения в просматриваемом_массиве. Искомое_значение может быть значением (числом, текстом или логическим значением (ЛОЖЬ или ИСТИНА)) или ссылкой на ячейку, содержащую число, текст или логическое значение.
Просматриваемый_массив — непрерывный диапазон ячеек, возможно, содержащих искомые значения. Просматриваемый_массив может быть только одностолбцовым диапазоном ячеек, например А9:А20 или диапазоном, расположенным в одной строке, например, А2:Е2. Таким образом формула =ПОИСКПОЗ(«слива»;A30:B33;0) работать не будет (выдаст ошибку #Н/Д), так как Просматриваемый_массив представляет собой диапазон ячеек размещенный одновременно в нескольких столбцах и нескольких ячейках.
Тип_сопоставления — число -1, 0 или 1. Тип_сопоставления указывает, как MS EXCEL сопоставляет искомое_значение со значениями в аргументе просматриваемый_массив.
- Если тип_сопоставления равен 0, то функция ПОИСКПОЗ() находит первое значение, которое в точности равно аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен.
- Если тип_сопоставления равен 1, то функция ПОИСКПОЗ() находит наибольшее значение, которое меньше либо равно, чем искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: . -2, -1, 0, 1, 2, . A-Z, ЛОЖЬ, ИСТИНА. Если тип_сопоставления опущен, то предполагается, что он равен 1.
- Если тип_сопоставления равен -1, то функция ПОИСКПОЗ() находит наименьшее значение, которое больше либо равно чем искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z-A, . 2, 1, 0, -1, -2, . и так далее.
Функция ПОИСКПОЗ() не различает РеГИстры при сопоставлении текстов.
Если функция ПОИСКПОЗ() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск позиции в НЕ сортированном списке текстовых значений (диапазон B7:B13)
Столбец Позиция приведен для наглядности и не влияет на вычисления.
Формула для поиска позиции значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)
Формула находит первое значение сверху и выводит его позицию в диапазоне, второе значение Груши учтено не будет.
Чтобы найти номер строки, а не позиции в искомом диапазоне, можно записать следующую формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)
Если искомое значение не обнаружено в списке, то будет возвращено значение ошибки #Н/Д. Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) вернет ошибку, т.к. значения «грейпфрут» в диапазоне ячеек B7:B13 нет.
В файле примера можно найти применение функции при поиске в горизонтальном массиве.
Excel поиск значения в массиве
В данной статье рассмотрены некоторые функции по работе со ссылками и массивами:
Функция ВПР
Вертикальное первое равенство. Ищет совпадение по ключу в первом столбце определенного диапазона и возвращает значение из указанного столбца этого диапазона в совпавшей с ключом строке.
Синтаксис: =ВПР(ключ; диапазон; номер_столбца; [интервальный_просмотр]), где
- ключ – обязательный аргумент. Искомое значение, для которого необходимо вернуть значение.
- диапазон – обязательный аргумент. Таблица, в которой необходимо найти значение по ключу. Первый столбец таблицы (диапазона) должен содержать значение совпадающее с ключом, иначе будет возвращена ошибка #Н/Д.
- номер_столбца – обязательный аргумент. Порядковый номер столбца в указанном диапазоне из которого необходимо возвратить значение в случае совпадения ключа.
- интервальный_просмотр – необязательный аргумент. Логическое значение указывающее тип просмотра:
- ЛОЖЬ – функция ищет точное совпадение по первому столбцу таблицы. Если возможно несколько совпадений, то возвращено будет самое первое. Если совпадение не найдено, то функция возвращает ошибку #Н/Д.
- ИСТИНА – функция ищет приблизительное совпадение. Является значением по умолчанию. Приблизительное совпадение означает, если не было найдено ни одного совпадения, то функция вернет значение предыдущего ключа. При этом предыдущим будет считаться тот ключ, который идет перед искомым согласно сортировке от меньшего к большему либо от А до Я. Поэтому, перед применением функции с данным интервальным просмотром, предварительно отсортируйте первый столбец таблицы по возрастанию, так как, если это не сделать, функция может вернуть неправильный результат. Когда найдено несколько совпадений, возвращается последнее из них.
Важно не путать, что номер столбца указывается не по индексу на листе, а по порядку в указанном диапазоне.
На изображении приведено 3 таблицы. Первая и вторая таблицы располагают исходными данными. Третья таблица собрана из первых двух.
В первой таблице приведены категории товара и расположение каждой категории.
Во второй категории имеется список всех товаров с указанием цен.
Третья таблица содержать часть товаров для которых необходимо определить цену и расположение.
Для цены необходимо использовать функцию ВПР с точным совпадением (интервальный просмотр ЛОЖЬ), так как данный параметр определен для всех товаров и не предусматривает использование цены другого товара, если вдруг она по случайности еще не определена.
Для определения расположения товара используется ВПР с приблизительным совпадением (интервальный просмотр ИСТИНА), так как распределение товара осуществляется по категориям. Из-за того, что наименование товара состоит из названия категории плюс дополнительный текст, по условиям сортировки от А до Я наименования товаров будут идти сразу после наименования категории, поэтому когда в таблице не обнаруживается совпадений с ключом подтягивается первое значение сверху.
В принципе, данный подход устраивал бы, если для товаров, для которых отсутствует категория, не подтягивалось расположение. Обратите внимание на товар «Лук Подмосковье». Для него определено расположение «Стелаж №2», хотя в первой таблице нет категории «Лук». Это происходит все по тем же причинам, когда функцией не обнаруживается равенств, то она определяет для значения значение меньшего самого близкого по сортировке ключа, а для «Лук Подмосковье» это категория «Картофель».
Он подобного эффекта можно избавиться путем определения категории из наименования товара используя текстовые функции ЛЕВСИМВ(C11;ПОИСК(» «;C11)-1), которые вернут все символы до первого пробела, а также изменить интервальный просмотр на точный.
Помимо всего описанного, функция ВПР позволяет применять для текстовых значений подстановочные символы – * (звездочка – любое количество любых символов) и ? (один любой символ). Например, для искомого значения «*» & «иван» & «*» могут подойти строки Иван, Иванов, диван и т.д.
Также данная функция может искать значения в массивах – =ВПР(1;<2;»Два»:1;»Один»>;2;ЛОЖЬ) – результат выполнения строка «Два».
Функция ГПР
Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.
Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).
Так как функция аналогична функции ВПР, за исключением того, что использует горизонтальные таблицы вместо вертикальных, то описания и примеры использования подходят и для ГПР с учетом упомянутых различий.
Функция СТРОКА
Определяет и возвращает номер строки указанной ссылкой ячейки.
Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.
=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.
Функция СТОЛБЕЦ
Возвращает номер столбца ячейки, указанной ссылкой.
Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.
=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.
Функция АДРЕС
Возвращает текст, представляющий адрес ячейки, заданной номерами строки и столбца.
Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:
- Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
- Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
- тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
- 1 – значение по умолчанию, когда закреплены все индексы;
- 2 – закрепление индекса строки;
- 3 – закрепление индекса столбца;
- 4 – адрес без закреплений.
- стиль_ссылки – необязательный аргумент. Логическое значение:
- ИСТИНА – формат ссылок «A1»;
- ЛОЖЬ – формат ссылок «R1C1».
- имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.
=АДРЕС(1;1) – возвращает $A$1.
=АДРЕС(1;1;4) – возвращает A1.
=АДРЕС(1;1;4;ЛОЖЬ) – результат R[1]C[1].
=АДРЕС(1;1;4;ЛОЖЬ;»Лист1″) – результат выполнения функции Лист1!R[1]C[1].
Функция ДВССЫЛ
Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.
Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где
- адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, «C3», «R3C3» или «D8:D9».
- стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
- ИСТИНА – стиль A1. Является значением по умолчанию;
- ЛОЖЬ – стиль R1C1.
=ДВССЫЛ(«a3») – возвращает ссылку на ячейку A3.
=ДВССЫЛ(«r3c3») – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(«r3c3»; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:
Функция ЧСТРОК
Возвращает число строк в указанном диапазоне или массиве.
Синтаксис: =ЧСТРОК(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧСТРОК(D1:D8) – функция возвращает результат 8.
=ЧСТРОК(<1:2:3:4:5>) – функция определят, что в массиве 5 строк.
Функция ЧИСЛСТОЛБ
Возвращает число столбцов в указанном диапазоне или массиве.
Синтаксис: =ЧИСЛСТОЛБ(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧИСЛСТОЛБ(A5:D5) – результат функции 4.
=ЧИСЛСТОЛБ(<1;2;3;4;5>) – функция определят, что в массиве 5 столбцов.
Функция СМЕЩ
Смещает ссылку на диапазон на указанное количество строк и столбцов, а также позволяет изменить его размерность.
Функция не передвигает и не изменяет самих ячеек, а только подменяет саму ссылку.
Синтаксис: =СМЕЩ(ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]), где
-
ссылка – обязательный аргумент.
Ссылка на ячейку либо диапазон, относительно которого необходимо произвести смещение.
Если в результате смещения диапазон стал выходить на пределы листа, то функция возвращает ошибку #ССЫЛКА!.
Для примера будем использовать вложение функции СМЕЩ в функцию СУММ.
Изначально ссылаемся на диапазон из 10 строк и 1 столбца, где все ячейки имеют значение 2. Таким образом получает результат выполнения формулы – 20.
Теперь сместим диапазон на один столбец влево, т.е. на -1.
Снова изменим ссылку, а именно расширим до 4 столбцов. После этого возвращаемая ссылка станет A3:D12. Результат на изображении.
Функция ПОИСКПОЗ
Возвращает позицию элемента, заданного по значению, в диапазоне либо массиве.
Синтаксис: =ПОИСКПОЗ(искомое_значение; массив; [тип_сопоставления]), где:
- искомое_значение – обязательный аргумент. Значение элемента, который необходимо найти в массиве.
- Массив – обязательный аргумент. Одномерный диапазон либо массив для поиска элемента.
- тип_сопоставления – необязательный аргумент. Число 1, 0 или -1, определяющее способ поиска элемента:
- 1 – значение по умолчанию. Если совпадений не найдено, то возвращается позиция ближайшего меньшего по значению к искомому элементу. Массив или диапазон должен быть отсортирован от меньшего к большему или от А до Я.
- 0 – функция ищет точное совпадение. Если не найдено, то возвращается ошибка #Н/Д.
- -1 – Если совпадений не найдено, то возвращается позиция ближайшего большего по значению к искомому элементу. Массив или диапазон должен быть отсортирован по убыванию.
Пример использования:
=ПОИСКПОЗ(«Г»; <«а»;»б»;»в»;»г»;»д»>) – функция возвращает результат 4.
Функция ПОИСКПОЗ в Excel
При этом регистр не учитывается.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 1) – результат 5, т.к. элемента не найдено, поэтому возвращается ближайший меньший по значению элемент. Элементы массива записаны по возрастанию.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 0) – возвращается ошибка, т.к. элемент не найден, а тип сопоставления указан на точное совпадение.
=ПОИСКПОЗ(«в»; <«д»;»г»;»в»;»б»;»а»>; -1) – результат 3.
=ПОИСКПОЗ(«д»; <«а»;»б»;»в»;»г»;»д»>; -1) – элемент не найден, хотя присутствует в массиве. Функция возвращает неверный результат, так как последний аргумент принимает значение -1, а элементы НЕ расположены по убыванию.
Для текстовых значений функция допускает использование подстановочных символов «*» и «?».
Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.
У Вас недостаточно прав для комментирования.
Содержание
- Применение оператора ПОИСКПОЗ
- Способ 1: отображение места элемента в диапазоне текстовых данных
- Способ 2: автоматизация применения оператора ПОИСКПОЗ
- Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
- Способ 4: использование в сочетании с другими операторами
- Вопросы и ответы
Одним из наиболее востребованных операторов среди пользователей Excel является функция ПОИСКПОЗ. В её задачи входит определение номера позиции элемента в заданном массиве данных. Наибольшую пользу она приносит, когда применяется в комплексе с другими операторами. Давайте разберемся, что же собой представляет функция ПОИСКПОЗ, и как её можно использовать на практике.
Применение оператора ПОИСКПОЗ
Оператор ПОИСКПОЗ принадлежит к категории функций «Ссылки и массивы». Он производит поиск заданного элемента в указанном массиве и выдает в отдельную ячейку номер его позиции в этом диапазоне. Собственно на это указывает даже его название. Также эта функция при применении в комплексе с другими операторами сообщает им номер позиции конкретного элемента для последующей обработки этих данных.
Синтаксис оператора ПОИСКПОЗ выглядит так:
=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
Теперь рассмотрим каждый из трех этих аргументов в отдельности.
«Искомое значение» – это тот элемент, который следует отыскать. Он может иметь текстовую, числовую форму, а также принимать логическое значение. В качестве данного аргумента может выступать также ссылка на ячейку, которая содержит любое из вышеперечисленных значений.
«Просматриваемый массив» – это адрес диапазона, в котором расположено искомое значение. Именно позицию данного элемента в этом массиве и должен определить оператор ПОИСКПОЗ.
«Тип сопоставления» указывает точное совпадение нужно искать или неточное. Этот аргумент может иметь три значения: «1», «0» и «-1». При значении «0» оператор ищет только точное совпадение. Если указано значение «1», то в случае отсутствия точного совпадения ПОИСКПОЗ выдает самый близкий к нему элемент по убыванию. Если указано значение «-1», то в случае, если не обнаружено точное совпадение, функция выдает самый близкий к нему элемент по возрастанию. Важно, если ведется поиск не точного значения, а приблизительного, чтобы просматриваемый массив был упорядочен по возрастанию (тип сопоставления «1») или убыванию (тип сопоставления «-1»).
Аргумент «Тип сопоставления» не является обязательным. Он может быть пропущенным, если в нем нет надобности. В этом случае его значение по умолчанию равно «1». Применять аргумент «Тип сопоставления», прежде всего, имеет смысл только тогда, когда обрабатываются числовые значения, а не текстовые.
В случае, если ПОИСКПОЗ при заданных настройках не может найти нужный элемент, то оператор показывает в ячейке ошибку «#Н/Д».
При проведении поиска оператор не различает регистры символов. Если в массиве присутствует несколько точных совпадений, то ПОИСКПОЗ выводит в ячейку позицию самого первого из них.
Способ 1: отображение места элемента в диапазоне текстовых данных
Давайте рассмотрим на примере самый простой случай, когда с помощью ПОИСКПОЗ можно определить место указанного элемента в массиве текстовых данных. Узнаем, какую позицию в диапазоне, в котором находятся наименования товаров, занимает слово «Сахар».
- Выделяем ячейку, в которую будет выводиться обрабатываемый результат. Щелкаем по значку «Вставить функцию» около строки формул.
- Производится запуск Мастера функций. Открываем категорию «Полный алфавитный перечень» или «Ссылки и массивы». В списке операторов ищем наименование «ПОИСКПОЗ». Найдя и выделив его, жмем на кнопку «OK» в нижней части окна.
- Активируется окно аргументов оператора ПОИСКПОЗ. Как видим, в данном окне по числу количества аргументов имеется три поля. Нам предстоит их заполнить.
Так как нам нужно найти позицию слова «Сахар» в диапазоне, то вбиваем это наименование в поле «Искомое значение».
В поле «Просматриваемый массив» нужно указать координаты самого диапазона. Его можно вбить вручную, но проще установить курсор в поле и выделить этот массив на листе, зажимая при этом левую кнопку мыши. После этого его адрес отобразится в окне аргументов.
В третьем поле «Тип сопоставления» ставим число «0», так как будем работать с текстовыми данными, и поэтому нам нужен точный результат.
После того, как все данные установлены, жмем на кнопку «OK».
- Программа выполняет вычисление и выводит порядковый номер позиции «Сахар» в выделенном массиве в той ячейке, которую мы задали ещё на первом шаге данной инструкции. Номер позиции будет равен «4».
Урок: Мастер функций в Экселе
Способ 2: автоматизация применения оператора ПОИСКПОЗ
Выше мы рассмотрели самый примитивный случай применения оператора ПОИСКПОЗ, но даже его можно автоматизировать.
- Для удобства на листе добавляем ещё два дополнительных поля: «Заданное значение» и «Номер». В поле «Заданное значение» вбиваем то наименование, которое нужно найти. Пусть теперь это будет «Мясо». В поле «Номер» устанавливаем курсор и переходим к окну аргументов оператора тем же способом, о котором шел разговор выше.
- В окне аргументов функции в поле «Искомое значение» указываем адрес ячейки, в которой вписано слово «Мясо». В полях «Просматриваемый массив» и «Тип сопоставления» указываем те же самые данные, что и в предыдущем способе – адрес диапазона и число «0» соответственно. После этого жмем на кнопку «OK».
- После того, как мы произвели вышеуказанные действия, в поле «Номер» отобразится позиция слова «Мясо» в выбранном диапазоне. В данном случае она равна «3».
- Данный способ хорош тем, что если мы захотим узнать позицию любого другого наименования, то не нужно будет каждый раз заново набирать или изменять формулу. Достаточно просто в поле «Заданное значение» вписать новое искомое слово вместо предыдущего. Обработка и выдача результата после этого произойдет автоматически.
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
Теперь давайте рассмотрим, как можно использовать ПОИСКПОЗ для работы с числовыми выражениями.
Ставится задача найти товар на сумму реализации 400 рублей или самый ближайший к этой сумме по возрастанию.
- Прежде всего, нам нужно отсортировать элементы в столбце «Сумма» по убыванию. Выделяем данную колонку и переходим во вкладку «Главная». Щелкаем по значку «Сортировка и фильтр», который расположен на ленте в блоке «Редактирование». В появившемся списке выбираем пункт «Сортировка от максимального к минимальному».
- После того, как была сортировка произведена, выделяем ячейку, где будет выводиться результат, и запускаем окно аргументов тем же путем, о котором шла речь в первом способе.
В поле «Искомое значение» вбиваем число «400». В поле «Просматриваемый массив» указываем координаты столбца «Сумма». В поле «Тип сопоставления» устанавливаем значение «-1», так как мы производим поиск равного или большего значения от искомого. После выполнения всех настроек жмем на кнопку «OK».
- Результат обработки выводится в предварительно указанную ячейку. Это позиция «3». Ей соответствует «Картофель». Действительно, сумма выручки от реализации этого продукта самая близкая к числу 400 по возрастанию и составляет 450 рублей.
Аналогичным образом можно произвести поиск и самой близкой позиции к «400» по убыванию. Только для этого нужно произвести фильтрацию данных по возрастанию, а в поле «Тип сопоставления» аргументов функции установить значение «1».
Урок: Сортировка и фильтрация данных в Excel
Способ 4: использование в сочетании с другими операторами
Эффективнее всего эту функцию использовать с другими операторами в составе комплексной формулы. Наиболее часто её применяют в связке с функцией ИНДЕКС. Данный аргумент выводит в указанную ячейку содержимое диапазона заданное по номеру его строки или столбца. Причем нумерация, как и в отношении оператора ПОИСКПОЗ, выполняется не относительно всего листа, а только внутри диапазона. Синтаксис этой функции следующий:
=ИНДЕКС(массив;номер_строки;номер_столбца)
При этом, если массив одномерный, то можно использовать только один из двух аргументов: «Номер строки» или «Номер столбца».
Особенность связки функций ИНДЕКС и ПОИСКПОЗ заключается в том, что последняя может использоваться в качестве аргумента первой, то есть, указывать на позицию строки или столбца.
Давайте взглянем, как это можно сделать на практике, используя всю ту же таблицу. У нас стоит задача вывести в дополнительное поле листа «Товар» наименование товара, общая сумма выручки от которого равна 350 рублям или самому близкому к этому значению по убыванию. Данный аргумент указан в поле «Приблизительная сумма выручки на листе».
- Отсортировываем элементы в столбце «Сумма выручки» по возрастанию. Для этого выделяем необходимый столбец и, находясь во вкладке «Главная», кликаем по значку «Сортировка и фильтр», а затем в появившемся меню кликаем по пункту «Сортировка от минимального к максимальному».
- Выделяем ячейку в поле «Товар» и вызываем Мастер функций обычным способом через кнопку «Вставить функцию».
- В открывшемся окне Мастера функций в категории «Ссылки и массивы» ищем наименование «ИНДЕКС», выделяем его и жмем на кнопку «OK».
- Далее открывается окошко, которое предлагает выбор варианта оператора ИНДЕКС: для массива или для ссылки. Нам нужен первый вариант. Поэтому оставляем в этом окне все настройки по умолчанию и жмем на кнопку «OK».
- Открывается окно аргументов функции ИНДЕКС. В поле «Массив» указываем адрес того диапазона, где оператор ИНДЕКС будет искать название продукции. В нашем случае – это столбец «Наименование товара».
В поле «Номер строки» будет располагаться вложенная функция ПОИСКПОЗ. Её придется вбить вручную, используя синтаксис, о котором говорится в самом начале статьи. Сразу записываем название функции – «ПОИСКПОЗ» без кавычек. Затем открываем скобку. Первым аргументом данного оператора является «Искомое значение». Оно располагается на листе в поле «Приблизительная сумма выручки». Указываем координаты ячейки, содержащей число 350. Ставим точку с запятой. Вторым аргументом является «Просматриваемый массив». ПОИСКПОЗ будет просматривать тот диапазон, в котором находится сумма выручки и искать наиболее приближенную к 350 рублям. Поэтому в данном случае указываем координаты столбца «Сумма выручки». Опять ставим точку с запятой. Третьим аргументом является «Тип сопоставления». Так как мы будем искать число равное заданному или самое близкое меньшее, то устанавливаем тут цифру «1». Закрываем скобки.
Третий аргумент функции ИНДЕКС «Номер столбца» оставляем пустым. После этого жмем на кнопку «OK».
- Как видим, функция ИНДЕКС при помощи оператора ПОИСКПОЗ в заранее указанную ячейку выводит наименование «Чай». Действительно, сумма от реализации чая (300 рублей) ближе всего по убыванию к сумме 350 рублей из всех имеющихся в обрабатываемой таблице значений.
- Если мы изменим число в поле «Приблизительная сумма выручки» на другое, то соответственно автоматически будет пересчитано и содержимое поля «Товар».
Урок: Функция ИНДЕКС в Excel
Как видим, оператор ПОИСКПОЗ является очень удобной функцией для определения порядкового номера указанного элемента в массиве данных. Но польза от него значительно увеличивается, если он применяется в комплексных формулах.