Skip to content
В статье предлагается несколько различных формул для выполнения поиска в двумерном массиве значений Excel. Просмотрите эти варианты и выберите наиболее для вас подходящий.
При поиске данных в электронных таблицах Excel чаще всего вы будете искать вертикально в столбцах или горизонтально в строках. Но иногда вам нужно просматривать сразу два условия – как строки, так и столбцы. Другими словами, вы стремитесь найти значение на пересечении определенной строки и столбца. Это называется матричным поиском (также известным как двумерный или поиск в диапазоне). Далее показано, как это можно сделать различными способами.
- Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
- Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
- Функция ПРОСМОТРX для поиска в строках и столбцах
- Формула СУММПРОИЗВ для поиска по строке и столбцу
- Поиск в матрице с именованными диапазонами
Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
Самый популярный способ выполнить двусторонний поиск в Excel — использовать комбинацию ИНДЕКС с двумя ПОИСКПОЗ. Это разновидность классической формулы ПОИСКПОЗ ИНДЕКС , к которой вы добавляете еще одну функцию ПОИСКПОЗ, чтобы получить номера строк и столбцов:
ИНДЕКС( массив_данных ; ПОИСКПОЗ( значение_вертикальное ; диапазон_поиска_столбец ; 0), ПОИСКПОЗ( значение_горизонтальное ; диапазон_поиска_строка ; 0))
В этом способе, как и во всех остальных, мы используем поиск по двум условиям. Первое из них должно обнаружить совпадение в определенном столбце (в заголовках строк), а второе – в определенной строке (то есть, в заголовках столбцов). В результате мы имеем строку и столбец, которые соответствуют заданным условиям. А на пересечении их как раз и будут находиться искомые данные.
В качестве примера составим формулу для получения количества проданного товара за определённый период времени из таблицы, которую вы можете видеть ниже. Для начала определим все аргументы:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)
Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:
=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))
Как работает эта формула?
Хотя на первый взгляд это может показаться немного сложным, логика здесь простая. Функция ИНДЕКС извлекает значение из массива данных на основе номеров строк и столбцов, а две функции ПОИСКПОЗ предоставляют ей эти номера:
ИНДЕКС( B2:E11; номер_строки ; номер_столбца )
Здесь мы используем способность ПОИСКПОЗ возвращать относительную позицию значения в искомом массиве .
Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):
ПОИСКПОЗ(H1;A2:A11;0)
Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):
ПОИСКПОЗ(H2;B1:E1;0)
В обоих случаях мы ищем точное совпадение, присваивая третьему аргументу значение 0.
В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в B1:E1.
С учетом вышеизложенного формула сводится к:
ИНДЕКС(B2:E11; 2 ; 3 )
Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.
Думаю, вы понимаете, что аналогичным образом можно производить поиск в двумерном массиве Excel не только числа, но и текста. Тип данных здесь не имеет значения.
Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:
ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)
Для нашего образца таблицы формула принимает следующий вид:
=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)
Где:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)
Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):
ПОИСКПОЗ(H2;A1:E1;0)
ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:
=ВПР(H1; A2:E11; 4; ЛОЖЬ)
Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.
Важное замечание! Чтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).
Функция ПРОСМОТРX для поиска в строках и столбцах
Недавно Microsoft представила еще одну функцию в Excel, которая призвана заменить все существующие функции поиска, такие как ВПР, ГПР и ИНДЕКС+ПОИСКПОЗ. Помимо прочего, ПРОСМОТРX может смотреть на пересечение определенной строки и столбца:
ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))
Для нашего примера набора данных формула выглядит следующим образом:
=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))
Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.
В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:
=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})
Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.
Формула СУММПРОИЗВ для поиска по строке и столбцу
Функция СУММПРОИЗВ чрезвычайно универсальна — она может делать множество вещей, выходящих за рамки ее предназначения, особенно когда речь идет об оценке нескольких условий.
Чтобы найти значение на пересечении определенных строки и столбца, используйте эту общую формулу:
СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )
Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)
Приведенный ниже вариант также будет работать:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)
Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):
(A2:A11=H1)*(B1:E1=H2)
Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:
{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}
Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}
Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})
И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:
=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})
Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.
Примечание . Если в вашей таблице несколько заголовков строк и/или столбцов с одинаковыми именами, итоговый массив будет содержать более одного числа, отличного от нуля. И все эти числа будут суммированы. В результате вы получите сумму значений, удовлетворяющую обоим критериям. Это то, что отличает формулу СУММПРОИЗВ от ПОИСКПОЗ и ВПР, которые возвращают только первое найденное совпадение.
Поиск в матрице с именованными диапазонами
Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:
Шаг 1. Назовите столбцы и строки
Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:
- Выделите всю таблицу (в нашем случае A1:E11).
- На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш Ctrl + Shift + F3.
- В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».
Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:
- Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (
Ctrl + F3
). Если некоторые имена отсутствуют, определите их вручную. - Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.
Шаг 2. Создание формулы поиска по матрице
Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:
=имя_строки имя_столбца
Или наоборот:
=имя_столбца имя_строки
Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:
=Sprite неделя_3
То есть, имена диапазонов здесь разделены пробелом, который в данном случае является оператором пересечения массивов.
Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:
- В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
- Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
- После имени строки введите пробел , который в данном случае работает как оператор пересечения.
- Введите имя целевого столбца ( в нашем случае неделя_3 ).
- Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:
Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.
Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.
Еще несколько материалов по теме:
Как узнать, является ли данная формула формулой массива? Что вообще она означает?
На этапе создания формула (или также функция) сама по себе не является ни формулой массива, ни обычной формулой. Это вы определяете, как Excel должен истолковать формулу, которую вы вводите. То, что формула является формулой массива – это не столько особенность самой формулы, а скорее способом, которым программа Excel введенную формулу «обрабатывает». Подтверждение формулы с помощью сочетания клавиш «Ctrl + Shitf + Enter» – это является для Excelя командой на выполнение (обработку данных) как массив вычислений. Тогда он используется в качестве аргумента функции и возвращает в качестве результата вычислений таблицу (массив данных).
Примеры формул массива и отличие от обычных формул в Excel
Некоторые функции Excelя по умолчанию в качестве аргумента принимают диапазон ячеек (массив) и в результате возвращают одно значение. Отличными примерами являются функции СУММ, СЧЕТЕСЛИ, СРЗНАЧ и т.д. Для этих функций не имеет никакого значения, вводите ли вы их как функции массива или нет. Они и так обрабатывают таблицы, и найдут выход (сработают правильно) из любой ситуации. Вот такие маленькие Excel-евские приспособленцы.
К счастью, существуют другие функции, которые работают совершенно иначе, т.е. в зависимости от вашего решения относительно их принадлежности к «функциям массива» (иногда они вообще не хотят работать). Прекрасным примером является функция ЕСЛИ.
Когда формула является формулой массива, а когда обычной?
Для начала определимся как выглядит обычный массив значений в Excel. Это значения, которые находятся внутри фигурных скобок и разделены между собой точкой с запятой. Например:
{23;-32;15;7} – это синтаксис массива значений в Excel. Он может быть использован в аргументах функций.
Диапазон ячеек A1:A4 – так же является массивом значений в Excel. Естественно так же используется в аргументах функций. Например сравним результаты вычислений двух формул: =СУММ(A1:A4) и =СУММ({23;-32;15;7}) – они идентичны:
Визуально формула массива находится так же внутри фигурных скобок, но они не должны быть введены вручную, а только лишь при помощи комбинации клавиш CTRL+SHIFT+Enter. Если ввести вручную фигурные скобки, то формула не будет выполнятся в массиве – это будет синтаксическая ошибка в Excel.
Формула массива (введенная с помощью сочитания CTRL+SHIFT+Enter) будет использоваться везде, где вы хотите, чтобы функция, которая обычно работает с отдельными значениями (ячейками), внезапно повела себя иначе и приняла в качестве аргумента и вернула в качестве результата массив значений (таблицу). Вернемся к уже упомянутой функции ЕСЛИ. В качестве аргумента она принимает логическое значение ИСТИНА или ЛОЖЬ. В классической форме:
=ЕСЛИ($A$1>0;»больше»;»меньше»)
Если значение в ячейке A1 больше нуля, в качестве аргумента функция получит значение ИСТИНА и в качестве результата вернет текстовую строку «больше». Однако, если бы вы хотели проверить несколько ячеек сразу и передать результат такой проверки другой функции, вы должны были бы использовать вышеуказанную формулу как формулу массива. Для этого при вводе нажмем сочитание клавиш CTRL+SHIFT+Enter, а не как обычно (просто Enter):
{=ЕСЛИ($A$1:$A$4>0;»больше»;»меньше»)}
В качестве аргумента функция принимает целый диапазон $A$1:$A$4. В результате проверки каждой ячейки диапазона в памяти компьютера создается таблица значений в массиве. Схематически таблицу можно отобразить так:
А так выглядят эти значения в массиве:
{ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА}
Например, чтобы прочитать этот массив и получить второе значение (сделать выборку значений) воспользуемся функцией:
=ИНДЕКС({ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА};2)
Тоже самое что и:
Затем создается другая таблица, значения которой зависят непосредственно от значений в первой таблице. Если элемент в первом массиве имеет значение ИСТИНА, во втором массиве он примет значение «больше». Если он имеет значение ЛОЖЬ, элемент во второй таблице примет значение «меньше». После этой операции первая таблица удаляется из памяти компьютера, и в конечном счете, функция возвращает массив {«больше», «меньше», «больше», «больше»}. Схематически вторую таблицу можно отобразить так:
Так же ее можно прочитать функцией:
=ИНДЕКС({«больше»;»меньше»;»больше»;»больше»};2)
В примере с функцией ЕСЛИ была введена формула массива только в одну ячейку, поэтому в результате получили только одно значение, соответствующее первому значению в таблице. Однако достаточно ввести формулу массива в диапазон ячеек, чтобы увидеть все значения массива результатов. Для этого выделяем диапазон из нескольких ячеек, нажимаем клавишу F2 (или заново вводим формулу вручную) и жмем CTRL+SHIFT+Enter.
В примере (рисунок ниже) видно, что таблица результатов содержит ровно четыре элемента, о которых я упоминал выше.
Примеры как использовать формулу массива в Excel
Это все хорошо, но возникают некоторые вопросы: «Зачем же нужна формула массива?» или «Как или где использовать формулу в массиве?», «Чем она лучше обычной формулы?».
Разумеется, массив, возвращаемый функцией ЕСЛИ, может передаваться далее на «обработку» в качестве аргумента для другой функции.
Пример. Представим, что вы хотели бы найти сумму ячеек B7:B10, но только тех, которые имеют значение больше нуля. Конечно же, вы можете использовать функцию СУММЕСЛИ, однако в нашем примере мы хотим сделать это только с помощью формулы массива. Суммируя значения ячеек нашего диапазона, необходимо будет как-то избавиться от значения «-32». Функции СУММ необходимо передать массив, в котором содержатся только значения больше нуля. Везде там, где значение меньше нуля, мы заменяем его на ноль, что, конечно же, не повлияет на результат. Как вы уже знаете, временную таблицу с соответствующими значениями вы можете получить, используя функцию ЕСЛИ. В конечном итоге соответствующая формула будет выглядеть так:
Вводим формулу и не забываем для подтверждения ввода нажать комбинацию клавиш CTRL+SHIFT+Enter. В результате проверки каждой ячейки диапазона $A$1:$A$4 (является ли значение больше нуля) в памяти компьютера создается массив {ИСТИНА; ЛОЖЬ; ИСТИНА; ИСТИНА}. Затем создается очередная таблица. Если элемент в первом массиве имеет значение ИСТИНА, то во второй таблице будет отображаться значение из соответствующей ячейки. Если он имеет значение ЛОЖЬ, то элемент во второй таблице примет значение 0. После этой операции первая таблица удаляется из памяти компьютера, и в конечном итоге функция ЕСЛИ возвращает массив {23; 0; 15; 7}. Затем эта таблица передается в качестве аргумента функции =СУММ({23; 0; 15; 7}), которая, согласно своему предназначению, возвращает сумму всех элементов в таблице. В нашем примере сумма равна 45. В завершении, посмотрите, что произойдет, если вы скажете Excelю обработать приведенную выше формулу не как формулу массива.
Ни одна из описанных выше таблиц, в этом случае, не будет создана. Только одна ячейка диапазона будет проверена (ячейка в той же строке, в которой находится функция). В нашем случае 15>0 значит, как первый аргумент функция ЕСЛИ получит логическое значение ИСТИНА. Затем ВЕСЬ диапазон A1:A4 будет передан функции СУММ, и в результате функция возвращает значение равное 13 (23-32+15+7). Если бы в ячейке вместо значения 15 было число меньше нуля, функция ЕСЛИ в качестве аргумента получила бы значение ЛОЖЬ, и, следовательно, только значение нуля было бы передано функции СУММ. Наша функция СУММ в результате также вернет значение равное нулю.
Как отличать формулу массива от обычной формулы
При нажатии клавиш CTRL+SHIFT+Enter для подтверждения ввода в строке формул будут отображены фигурные скобки по краям. Значит данная формула выполняется в массиве. Но что если еще на этапе создания неизвестно какой тип формул следует применять?
Правильное «распознавание», когда следует нажимать CTRL+SHIFT+Enter, а когда просто Enter полностью зависит от понимания того, как работают массивы в формулах. Когда вы это поймете, сможете сказать, что конкретную формулу следует вводить (подтверждать) сочетанием клавиш – CTRL+SHIFT+Enter.
Конечно же, не подтвержденная, а просто как формула также может возвращать КАКОЙ-ТО результат (в чем вы могли только что убедиться сами). Однако, если вы сможете прочитать формулу и понять механизм, то вы заметите, что такой результат является ОШИБОЧНЫМ. И поэтому для правильной работы формулы вам необходимо ее подтвердить «Ctr+Shift+Enter». Как и все, понимание и использование формул массива требует практики. Тем не менее, стоит некоторое время посвятить тому, чтобы во всем разобраться. Потому что формулы массива позволяют решить многие проблемы, которые на первый взгляд могут казаться неразрешимыми.
Примеры вычислений и анализа формул массива
Каким образом можно просматривать и проверять значения промежуточных результатов расчета, например, содержание массивов, созданных в памяти компьютера и используемых для выполнения последующих действий? Ничего сложного! Пример 1:
Перейдите на ячейку с формулой, а затем в строке формул выделите в первом аргументе функции ссылку на диапазон ячеек:
Нажмите клавишу F9 (или «Пересчет» в правом верхнем углу меню «Формулы»), и вы получите (в строке формулы) значения аргументов, которые используются для вычислений, как показано ниже:
— запись с использованием двоеточий означает, что мы имеем дело с элементами вертикального (столбикового) массива, элементы горизонтального (строкового) разделены стандартным символом — «;» (точкой с запятой).
Пример 2: Снова перейдите на ячейку с формулой массива, но на этот раз выделите первый аргумент функции целиком вместе со знаком сравнения «>» и значением критерия – «0»).
Нажмите кнопку F9, и вы получите массив результатов вычислений, как показано ниже:
То есть, созданный в памяти компьютера массив:
{ИСТИНА:ЛОЖЬ:ИСТИНА:ИСТИНА}
Пример 3: Выделите ячейку формулой массива где в функцию СУММ вложена функция ЕСЛИ. Затем в строке формул выберите весь аргумент функции СУММ (вместе с функцией ЕСЛИ):
Нажмите клавишу F9 и вы получите массив итоговых результатов вычисления, которые используются для суммирования, как показано ниже:
То есть, созданный в памяти компьютера массив:
{23157}
Пример 4: Просто перейдите на ячейку с формулой B1 и выберите инструмент «ФОРМУЛЫ»-«Зависимости формул»-«Вычислить формулу»
После чего нажмите на кнопку «Вычислить»:
В результате ссылка на диапазон ячеек в аргументе вложенной функции ЕСЛИ разложилась на массив значений. Снова нажмите на кнопку «Вычислить»:
Мы получили массив значений теперь уже для функции СУММ. Такой же, как и в примере 3.
Читайте также: Работа с массивами функций в Excel.
Часто неопытные пользователи Excel возмущаются, что формула не работает. В конце концов оказалось, как легко догадаться, формулу в массиве вводили как обычную (просто Enter). Речь идет не о недоразумении, которое произошло, а о том факте, что у этих пользователей возникает вопрос: как избегать таких ошибок? Поэтому важно сразу во всем разобраться, чтобы в дальнейшем больше не задавать таких вопросов.
Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Добрый вечер. |
|
ЛМВ Пользователь Сообщений: 2856 |
Можно так: Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
Hugo Пользователь Сообщений: 23257 |
Или можно аналогично (по смыслу) использовать ВПР() или СЧЕТЕСЛИ() |
Locomotiv23530 Пользователь Сообщений: 34 |
#4 05.11.2012 17:13:26 ))) спасибо. |
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.
Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.
Поиск значений в списке по вертикали по приблизительному совпадению
Для этого используйте функцию ВПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.
Дополнительные сведения можно найти в разделе функция ВПР.
Поиск значений по вертикали в списке неизвестного размера с точным соответствием
Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.
Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.
C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).
Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.
1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.
Поиск значений в списке по горизонтали по точному совпадению
Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.
Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения можно найти в разделе функции ГПР.
Поиск значений в списке по горизонтали с использованием приблизительного совпадения
Для выполнения этой задачи используется функция ГПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.
Дополнительные сведения можно найти в разделе функции ГПР.
Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )
Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).
В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.
Щелкните ячейку в диапазоне.
На вкладке формулы в группе решения нажмите кнопку Подстановка .
Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.
Загрузка программы-надстройки «Мастер подстановок»
Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Поиск ТЕКСТовых значений в Excel. Бесплатные примеры и статьи.
Нахождение в MS EXCEL позиции n-го вхождения символа в слове
Находим позицию третьего, четвертого и т.д. вхождения символа в слове (в текстовой строке).
Поиск позиции последнего повтора MS EXCEL
В списке повторяющихся числовых или текстовых значений найдем позицию последнего повтора.
Выделение ячеек c ТЕКСТом с применением Условного форматирования в MS EXCEL
Выделяем ячейки, содержащие искомый текст. Рассмотрим разные варианты: выделение ячеек, содержащих значения в точности совпадающих с искомым текстом; выделение ячеек, которые содержат искомый текст в начале, в конце или середине строки. Также научимся выделять ячейку, в случае если ее значение совпадает с одним из нескольких заданных значений.
Есть ли слово в списке MS EXCEL
Найдем слово в диапазоне ячеек, удовлетворяющее критерию: точное совпадение с критерием, совпадение с учетом регистра, совпадение лишь части символов из слова и т.д.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Критерии заданы с использованием подстановочных знаков. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца
Для нахождения позиции значения в столбце, с последующим выводом соответствующего значения из соседнего столбца в EXCEL, существует специальная функция ВПР() , но для ее решения можно использовать также и другие функции. Рассмотрим задачу в случае текстовых значений.
Выделение ячеек c ТЕКСТом с применением Условного форматирования (с учетом РЕгиСТра) в MS EXCEL
Выделяем ячейки, содержащие искомый текст с учетом РЕгиСТра. Рассмотрим разные варианты: выделение ячеек, содержащих значения в точности совпадающих с искомым текстом; выделение ячеек, которые содержат искомый текст в начале, в конце или середине строки.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию с учетом РЕгиСТРА. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск позиции ТЕКСТа с учетом РЕгиСТра в MS EXCEL и выводом значения из соседнего столбца
Здесь развиваются идеи статьи Поиск позиции ТЕКСТового значения с выводом соответствующего значения из соседнего столбца. Для нахождения позиции значения с учетом РЕгиСТра, с последующим выводом соответствующего значения из соседнего столбца, функция ВПР() применена быть не может, т.к. она не чувствительна к регистру. Задача может быть решена с помощи функций БИЗВЛЕЧЬ() , НАЙТИ() или СОВПАД() .
Поиск в MS EXCEL текстового значения первого или последнего по алфавиту
Найдем текстовое значение, которое при сортировке диапазона по возрастанию будет выведено первым, т.е. первое по алфавиту. Также найдем последнее значение по алфавиту.
Разнесение в MS EXCEL ТЕКСТовых значений и ЧИСЕЛ по разным спискам
Если исходный список, содержит и текст и числа, то с помощью формул массива можно в один список отобрать все текстовые значения, а в другой – числовые.
Поиск в MS EXCEL третьего (n-го) повтора в списках с ТЕКСТом
Рассмотрим поиск текстовых значений в списке с повторами. Задав в качестве критерия для поиска нужное текстовое значение и номер его повтора в списке, найдем номер строки, в которой содержится этот повтор, а также выделим его и другие повторы с помощью Условного форматирования.
О классификации задач Поиска в EXCEL
В этой статье изложены попытки классификации задач по поиску значений в MS EXCEL. Статья может быть интересна для продвинутых пользователей EXCEL.
Поиск нескольких значений с максимальной длиной строки в MS EXCEL
Найдем в исходном списке текстовые значения, которые имеют максимальную длину строки, и выведем их в отдельный диапазон.
Поиск значения в MS EXCEL с максимальной или минимальной длиной строки
Найдем в списке текстовых значений строку с максимальной / минимальной длиной.
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.
Примеры использования функции ПОИСКПОЗ в Excel
Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).
Данная функция удобна для использования в случаях, когда требуется вернуть не само значение, содержащееся в искомой ячейке, а ее координату относительно рассматриваемого диапазона. В случае использования для констант массивов, которые могут быть представлены как массивы элементов «ключ» — «значение», функция ПОИСКПОЗ возвращает значение ключа, который явно не указан.
Например, массив <«виноград»;»яблоко»;»груша»;»слива»>содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;<«виноград»;»яблоко»;»груша»;»слива»>;0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.
Функция ПОИСКПОЗ редко используется самостоятельно. Ее целесообразно применять в связке с другими функциями, например, ИНДЕКС.
Формула для поиска неточного совпадения текста в Excel
Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.
Вид исходной таблицы данных:
Для нахождения позиции текстовой строки в таблице используем следующую формулу:
Из полученного значения вычитается единица для совпадения результата с id записи в таблице.
Сравнение двух таблиц в Excel на наличие несовпадений значений
Пример 2. В Excel хранятся две таблицы, которые на первый взгляд кажутся одинаковыми. Было решено сравнить по одному однотипному столбцу этих таблиц на наличие несовпадений. Реализовать способ сравнения двух диапазонов ячеек.
Вид таблицы данных:
Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».
Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:
Как видно, третьи элементы списков не совпадают.
Поиск ближайшего большего знания в диапазоне чисел Excel
Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.
Вид исходной таблицы данных:
Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.
Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):
Особенности использования функции ПОИСКПОЗ в Excel
Функция имеет следующую синтаксическую запись:
=ПОИСКПОЗ( искомое_значение;просматриваемый_массив; [тип_сопоставления])
- искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
- просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
- [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
- -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
- 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
- 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
- Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
- Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
- Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
- Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.
Поиск на листе Excel
Поиск какого-либо значения в ячейках Excel довольно часто встречающаяся задача при программировании какого-либо макроса. Решить ее можно разными способами. Однако, в разных ситуациях использование того или иного способа может быть не оправданным. В данной статье я рассмотрю 2 наиболее распространенных способа.
Поиск перебором значений
Довольно простой в реализации способ. Например, найти в колонке «A» ячейку, содержащую «123» можно примерно так:
Минусами этого так сказать «классического» способа являются: медленная работа и громоздкость. А плюсом является его гибкость, т.к. таким способом можно реализовать сколь угодно сложные варианты поиска с различными вычислениями и т.п.
Поиск функцией Find
Гораздо быстрее обычного перебора и при этом довольно гибкий. В простейшем случае, чтобы найти в колонке A ячейку, содержащую «123» достаточно такого кода:
Вкратце опишу что делают строчки данного кода:
1-я строка: Выбираем в книге лист «Данные»;
2-я строка: Осуществляем поиск значения «123» в колонке «A», результат поиска будет в fcell;
3-я строка: Если удалось найти значение, то fcell будет содержать Range-объект, в противном случае — будет пустой, т.е. Nothing.
Полностью синтаксис оператора поиска выглядит так:
Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
What — Строка с текстом, который ищем или любой другой тип данных Excel
After — Ячейка, после которой начать поиск. Обратите внимание, что это должна быть именно единичная ячейка, а не диапазон. Поиск начинается после этой ячейки, а не с нее. Поиск в этой ячейке произойдет только когда весь диапазон будет просмотрен и поиск начнется с начала диапазона и до этой ячейки включительно.
LookIn — Тип искомых данных. Может принимать одно из значений: xlFormulas (формулы), xlValues (значения), или xlNotes (примечания).
LookAt — Одно из значений: xlWhole (полное совпадение) или xlPart (частичное совпадение).
SearchOrder — Одно из значений: xlByRows (просматривать по строкам) или xlByColumns (просматривать по столбцам)
SearchDirection — Одно из значений: xlNext (поиск вперед) или xlPrevious (поиск назад)
MatchCase — Одно из значений: True (поиск чувствительный к регистру) или False (поиск без учета регистра)
MatchByte — Применяется при использовании мультибайтных кодировок: True (найденный мультибайтный символ должен соответствовать только мультибайтному символу) или False (найденный мультибайтный символ может соответствовать однобайтному символу)
SearchFormat — Используется вместе с FindFormat. Сначала задается значение FindFormat (например, для поиска ячеек с курсивным шрифтом так: Application.FindFormat.Font.Italic = True), а потом при использовании метода Find указываем параметр SearchFormat = True. Если при поиске не нужно учитывать формат ячеек, то нужно указать SearchFormat = False.
Чтобы продолжить поиск, можно использовать FindNext (искать «далее») или FindPrevious (искать «назад»).
Примеры поиска функцией Find
Пример 1: Найти в диапазоне «A1:A50» все ячейки с текстом «asd» и поменять их все на «qwe»
Обратите внимание : Когда поиск достигнет конца диапазона, функция продолжит искать с начала диапазона. Таким образом, если значение найденной ячейки не менять, то приведенный выше пример зациклится в бесконечном цикле. Поэтому, чтобы этого избежать (зацикливания), можно сделать следующим образом:
Пример 2: Правильный поиск значения с использованием FindNext, не приводящий к зацикливанию.
В ниже следующем примере используется другой вариант продолжения поиска — с помощью той же функции Find с параметром After. Когда найдена очередная ячейка, следующий поиск будет осуществляться уже после нее. Однако, как и с FindNext, когда будет достигнут конец диапазона, Find продолжит поиск с его начала, поэтому, чтобы не произошло зацикливания, необходимо проверять совпадение с первым результатом поиска.
Пример 3: Продолжение поиска с использованием Find с параметром After.
Следующий пример демонстрирует применение SearchFormat для поиска по формату ячейки. Для указания формата необходимо задать свойство FindFormat.
Пример 4: Найти все ячейки с шрифтом «курсив» и поменять их формат на обычный (не «курсив»)
Примечание: В данном примере намеренно не используется FindNext для поиска следующей ячейки, т.к. он не учитывает формат (статья об этом: https://support.microsoft.com/ru-ru/kb/282151)
Коротко опишу алгоритм поиска Примера 4. Первые две строки определяют последнюю строку (lLastRow) на листе и последний столбец (lLastCol). 3-я строка задает формат поиска, в данном случае, будем искать ячейки с шрифтом Italic. 4-я строка определяет область ячеек с которой будет работать программа (с ячейки A1 и до последней строки и последнего столбца). 5-я строка осуществляет поиск с использованием SearchFormat. 6-я строка — цикл пока результат поиска не будет пустым. 7-я строка — меняем шрифт на обычный (не курсив), 8-я строка продолжаем поиск после найденной ячейки.
Хочу обратить внимание на то, что в этом примере я не стал использовать «защиту от зацикливания», как в Примерах 2 и 3, т.к. шрифт меняется и после «прохождения» по всем ячейкам, больше не останется ни одной ячейки с курсивом.
Свойство FindFormat можно задавать разными способами, например, так:
Следующий пример — применение функции Find для поиска последней ячейки с заполненными данными. Использованные в Примере 4 SpecialCells находит последнюю ячейку даже если она не содержит ничего, но отформатирована или в ней раньше были данные, но были удалены.
Пример 5: Найти последнюю колонку и столбец, заполненные данными
В этом примере используется UsedRange, который так же как и SpecialCells возвращает все используемые ячейки, в т.ч. и те, что были использованы ранее, а сейчас пустые. Функция Find ищет ячейку с любым значением с конца диапазона.
При поиске можно так же использовать шаблоны, чтобы найти текст по маске, следующий пример это демонстрирует.
Пример 6: Выделить красным шрифтом ячейки, в которых текст начинается со слова из 4-х букв, первая и последняя буквы «т», при этом после этого слова может следовать любой текст.
Для поиска функцией Find по маске (шаблону) можно применять символы:
* — для обозначения любого количества любых символов;
? — для обозначения одного любого символа;
— для обозначения символов *, ? и
. (т.е. чтобы искать в тексте вопросительный знак, нужно написать
?, чтобы искать именно звездочку (*), нужно написать
* и наконец, чтобы найти в тексте тильду, необходимо написать
Поиск даты с помощью Find
Если необходимо найти текущую дату или какую-то другую дату на листе Excel или в диапазоне с помощью Find, необходимо учитывать несколько нюансов:
- Тип данных Date в VBA представляется в виде #[месяц]/[день]/[год]#, соответственно, если необходимо найти фиксированную дату, например, 01 марта 2018 года, необходимо искать #3/1/2018#, а не «01.03.2018»
- В зависимости от формата ячеек, дата может выглядеть по-разному, поэтому, чтобы искать дату независимо от формата, поиск нужно делать не в значениях, а в формулах, т.е. использовать LookIn:=xlFormulas
Приведу несколько примеров поиска даты.
Пример 7: Найти текущую дату на листе независимо от формата отображения даты.
Пример 8: Найти 1 марта 2018 г.
Искать часть даты — сложнее. Например, чтобы найти все ячейки, где месяц «март», недостаточно искать «03» или «3». Не работает с датами так же и поиск по шаблону. Единственный вариант, который я нашел — это выбрать формат в котором месяц прописью для ячеек с датами и искать слово «март» в xlValues.
Тем не менее, можно найти, например, 1 марта независимо от года.
Пример 9: Найти 1 марта любого года.
4 способа поиска данных в таблице Excel
Добрый день уважаемый читатель!
В этой статье я хочу снова вспомнить о могуществе и пользе функции ВПР и покажу 4 способа поиска данных в таблице Excel при помощи других функций и их комбинаций с несколькими условиями. Очень и очень много действий можно выполнять с помощью этой функции, но, тем не менее, она обладает некоторыми ограничениями, к примеру, ВПР может искать только в левой стороне или по одному условию. В связи с этим будем искать варианты, и применять хитрости для расширения её базового функционала.
В ранее описанной статье, я описывал детально работу самой функции ВПР, поэтому с ней вы можете ознакомиться, перейдя по ссылке. Это важно если ваше знакомство происходит впервые. Также можете ознакомиться и с близнецом ВПР, функцией ГПР, ее я также описал детально, со всеми преимуществами и недостатками. А если с теорией вы познакомились, приступим к практическому применению.
Теперь на примерах рассмотрим все 4 способа поиска данных в таблице Excel и комбинаций работы функции ВПР с другими функциями:
Используем функцию СУММПРОИЗВ
Как я уже описывал ранее в своей статье о функции СУММПРОИЗВ, она является одной из мощнейших в арсенале Excel. И именно первый способ мы сделаем с помощью возможностей формулы при использовании функции СУММПРОИЗВ. Для наших целей формула будет выглядеть так:
=СУММПРОИЗВ((C2:C11=G2)*(B2:B11=G3);D2:D11) Принцип работы формулы следующий: создается условная таблица, в которой значения ячеек «G2» сравнивается с диапазоном «C2:C11» и ячейка «G3» с диапазоном «B2:B11». После этого сравниваются и сопоставляются все эти два массива и переводятся в единицы и нули, где значение единицы ставится строке, где все условия формулы выполнены. Следующая операция – это умножения полученного условного массива на диапазон «D2:D11», а поскольку в массиве всего одна единичка то формула получит результат 146.
Обращаю ваше внимание, если в диапазоне «D2:D11» будут найдены текстовые значения, формула откажется работать. Для более углублённого ознакомления с функцией СУММПРОИЗВ советую почитать мою статью.
Применение функции ВЫБОР
Я описывал уже функцию ВЫБОР, но в таком исполнении еще не упоминал. В нашем случае нужно создать новую таблицу, в которой будут совместными столбики «Период» и «Месяц», всё это виртуально создаст функция ВЫБОР. Формула для работы будет выглядеть так:
<=ВПР(G2&G3;ВЫБОР(<1;2>;C2:C11&B2:B11;D2:D11);2;0)> Основная работа, которую проделывает функция ВЫБОР в своей части «ВЫБОР(<1;2>;C2:C11&B2:B11;D2:D11)» это объединение значений столбиков «Период» и «Город» в общий массив, значения в котором будут прописаны как: «МоскваЯнварь», «БрянскФевраль», …. и т.д. Получив такое объединённое значения столбиков мы сможем легко сделать просмотр и отбор нужного значения, вот теперь я думаю, формула стала ближе.
Очень важно! Поскольку мы работаем с формулой массива, то ввод необходимо производить горячим сочетаниям клавиш Ctrl+Shift+Enter. В этом случае система определит формулу как созданную для массивов и установит фигурные скобочки по обеим сторонам формулы.
Создаем дополнительные столбики
Давайте немного отвлечемся от сложного и рассмотрим более простой пример, это когда мы вместо укрупнения формул разделим ее на составляющие и произведем работу по небольшим кусочкам.
Рассмотрим на стандартном примере, когда необходимо определить продажи по двум показателям: «Период» и «Город». В этом случае обыкновенное использование функции ВПР не будет нам подходить, так как функция может возвращать значение по одному условию. В таком случае нам необходимо создать дополнительный столбик, в котором произойдёт объединение двух критериев в один, поэтому в созданном столбике приписываем формулу слияния значений: =B2&C2. А вот теперь результат из столбика D, мы сможем использовать в ячейке H4 нашу формулу:
=ВПР(H2&H3;D2:E11;2;0)
Как видите, наши отдельные условия отбора значений также объединяются аргументом H2&H3 в один критерий. После поиска в указанном диапазоне D2:E11, формула вернёт найденное значение со столбика 2.
Совмещаем функции ПОИСКПОЗ и ИНДЕКС для работы
Последний способ в нашем списке будет конечно не самым лёгким, но достаточно простым и легко повторимым. Для его реализации будем снова использовать формулу массива, а также использованы функции ПОИСПОЗ и ИНДЕКС в эффективном и полезном симбиозе. Детально о работе этих функций вы можете ознакомиться в моих отдельных статьях.
А для нашего поиска данных в таблице Excel будем использовать такую формулу:
Что же она делает, такая большая и непонятная…. Рассмотрим ее в разрезе нескольких блоков или этапов. Формула для функции имеет такой вид ПОИСКПОЗ (1;(B2:B11=G3)*(C2:C11=G2);0) и происходит следующее, со значением в ячейке G3, последовательно сравниваются значения из диапазона B2:B11 и в случае совпадения условий получаем результат ИСТИНА, а если есть отличия получаем ЛОЖЬ. Такой же процесс происходит для значения G2 и диапазона C2:C11. После сравнения этих массивов, которые состоят из аргументов ИСТИНА и ЛОЖЬ, производится сравнения на соответствие значению 1, это ИСТИНА*ИСТИНА, все остальные комбинации будут проигнорированы.
Теперь, когда функция ПОИСКПОЗ нашла в массиве значение, которое соответствует «1» и указала его позицию в шестой строке, а значит, в функцию ИНДЕКС был передан аргумент «6» для диапазона D2:D11.
Ну, подведя итог можно ответить на закономерный вопрос: «а что же делать?» и «какой способ использовать?». Использовать вы можете абсолютно любой способ, но я бы рекомендовал выбрать вам наиболее удобный, простой и понятный. Я, к примеру, люблю использовать таблицы, которые просто изменять и просты для работы и понимания, чего советую и вам.
Я очень хочу, чтобы эти 4 способа поиска данных в таблице Excel вам пригодилось, и вы могли находить быстро и качественно нужную информацию. Если у вас есть чем дополнить меня пишите комментарии, я буду их ждать с нетерпением, ставьте лайки и делитесь полезной статьей в соц.сетях!
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите также в диапазоне выпадающего таблице. И нумерация во второй формуле два и больше со значениями из нужно изменить ссылкуФормула вернула номер 9 то выводится то,); а аргумент ранее, но вооруженные поиска,столбец, в которомИНДЕКСИНДЕКСИНДЕКСЕщё не совсем понятно?A1:C10Этот учебник рассказывает о
списка будет пустой начинается со второй мы использовали скелет элементов, соответствующих искомому столбца A:A используем в условном форматировании. – нашла заголовок которое меньшеvalue_if_error знанием функций искать,0)),(MATCH(значение для горизонтальногои/в Excel, а Представьте функциии возвращает значение главных преимуществах функций
строкой в списке. строки! первой формулы без значению, будет возвращена следующую формулу массива Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление строки листа поСОВЕТ:(значение_если_ошибка) – этоИНДЕКС поиска,строка в которойПОИСКПОЗПОИСКПОЗ Вы решите –ИНДЕКС ячейки воИНДЕКСОднако функция ГПР()JannMichel функции МАКС. Главная позиция первого вхождения (CTRL+SHIFT+ENTER): правилами»-«Изменить правило». И
- соответствующему значению таблицы.Для пошагового просмотра
- значение, которое нужнои
- искать,0)), например, чтобы найти
- : остаться с
- и2-й
- и вернет ошибку если
- : Добрый день. структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).
- такого элемента.
- Функция ПОИСКПОЗ выполняет поиск здесь в параметрах
Базовая информация об ИНДЕКС и ПОИСКПОЗ
В результате мы хода вычислений формул возвратить, если формулаПОИСКПОЗ=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального минимальное, максимальное или=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))ВПРПОИСКПОЗстроке иПОИСКПОЗ
искомое значение будетУ меня стоит Мы заменили функциюИмеем таблицу, в которой логического значения ИСТИНА укажите F1 вместо имеем полный адрес используйте клавишу выдаст ошибку.Вы одолеете ее. поиска,столбец, в котором ближайшее к среднему
ИНДЕКС – синтаксис и применение функции
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))или переключиться нав таком виде:3-мв Excel, которые пусто. Поэтому я задача, аналог которой МАКС на ПОИСКПОЗ,
записаны объемы продаж
в массиве логических
B1. Чтобы проверить значения D9.
- F9Например, Вы можете вставить Самая сложная часть искать,0)),(MATCH(значение для горизонтального значение. Вот несколько
- 4. Более высокая скоростьИНДЕКС=INDEX(столбец из которого извлекаем,(MATCHстолбце, то есть делают их более в ячейку J5 решался в другой которая в первом определенных товаров в значений, возвращаемых функцией
- работу программы, введите. формулу из предыдущего – это функция поиска,строка в которой вариантов формул, применительно работы./ (искомое значение,столбец в
из ячейки привлекательными по сравнению поставил апостроф ‘ теме. Прочитал все аргументе использует значение, разных месяцах. Необходимо СОВПАД (сравнивает каждый
в ячейку B1Теперь научимся получать поПри поиске ближайшего с
примера в функцию
ПОИСКПОЗ
искать,0)) к таблице изЕсли Вы работаетеПОИСКПОЗ котором ищем,0))C2 с Его не видно, ответы, пытался подогнать полученное предыдущей формулой. в таблице найти элемент диапазона A2:A12
число которого нет значению координаты не дополнительным условием см.ЕСЛИОШИБКА, думаю, её нужноОбратите внимание, что для предыдущего примера: с небольшими таблицами,.
ПОИСКПОЗ – синтаксис и применение функции
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое.ВПР а ГПР() не под свою таблицу, Оно теперь выступает данные, а критерием со значением, хранящимся
в таблице, например: целого листа, а статью Поиск ДАТЫ (ЧИСЛА)вот таким образом: объяснить первой. двумерного поиска нужно1. то разница в1. Поиск справа налево. значение;столбец в котором
Очень просто, правда? Однако,
. Вы увидите несколько
вернет ошибку. но знаний явно в качестве критерия поиска будут заголовки
в ячейке B2,
8000. Это приведет
- текущей таблицы. Одним ближайшей к заданной,=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13) указать всю таблицуMAX быстродействии Excel будет,Как известно любому
- ищем;0)) на практике Вы примеров формул, которыеЧто происходит у
- не хватает. Прошу для поиска месяца. строк и столбцов. и возвращает массив к завершающему результату: словом, нам нужно с условием в
- »Совпадений не найдено.ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) в аргументе(МАКС). Формула находит скорее всего, не грамотному пользователю Excel,Думаю, ещё проще будет далеко не всегда помогут Вам легко вас я прокомментировать
- помощи. И в результате Но поиск должен результатов сравнения). ЕслиТеперь можно вводить любое найти по значению MS EXCEL. Несортированный Попробуйте еще раз!»)В формуле, показанной выше,array максимум в столбце заметная, особенно вВПР понять на примере.
- знаете, какие строка справиться со многими не могу. УСуществует таблица с функция ПОИСКПОЗ нам быть выполнен отдельно функция ПОИСКПОЗ нашла исходное значение, а 5277 вместо D9
список.=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); искомое значение –(массив) функцииD последних версиях. Еслине может смотреть Предположим, у Вас
и столбец Вам сложными задачами, перед меня Excel2003, младше исходными данными на возвращает номер столбца по диапазону строки значение ИСТИНА, будет программа сама подберет получить заголовки:Допустим ваш отчет содержит»Совпадений не найдено. этоINDEXи возвращает значение же Вы работаете влево, а это есть вот такой нужны, и поэтому которыми функция вашего. В 2003 подоконники 2 где находится или столбца. То возвращена позиция его
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
ближайшее число, котороедля столбца таблицы – таблицу с большим Попробуйте еще раз!»)1(ИНДЕКС). из столбца с большими таблицами, значит, что искомое список столиц государств: требуется помощь функцииВПР создать выпадающий списокВ первой СТРОКЕ максимальное значение объема есть будет использоваться первого вхождения в содержит таблица. После Март; количеством данных на
И теперь, если кто-нибудь, а массив поискаА теперь давайте испытаемC которые содержат тысячи значение должно обязательно
Давайте найдём население однойПОИСКПОЗбессильна.
указав диапазон на перечислены имена производителей продаж для товара
только один из массив. Функция ЕНД чего выводит заголовокдля строки – Товар4. множество столбцов. Проводить
введет ошибочное значение, – это результат этот шаблон натой же строки:
строк и сотни
находиться в крайнем
из столиц, например,.В нескольких недавних статьях
- другом листе нельзя. подоконников. 4. После чего критериев. Поэтому здесь возвратит значение ЛОЖЬ, столбца и названиеЧтобы решить данную задачу визуальный анализ таких формула выдаст вот умножения. Хорошо, что практике. Ниже Вы=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)) формул поиска, Excel
- левом столбце исследуемого Японии, используя следующуюФункция мы приложили все Можно, если диапазонВ первом СТОЛБЦЕ в работу включается нельзя применить функцию если она не строки для текущего будем использовать формулу
таблиц крайне сложно.
такой результат:
же мы должны видите список самых=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0)) будет работать значительно диапазона. В случае формулу:MATCH усилия, чтобы разъяснить именованный. — глубина подоконников. функция ИНДЕКС, которая ИНДЕКС, а нужна принимает значение ошибки значения. Например, если
с уже полученными А одним из
Если Вы предпочитаете в перемножить и почему? населённых стран мира.Результат: Beijing быстрее, при использовании с=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))(ПОИСКПОЗ) в Excel начинающим пользователям основыJannMichelВ массиве таблице возвращает значение по специальная формула.
#Н/Д в качестве ввести число 5000 значениями в ячейках заданий по работе случае ошибки оставить Давайте разберем все Предположим, наша задача2.ПОИСКПОЗПОИСКПОЗ=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0)) ищет указанное значение
функции
:
— цены номеру сроки иДля решения данной задачи аргумента. В этом получаем новый результат: C2 и C3. с отчетом является ячейку пустой, то по порядку: узнать население СШАMINи/Теперь давайте разберем, что в диапазоне ячеекВПРAlexMВ итоговой таблице столбца из определенного проиллюстрируем пример на случае функция ЕСЛИ
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Скачать пример поиска значения Для этого делаем – анализ данных можете использовать кавычкиБерем первое значение в в 2015 году.(МИН). Формула находитИНДЕКСИНДЕКС делает каждый элемент и возвращает относительнуюи показать примеры, И верно. Я должен вернуться результат в ее аргументах схематической таблице, которая вернет текстовую строку в диапазоне Excel так: относительно заголовков строк («»), как значение столбцеХорошо, давайте запишем формулу. минимум в столбцевместо, столбец поиска может этой формулы: позицию этого значения более сложных формул
поставил апостроф, и стоимости подоконника в диапазона. Так как соответствует выше описанным «есть», иначе –Наша программа в ExcelДля заголовка столбца. В и столбцов касающихся второго аргумента функцииA Когда мне нужноDВПР быть, как в
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Функция в диапазоне. для продвинутых пользователей. сообщение об ошибке зависимости от выбранной у нас есть условиям. «нет». нашла наиболее близкое ячейку D2 введите определенного месяца. НаЕСЛИОШИБКА(Customer) на листе создать сложную формулуи возвращает значение. В целом, такая левой, так иMATCHНапример, если в диапазоне Теперь мы попытаемся, исчезло. Спасибо большое марки и глубины номер столбца 2,Лист с таблицей для
Чтобы вычислить остальные значения значение 4965 для формулу: На этот первый взгляд это. Вот так:Main table в Excel с из столбца замена увеличивает скорость в правой части(ПОИСКПОЗ) ищет значениеB1:B3 если не отговорить за апостроф. Не подоконника. а номер строки поиска значений по «протянем» формулу из исходного – 5000. раз после ввода весьма простое задание,
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)и сравниваем его вложенными функциями, тоC работы Excel на диапазона поиска. Пример: «Japan» в столбцесодержатся значения New-York, Вас от использования знал о такомВыбор параметров производится в диапазоне где вертикали и горизонтали: ячейки C2 вниз
Такая программа может
формулы для подтверждения
но его нельзяЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»») со всеми именами я сначала каждуютой же строки:13% Как находить значения,B Paris, London, тогдаВПР приеме. с помощью выпадающих хранятся названия месяцевНад самой таблицей расположена
для использования функции пригодится для автоматического жмем как по решить, используя однуНадеюсь, что хотя бы покупателей в таблице вложенную записываю отдельно.=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)). которые находятся слева, а конкретно – следующая формула возвратит, то хотя быДмитрий списков. в любые случаи строка с результатами. автозаполнения. В результате решения разных аналитических традиции просто Enter: стандартную функцию. Да, одна формула, описанная на листе
Итак, начнём с двух=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))Влияние покажет эту возможность в ячейках цифру показать альтернативные способы: Доброе утро, уважаемыеДля меня задача будет 1. Тогда В ячейку B1 получим: задач при бизнес-планировании,Для строки вводим похожую, конечно можно воспользоваться в этом учебнике,Lookup table функцийРезультат: Lima
ВПР в действии.B2:B103 реализации вертикального поиска форумчане! оказалась сложной. нам осталось функцией водим критерий дляКак видно, третьи элементы постановки целей, поиска но все же
инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F,
показалась Вам полезной.
(A2:A13).ПОИСКПОЗ3.на производительность Excel2. Безопасное добавление или, и возвращает число, поскольку «London» – в Excel.Возник вопрос сPelena ИНДЕКС получить соответственное поискового запроса, то
списков не совпадают.
рационального решения и
немного другую формулу: чтобы вызвать окно Если Вы сталкивалисьЕсли совпадение найдено, уравнение, которые будут возвращатьAVERAGE особенно заметно, если удаление столбцов.3 это третий элементЗачем нам это? – поиском значения в: Посмотрите такой вариант значение из диапазона есть заголовок столбцаПример 3. Найти ближайшее т.п. А полученныеВ результате получены внутренние поиска значений на с другими задачами возвращает номера строки и(СРЗНАЧ). Формула вычисляет рабочая книга содержитФормулы с функцией, поскольку «Japan» в
в списке. спросите Вы. Да, столбце с даннымиgling B4:G4 – Февраль или название строки. меньшее числу 22 строки и столбцы координаты таблицы по листе Excel. Или поиска, для которых1 столбца для функции среднее в диапазоне сотни сложных формулВПР списке на третьем=MATCH(«London»,B1:B3,0) потому что удовлетворяющим требованием +200(
: Наверно так. Тоже (второй месяц). А в ячейке в диапазоне чисел, позволяют дальше расширять значению – Март; же создать для не смогли найти(ИСТИНА), а если
ИНДЕКС и ПОИСКПОЗ – примеры формул
ИНДЕКСD2:D10 массива, таких какперестают работать или месте.=ПОИСКПОЗ(«London»;B1:B3;0)ВПР или больше) или самое что у D1 формула поиска
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
хранящихся в столбце вычислительные возможности такого Товар 4: таблицы правило условного подходящее решение среди нет –:, затем находит ближайшееВПР+СУММ возвращают ошибочные значения,ФункцияФункция
– это не -200 (или меньше). PelenaВторым вариантом задачи будет должна возвращать результат таблицы Excel. рода отчетов сНа первый взгляд все форматирования. Но тогда информации в этом0ПОИСКПОЗ для столбца к нему и. Дело в том, если удалить илиINDEXMATCH единственная функция поиска Более подробно вAlexM поиск по таблице вычисления соответствующего значения.
Вид исходной таблицы данных: помощью новых формул работает хорошо, но нельзя будет выполнить
уроке, смело опишите
(ЛОЖЬ).
– мы ищем возвращает значение из что проверка каждого добавить столбец в
- (ИНДЕКС) использует(ПОИСКПОЗ) имеет вот в Excel, и файле: Еще вариант с
с использованием названия
После чего в
- Для поиска ближайшего большего Excel. что, если таблица дальнейших вычислений с свою проблему вДалее, мы делаем то в столбце столбца значения в массиве
- таблицу поиска. Для3
такой синтаксис:
её многочисленные ограничения
AlexM формулой месяца в качестве ячейке F1 сработает значения заданному воФункция ПОИСКПОЗ в Excel будет содержат 2 полученными результатами. Поэтому комментариях, и мы же самое дляB
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
C требует отдельного вызова функциидля аргументаMATCH(lookup_value,lookup_array,[match_type]) могут помешать Вам: В ячейке С3200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$15;C9/50;) критерия. В такие вторая формула, которая всем столбце A:A используется для поиска
одинаковых значения? Тогда необходимо создать и все вместе постараемся значений столбца, а точнее втой же строки: функцииВПРrow_num
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
получить желаемый результат
формула массива, ввод
AlexM случаи мы должны уже будет использовать (числовой ряд может точного совпадения или могут возникнуть проблемы правильно применить соответствующую решить её.B
диапазоне
=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
ВПР
любой вставленный или(номер_строки), который указываетlookup_value во многих ситуациях. которой завершают нажатием: Раньше не обратил изменить скелет нашей значения ячеек B1 пополняться новыми значениями) ближайшего (меньшего или с ошибками! Рекомендуем
формулу.
Урок подготовлен для Вас
(Product).
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
B2:B11=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)). Поэтому, чем больше удалённый столбец изменит из какой строки(искомое_значение) – это С другой стороны, Ctrl+Shift+Enter внимание, что отсутствует формулы: функцию ВПР и D1 в используем формулу массива большего заданному в также посмотреть альтернативноеСхема решения задания выглядит командой сайта office-guru.ruЗатем перемножаем полученные результаты, значение, которое указаноРезультат: Moscow значений содержит массив результат формулы, поскольку нужно возвратить значение. число или текст, функции200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11
- глубина 550 мм. заменить ГПР, а качестве критериев для (CTRL+SHIFT+ENTER): зависимости от типа решение для поиска примерно таким образом:Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/
- (1 и 0). в ячейкеИспользуя функцию и чем больше синтаксис Т.е. получается простая который Вы ищите.ИНДЕКС
PelenaДумаю, что это функция СТОЛБЕЦ заменяется поиска соответствующего месяца.=B2;A:A;»»));A:A;0);1)’ class=’formula’> сопоставления, указанного в столбцов и строкв ячейку B1 мыПеревел: Антон Андронов Только если совпаденияH2СРЗНАЧ формул массива содержитВПР формула: Аргумент может бытьи: Как вариант, тоже
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
значение таблицу не на СТРОКА.Теперь узнаем, в какомФункция ПОИСКПОЗ возвращает позицию качестве аргумента) значения по значению. будем вводить интересующие
Автор: Антон Андронов найдены в обоих(USA). Функция будетв комбинации с Ваша таблица, темтребует указывать весь=INDEX($D$2:$D$10,3) значением, в томПОИСКПОЗ формула массива
испортитЭто позволит нам узнать максимальном объеме и элемента в столбце заданному в массиве
Чтобы проконтролировать наличие дубликатов
нас данные;
Для поиска ЧИСЛА ближайшего столбцах (т.е. оба выглядеть так:
ИНДЕКС медленнее работает Excel. диапазон и конкретный=ИНДЕКС($D$2:$D$10;3) числе логическим, или– более гибкие200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10))))Изменился диапазон в какой объем и в каком месяце A:A, имеющего максимальное или диапазоне ячеек среди значений таблицыв ячейке B2 будет
к заданному, в критерия истинны), Вы=MATCH($H$2,$B$1:$B$11,0)иС другой стороны, формула
номер столбца, изФормула говорит примерно следующее: ссылкой на ячейку. и имеют рядДмитрий
формуле какого товара была была максимальная продажа значение среди чисел, и возвращает номер создадим формулу, которая отображается заголовок столбца, EXCEL существует специальные
получите=ПОИСКПОЗ($H$2;$B$1:$B$11;0)ПОИСКПОЗ с функциями которого нужно извлечь ищи в ячейкахlookup_array особенностей, которые делают
: Спасибо всем большое!200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$16;C9/50;) максимальная продажа в Товара 4. которые больше числа, позиции найденного элемента. сможет информировать нас
который содержит значение функции, например, ВПР(),1Результатом этой формулы будет, в качестве третьегоПОИСКПОЗ данные. от
- (просматриваемый_массив) – диапазон их более привлекательными, всё работает отлично!JannMichel определенный месяц.Чтобы выполнить поиск по указанного в ячейкеНапример, имеем последовательный ряд о наличии дубликатов ячейки B1 ПРОСМОТР(), ПОИСКПОЗ(), но. Если оба критерия
4
аргумента функции
иНапример, если у ВасD2 ячеек, в котором по сравнению сLocomotiv23530: Уважаемые
- Чтобы найти какой товар столбцам следует: B2. Функция ИНДЕКС чисел от 1 и подсчитывать ихв ячейке B3 будет они работают только ложны, или выполняется, поскольку «USA» –ПОИСКПОЗ
ИНДЕКС
есть таблица
до происходит поиск.ВПР: Добрый вечер.
Pelena обладал максимальным объемомВ ячейку B1 введите возвращает значение, хранящееся
до 10, записанных
количество. Для этого
отображается название строки, если исходный список только один из это 4-ый элементчаще всего нужнопросто совершает поиск
A1:C10
D10
match_type.Помогите решить вот, и продаж в определенном значение Товара 4 в найденной ячейке. в ячейках B1:B10. в ячейку E2 которая содержит значение сортирован по возрастанию
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
них – Вы списка в столбце будет указывать и возвращает результат,, и требуется извлечьи извлеки значение(тип_сопоставления) – этотБазовая информация об ИНДЕКС такую задачу. ИмеетсяAlexM месяце следует: – название строки,Результат расчетов: Функция =ПОИСКПОЗ(3;B1:B10;0) вернет вводим формулу: ячейки B1. или убыванию. Используя получите
B1 выполняя аналогичную работу данные из столбца из третьей строки, аргумент сообщает функции и ПОИСКПОЗ столбец данные которого,В ячейку B2 введите которое выступит вДля поиска ближайшего меньшего число 3, посколькуБолее того для диапазонаФактически необходимо выполнить поиск формулы массива создадим0(включая заголовок).
или заметно быстрее.B то есть изПОИСКПОЗ
Используем функции ИНДЕКС и
нужно проверить на
Все работает отлично.
название месяца Июнь
качестве критерия. значения достаточно лишь искомое значение находится табличной части создадим координат в Excel. аналогичные формулы, но.ПОИСКПОЗ для строки-1Теперь, когда Вы понимаете, то нужно задать ячейки, хотите ли Вы
ПОИСКПОЗ в Excel
наличие в другом
Есть один нюанс: – это значениеВ ячейку D1 введите немного изменить данную в ячейке B3, правило условного форматирования: Для чего это работающие и вТеперь понимаете, почему мы– мы ищемв случае, если
- причины, из-за которых значениеD4 найти точное илиПреимущества ИНДЕКС и ПОИСКПОЗ столбце. Есть пример.В Это часть таблицы, будет использовано в следующую формулу: формулу и ее которая является третьей
- Выделите диапазон B6:J12 и нужно? Достаточно часто случае несортированного списка. задали значение ячейки Вы не уверены, стоит изучать функции
- 2, так как счёт приблизительное совпадение: перед ВПР общем в столбце
- которая входит в качестве поискового критерия.Для подтверждения после ввода следует также ввести от точки отсчета выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное нам нужно получитьРешение задачи поиска ближайшего1H3 что просматриваемый диапазонПОИСКПОЗдля аргумента начинается со второй1
ИНДЕКС и ПОИСКПОЗ – «индикатор номера» необходимо общую книгу ExcelВ ячейку D2 введите формулы нажмите комбинацию как массив (CTRL+SHIFT+ENTER): (ячейки B1). форматирование»-«Правила выделения ячеек»-«Равно». координаты таблицы по
числового значения в, как искомое значение?(2015) в строке содержит значение, равноеиcol_index_num строки.или примеры формул прописать формулу. Если по расчету стоимости формулу: горячих клавиш CTRL+SHIFT+Enter,Результат поиска:Данная функция удобна дляВ левом поле введите значению. Немного напоминает случае сортированного списка Правильно, чтобы функция1
среднему. Если жеИНДЕКС(номер_столбца) функцииВот такой результат получитсяне указанКак находить значения, которые номер есть в окон. И еслиДля подтверждения после ввода так как формулаФункция имеет следующую синтаксическую использования в случаях, значение $B$1, а обратный анализ матрицы.
приведена в статьеПОИСКПОЗ, то есть в Вы уверены, что
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
, давайте перейдём кВПР в Excel:– находит максимальное находятся слева базе, то должна подоконники не включены формулы нажмите комбинацию должна быть выполнена запись: когда требуется вернуть из правого выпадающего Конкретный пример в Поиск ЧИСЛА ближайшеговозвращала позицию только, ячейках такое значение есть, самому интересному и, вот так:Важно! Количество строк и значение, меньшее илиВычисления при помощи ИНДЕКС стоять надпись «есть». в расчет по клавиш CTRL+SHIFT+Enter, так
в массиве. Если=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) не само значение,
списка выберите опцию
двух словах выглядит
к заданному. Сортированный когда оба критерияA1:E1 – ставьте увидим, как можно=VLOOKUP(«lookup value»,A1:C10,2) столбцов в массиве, равное искомому. Просматриваемый и ПОИСКПОЗ В противном случае каким то причинам, как формула будет все сделано правильно,Описание аргументов: содержащееся в искомой «Светло-красная заливка и
примерно так. Поставленная список. выполняются.:0
применить теоретические знания
=ВПР("lookup value";A1:C10;2) который использует функция массив должен быть
Поиск по известным строке "нет".
то в итоговой выполнена в массиве. в строке формулискомое_значение – обязательный аргумент,
ячейке, а ее темно-красный цвет» и цель в цифрахРассмотрим задачу в болееОбратите внимание:=MATCH($H$3,$A$1:$E$1,0)для поиска точного на практике.
Если позднее Вы вставите
INDEX
упорядочен по возрастанию, и столбцуЕсли не сложно цене возвращается #Н/Д А в строке появятся фигурные скобки. принимающий текстовые, числовые координату относительно рассматриваемого нажмите ОК. является исходным значением, общем виде. ПустьВ этом случае=ПОИСКПОЗ($H$3;$A$1:$E$1;0) совпадения.Любой учебник по
новый столбец между(ИНДЕКС), должно соответствовать
то есть от
Поиск по нескольким критериям
помогите. К вечеру
office-guru.ru
Поиск ЧИСЛА ближайшего к заданному. Несортированный список в MS EXCEL
вместо цифры. формул появятся фигурныеВ ячейку F1 введите значения, а также диапазона. В случаеВ ячейку B1 введите нужно определить кто имеется несортированный список необходимо использовать третийРезультатом этой формулы будетЕсли указываетеВПР столбцами
значениям аргументов меньшего к большему.ИНДЕКС и ПОИСКПОЗ в голова совсем неПочтенный скобки. вторую формулу:
данные логического и использования для констант значение 3478 и и когда наиболее чисел (в диапазоне не обязательный аргумент
51твердит, что этаArow_num0 сочетании с ЕСЛИОШИБКА работает.gling
В ячейку F1 введите |
Снова Для подтверждения нажмите |
ссылочного типов, который |
массивов, которые могут |
полюбуйтесь на результат. приближен к этойA4:A15 функции, поскольку «2015» находится |
, значения в столбце функция не можети |
(номер_строки) и |
Заранее спасибо., Вы оставил в вторую формулу: комбинацию клавиш CTRL+SHIFT+Enter. используется в качестве |
быть представлены какКак видно при наличии цели. Для примера |
). (см. Файл примера). |
в 5-ом столбце. поиска должны быть смотреть влево. Т.е. |
Bcolumn_num значение, равное искомому. учебника – показатьЛМВ таблице возможность нулевогоСнова Для подтверждения нажмитеНайдено в каком месяце критерия поиска (для массивы элементов «ключ» дубликатов формула для используем простую матрицуВ качестве критерия для. Он необходим, т.к.Теперь вставляем эти формулы упорядочены по возрастанию, если просматриваемый столбец, то значение аргумента(номер_столбца) функции |
Для комбинации |
возможности функций: Можно так: выбора. |
CTRL+SHIFT+Enter. и какая была сопоставления величин или — «значение», функция заголовков берет заголовок |
данных с отчетом |
поиска используем любое в первом аргументе в функцию |
а формула вернёт не является крайним придется изменить сMATCHИНДЕКС |
ИНДЕКС
=ЕСЛИ(ЕНД(ПОИСКПОЗ(A2;$E$2:$E$28;0));»нет»;»есть»)Вопрос решен.В первом аргументе функции наибольшая продажа Товара нахождения точного совпадения);
ПОИСКПОЗ возвращает значение с первого дубликата по количеству проданных число, введем его мы задаем всюИНДЕКС максимальное значение, меньшее
excel2.ru
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
левым в диапазоне2(ПОИСКПОЗ). Иначе результат/иHugoВыражаю свою благодарность ГПР (Горизонтальный ПРосмотр) 4 на протяжениипросматриваемый_массив – обязательный аргумент, ключа, который явно по горизонтали (с товаров за три в ячейку таблицу и должныи вуаля: или равное среднему. поиска, то нетна формулы будет ошибочным.ПОИСКПОЗПОИСКПОЗ: Или можно аналогично всем Вам за указываем ссылку на двух кварталов. принимающий данные ссылочного не указан. лева на право). квартала, как показаноС4 указать функции, из
Поиск значения в массиве Excel
=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))Если указываете
- шансов получить от3Стоп, стоп… почему мы
- всегда нужно точноедля реализации вертикального (по смыслу) использовать помощь.
- ячейку с критериемВ первом аргументе функции типа (ссылки наНапример, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит
А формула для ниже на рисунке.. Найдем значение из какого столбца нужно=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))-1ВПР, иначе формула возвратит не можем просто совпадение, поэтому третий поиска в Excel, ВПР() или СЧЕТЕСЛИ()Буду строить книгу для поиска. Во ВПР (Вертикальный ПРосмотр) диапазон ячеек) или элементы, которые можно получения названия (номера) Важно, чтобы все диапазона, ближайшее к извлечь значение. ВЕсли заменить функции, значения в столбцежелаемый результат. результат из только использовать функцию аргумент функции мы не будемLocomotiv23530 дальше. втором аргументе указана указывается ссылка на константу массива, в
представить как: 1 строки берет номер числовые показатели совпадали. критерию с помощью
Поиск значения в столбце Excel
нашем случае этоПОИСКПОЗ поиска должны бытьФункции
- что вставленного столбца.VLOOKUPПОИСКПОЗ задерживаться на их: ))) спасибо.JannMichel ссылка на просматриваемый ячейку где находится которых выполняется поиск – «виноград», 2 с первого дубликата
- Если нет желания формул массива: столбецна значения, которые упорядочены по убыванию,
- ПОИСКПОЗИспользуя(ВПР)? Есть лидолжен быть равен синтаксисе и применении.feik: диапазон таблицы. Третий критерий поиска. Во позиции элемента согласно – «яблоко», 3
по вертикали (сверху вручную создавать иРешениеC они возвращают, формула а возвращено будетиПОИСКПОЗ смысл тратить время,0Приведём здесь необходимый минимум
Поиск значения в строке Excel
: Друзья добрый день!AlexM аргумент генерирует функция втором аргументе указывается критерию, заданному первым – «груша», 4
вниз). Для исправления заполнять таблицу ExcelКак происходит поиск(Sum), и поэтому
станет легкой и минимальное значение, большееИНДЕКС/ пытаясь разобраться в. для понимания сути,
Поделитесь идеей пожалуйста.
Как получить заголовок столбца и название строки таблицы
, СТРОКА, которая создает диапазон ячеек для аргументом функции; – «слива», где данного решения есть с чистого листа,Примечание
- мы ввели понятной:
- или равное среднему.
в Excel гораздоИНДЕКС лабиринтах-1 а затем разберёмИмеется список блюд,Да, почему-то у
- в памяти массив просмотра в процессе[тип_сопоставления] – необязательный для 1, 2, 3, 2 пути: то в конце=ИНДЕКС(A4:A15;ПОИСКПОЗ( МАКС(ЕСЛИ(A4:A15 $A$4:$A$15;0);1)
- 3=INDEX($A$1:$E$11,4,5))В нашем примере значения
более гибкие, и, Вы можете удалятьПОИСКПОЗ– находит наименьшее
подробно примеры формул, меню. (список) производителя нет ширины номеров строк из поиска. В третьем заполнения аргумент в 4 – ключи,Получить координаты первого дубликата статьи можно скачатьищется.
Поиск одинаковых значений в диапазоне Excel
=ИНДЕКС($A$1:$E$11;4;5)) в столбце им все-равно, где или добавлять столбцыи значение, большее или которые показывают преимуществаИмеется массив (данные) подоконника в 550
10 элементов. Так аргументе функции ВПР виде числового значения,
- а названия фруктов по горизонтали (с уже с готовым
- наибольшееИ, наконец, т.к. намЭта формула возвращает значениеD находится столбец со к исследуемому диапазону,ИНДЕКС
- равное искомому значению. использования проданных блюд в
мм. как в табличной должен указываться номер определяющего способ поиска – значения. Тогда лева на право). примером.значение, которое меньше, нужно проверить каждую на пересеченииупорядочены по возрастанию, значением, которое нужно не искажая результат,?
- Просматриваемый массив долженИНДЕКС какой то период,shurikus части у нас столбца, из которого в диапазоне ячеек функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет Для этого толькоПоследовательно рассмотрим варианты решения чем искомое значение
- ячейку в массиве,4-ой поэтому мы используем извлечь. Для примера, так как определен=VLOOKUP(«Japan»,$B$2:$D$2,3)
быть упорядочен пои его выгружаю из: Чтобы не возникало находится 10 строк. следует взять значение или массиве. Может значение 2, являющееся
в ячейке С3 разной сложности, а (ближайшее сверху) эта формула должнастроки и тип сопоставления снова вернёмся к непосредственно столбец, содержащий=ВПР(«Japan»;$B$2:$D$2;3)
Поиск ближайшего значения в диапазоне Excel
убыванию, то естьПОИСКПОЗ кассовой системы. Названия ошибок можно добавитьДалее функция ГПР поочередно на против строки принимать следующие значения: ключом второго элемента. следует изменить формулу в конце статьиЕсли заданное значение меньше быть формулой массива.5-го1 таблице со столицами нужное значение. Действительно,В данном случае – от большего квместо блюд в массиве
их обработку. используя каждый номер с именем Товар-1 – поиск наименьшего Отсчет выполняется не на: В результате – финальный результат. минимального, то выдается Вы можете видетьстолбца в диапазоне. Формула государств и населением. это большое преимущество, смысла нет! Цель меньшему.ВПР похожий но, системаAlexM
строки создает массив 4. Но так ближайшего значения заданному с 0 (нуля), получаем правильные координатыСначала научимся получать заголовки ошибка #Н/Д это по фигурнымA1:E11ИНДЕКС На этот раз
особенно когда работать этого примера –
На первый взгляд, польза. присваивает свои доп: Еще вариант. Есть соответственных значений продаж как нам заранее аргументом искомое_значение в как это реализовано как для листа, столбцов таблицы по=ИНДЕКС(A4:A15;ПОИСКПОЗ( скобкам, в которые, то есть значение/ запишем формулу приходится с большими исключительно демонстрационная, чтобы
exceltable.com
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
от функцииФункция обозначения (акций или возможность не выбирать из таблицы по не известен этот упорядоченном по убыванию во многих языках так и для значению. Для этогоМИН(ЕСЛИ(A4:A15>=C4;A4:A15;»»)); она заключена. Поэтому,
Примеры использования функции ПОИСКПОЗ в Excel
ячейкиПОИСКПОПОИСКПОЗ объёмами данных. Вы Вы могли понять,ПОИСКПОЗINDEX наборов). фирму и глубину. определенному месяцу (Июню). номер мы с
массиве или диапазоне программирования при работе таблицы: выполните следующие действия:$A$4:$A$15;0);1) когда закончите вводитьE4З/ можете добавлять и как функциивызывает сомнение. Кому(ИНДЕКС) в ExcelОчень нужно найти200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;J$5:M$17;1+МАКС(2;Ч(C9)/50);) Далее функции МАКС
помощью функции СТОЛБЕЦ ячеек. с массивами, аПолучить координаты первого дубликатаВ ячейку B1 введитеищется формулу, не забудьте. Просто? Да!возвращает «Moscow», посколькуИНДЕКС удалять столбцы, неПОИСКПОЗ нужно знать положение возвращает значение из совпадения блюда изВ пустых ячейках осталось только выбрать создаем массив номеров0 – (по умолчанию) с 1. по вертикали (сверху
значение взятое изнаименьшее нажатьВ учебнике по величина населения города
, которая покажет, какое
Формула для поиска неточного совпадения текста в Excel
беспокоясь о том,и элемента в диапазоне? массива по заданным «списка» в «данных»
таблицы «Марка подоконника»
максимальное значение из столбцов для диапазона поиск первого значения
Функция ПОИСКПОЗ редко используется
вниз). Для этого
- таблицы 5277 изначение, которое больше,Ctrl+Shift+EnterВПР Москва – ближайшее место по населению
- что нужно будетИНДЕКС Мы хотим знать
- номерам строки и и вернуть его
стоит апостроф ‘ этого массива. B4:G15. в массиве или
самостоятельно. Ее целесообразно
Сравнение двух таблиц в Excel на наличие несовпадений значений
только в ячейке выделите ее фон чем искомое значение.мы показывали пример меньшее к среднему занимает столица России исправлять каждую используемуюработают в паре. значение этого элемента!
столбца. Функция имеет
количество к соответствующемуJannMichelДалее немного изменив первуюЭто позволяет функции ВПР диапазоне ячеек (не применять в связке
С2 следует изменить синим цветом для (ближайшее снизу)Если всё сделано верно, формулы с функцией значению (12 269 (Москва). функцию Последующие примеры покажутПозвольте напомнить, что относительное вот такой синтаксис: блюду в «списке».: формулу с помощью собрать целый массив обязательно упорядоченном), которое с другими функциями, формулу на: читабельности поля вводаЕсли заданное значение больше Вы получите результатВПР 006).Как видно на рисунке
ВПР Вам истинную мощь положение искомого значенияINDEX(array,row_num,[column_num])функция ВПР тутshurikus
функций ИНДЕКС и значений. В результате
Поиск ближайшего большего знания в диапазоне чисел Excel
полностью совпадает со например, ИНДЕКС.В данном случаи изменяем (далее будем вводить максимального, то выдается
как на рисунке
для поиска поЭта формула эквивалентна двумерному ниже, формула отлично. связки (т.е. номер строкиИНДЕКС(массив;номер_строки;[номер_столбца])
идеально работает, но,
, я с Excel ПОИСКПОЗ, мы создали в памяти хранится значением, переданным в формулы либо одну в ячейку B1 ошибка #Н/Д ниже:
нескольким критериям. Однако,
поиску справляется с этой3. Нет ограничения наИНДЕКС и/или столбца) –Каждый аргумент имеет очень
в «данных» блюда
Особенности использования функции ПОИСКПОЗ в Excel
на «ВЫ», поэтому вторую для вывода
все соответствующие значения
качестве первого аргумента.
- Пример 1. Найти позицию либо другую, но другие числа, чтобы=ИНДЕКС(A4:A15;ПОИСКПОЗ( МИН(ABS(A4:A15-C4));Как Вы, вероятно, уже существенным ограничением такогоВПР задачей: размер искомого значения.
- и это как раз простое объяснение: порой повторяюся, а терминов не знаю. названия строк таблицы каждому столбцу по1 – Поиск наибольшего первого частичного совпадения
- не две сразу. экспериментировать с новымиABS(A4:A15-C4);0)) заметили (и не решения была необходимостьи позволяет найти=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))
- ИспользуяПОИСКПОЗ то, что мыarray ВПР берет первое В частности что
- по зачиню ячейки. строке Товар 4 ближайшего значения заданному строки в диапазоне Стоит напомнить о значениями).ищется раз), если вводить
- добавлять вспомогательный столбец. значение на пересечении=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))ВПР, которая легко справляется должны указать для
(массив) – это
- подходящее значение, следовательно такое обработка - Название соответствующих строк (а именно: 360; первым аргументом в ячеек, хранящих текстовые том, что вВ ячейку C2 вводимближайшее некорректное значение, например, Хорошая новость: формула определённой строки иТеперь у Вас не
- , помните об ограничении с многими сложными аргументов диапазон ячеек, из другие последующие совпадения
- не знаю. Прошу (товаров) выводим в 958; 201; 605; упорядоченном по возрастанию значения. ячейке С3 должна формулу для полученияк критерию число которого нет вИНДЕКС столбца.
- должно возникать проблем на длину искомого ситуациями, когдаrow_num которого необходимо извлечь не учитываются, к меня извинить. F2.
exceltable.com
Поиск значения в столбце и строке таблицы Excel
462; 832). После массиве или диапазонеВид исходной таблицы данных: оставаться старая формула: заголовка столбца таблицыесли ближайшее снизу и просматриваемом массиве, формула/В этом примере формула с пониманием, как значения в 255ВПР(номер_строки) и/или значение. тому же допAlexMВНИМАНИЕ! При использовании скелета чего функции МАКС
Поиск значений в таблице Excel
ячеек.Для нахождения позиции текстовойЗдесь правильно отображаются координаты который содержит это ближайшее сверху отстоят
ИНДЕКСПОИСКПОЗИНДЕКС
работает эта формула: символов, иначе рискуетеоказывается в тупике.column_numrow_num обозначения системы часто, Т.е., если я формулы для других остается только взятьПримечания: строки в таблице первого дубликата по значение: на одинаковое расстояние/может искать по/Во-первых, задействуем функцию получить ошибку
Поиск значения в строке Excel
Решая, какую формулу использовать(номер_столбца) функции(номер_строки) – это обновляются. Вас правильно понял,
задач всегда обращайте из этого массива
- Если в качестве аргумента используем следующую формулу: вертикали (с верхаПосле ввода формулы для от критерия, то
- ПОИСКПОЗ значениям в двух
- ПОИСКПОЗMATCH#VALUE! для вертикального поиска,INDEX номер строки вО чем мечтаю: можно добавить пустую внимание на второй
- максимальное число и искомое_значение была передана
- =ПОИСКПОЗ(D2&»*»;B:B;0)-1 в низ) –
подтверждения нажимаем комбинацию берется ближайшее число,сообщает об ошибке столбцах, без необходимостибудет очень похожа
Принцип действия формулы поиска значения в строке Excel:
(ПОИСКПОЗ), которая находит(#ЗНАЧ!). Итак, если большинство гуру Excel(ИНДЕКС). Как Вы массиве, из которой Чтобы в списке ячейку в диапазон, и третий аргумент возвратить в качестве текстовая строка, функцияОписание аргументов: I7 для листа горячих клавиш CTRL+SHIFT+Enter, расположенное первым в#N/A создания вспомогательного столбца! на формулы, которые положение «Russia» в таблица содержит длинные считают, что помните, функция нужно извлечь значение. из блюд проставлялось
и она будет поисковой функции ГПР. значения для ячейки ПОИСКПОЗ вернет позициюD2&»*» – искомое значение, и Август; Товар2 так как формула списке (например, ближайшее(#Н/Д) илиПредположим, у нас есть мы уже обсуждали списке: строки, единственное действующееИНДЕКСИНДЕКС Если не указан, сумма проданных блюд отображаться в выпадающем
Количество охваченных строк D1, как результат элемента в массиве состоящее и фамилии, для таблицы. Оставим должна быть выполнена к 5 в#VALUE! список заказов, и в этом уроке,=MATCH(«Russia»,$B$2:$B$10,0)) решение – это/может возвратить значение, то обязательно требуется имеющие максимально похожие списке пустой строкой…. в диапазоне указанного вычисления формулы. (если такой существует)
Как получить заголовки столбцов по зачиню одной ячейки?
указанной в ячейке такой вариант для в массиве. Если списке 2;(#ЗНАЧ!). Если Вы мы хотим найти с одним лишь=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) использоватьПОИСКПОЗ находящееся на пересечении аргумент названия.А подскажите такую в аргументе, должноКак видно конструкция формулы без учета регистра B2, и любого следующего завершающего примера. все сделано правильно4 6 хотите заменить такое сумму по двум отличием. Угадайте каким?Далее, задаём диапазон дляИНДЕКСнамного лучше, чем заданных строки иcolumn_numСкажем на против деталь (не совсем совпадать с количеством проста и лаконична. символов. Например, строки количества других символовДанная таблица все еще в строке формул; 8 будет 4, сообщение на что-то критериям –Как Вы помните, синтаксис функции/ВПР столбца, но она
(номер_столбца).
Поиск значения в столбце Excel
«Пицца Капуста» в по теме). Создаю строк в таблице. На ее основе «МоСкВа» и «москва» (“*”); не совершенна. Ведь по краям появятся а в списке более понятное, тоимя покупателя
функцииINDEXПОИСКПОЗ. Однако, многие пользователи не может определить,
column_num графе количество посчиталась выпадающее меню, указываю А также нумерация
- можно в похожий являются равнозначными. ДляB:B – ссылка на при анализе нужно фигурные скобки {
- 2; можете вставить формулу
- (Customer) иINDEX(ИНДЕКС), из которого. Excel по-прежнему прибегают какие именно строка(номер_столбца) – это сумма всех продаж
- для него диапазон должна начинаться со
- способ находить для различения регистров можно
Принцип действия формулы поиска значения в столбце Excel:
столбец B:B, в точно знать все }.64 спродукт(ИНДЕКС) позволяет использовать нужно извлечь значение.Предположим, Вы используете вот к использованию и столбец нас номер столбца в наименований, которые содержит на другом листе второй строки! определенного товара и
дополнительно использовать функцию котором выполняется поиск; ее значения. ЕслиВ ячейку C2 формула; 8 — будетИНДЕКС(Product). Дело усложняется три аргумента: В нашем случае такую формулу с
ВПР интересуют. массиве, из которого текст «Пицца Капуста», (где хранятся всеСкачать пример поиска значения другие показатели. Например, СОВПАД.0 – поиск точного введенное число в
вернула букву D 6), т.е. предсказатьи тем, что одинINDEX(array,row_num,[column_num]) этоВПР, т.к. эта функцияТеперь, когда Вам известна нужно извлечь значение. независимо от приставок. вспомогательные таблицы, в в столбце и минимальное или среднее
Если поиск с использованием совпадения. ячейку B1 формула
— соответственный заголовок будет ли числоПОИСКПОЗ покупатель может купить
ИНДЕКС(массив;номер_строки;[номер_столбца])A2:A10, которая ищет в гораздо проще. Так базовая информация об Если не указан,Это реально? Как том числе и строке Excel значение объема продаж рассматриваемой функции неИз полученного значения вычитается не находит в столбца листа. Как ближайшим сверху илив функцию
exceltable.com
Поиск значения в массиве при двух условиях (Формулы/Formulas)
сразу несколько разныхИ я поздравляю тех
. ячейках от происходит, потому что этих двух функциях, то обязательно требуется можно это сделать массив с подоконниками).Читайте также: Поиск значения используя для этого
дал результатов, будет единица для совпадения таблице, тогда возвращается
видно все сходиться, снизу невозможноЕСЛИОШИБКА
продуктов, и имена из Вас, кто
Затем соединяем обе частиB5
очень немногие люди полагаю, что уже аргумент используя макросы? Выпадающее меню и в диапазоне таблицы
функции МИН или возвращен код ошибки результата с id
ошибка – #ЗНАЧ! значение 5277 содержится
=МАКС(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МИН(A4:A15))).
покупателей в таблице догадался! и получаем формулу:до
до конца понимают становится понятно, какrow_num
Заранее очень признателен
все зависимости работают Excel по столбцам СРЗНАЧ. Вам ни #Н/Д.
записи в таблице. Идеально было-бы чтобы в ячейке столбца
ищетсяСинтаксис функции на листе
Начнём с того, что=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))D10 все преимущества перехода функции(номер_строки)
за помощь. как и должны. и строкам что не препятствует,Если аргумент [тип_сопоставления] явноПример поиска: формула при отсутствии D. Рекомендуем посмотретьближайшееЕСЛИОШИБКАLookup table запишем шаблон формулы.=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))
значение, указанное в сПОИСКПОЗЕсли указаны оба аргумента,_Boroda_
Сохраняю файл, закрываю
По сути содержимое диапазона чтобы приведенный этот не указан или
Пример 2. В Excel в таблице исходного
на формулу дляк критерию числоочень прост:расположены в произвольном
Для этого возьмёмПодсказка: ячейкеВПР
и то функция: Так нужно? книгу, открываю снова
нас вообще не скелет формулы применить принимает число 0, хранятся две таблицы, числа сама подбирала
получения целого адресаесли обнаружено 2 ближайшихIFERROR(value,value_if_error)
порядке. уже знакомую намПравильным решением будетA2на связкуИНДЕКСИНДЕКС200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(Данные!B$7:B$99;A2&»*»;Данные!D$7:D$99) и… меню не интересует, нам нужен
с использованием более для поиска частичного которые на первый ближайшее значение, которое текущей ячейки. числа (одно больше,ЕСЛИОШИБКА(значение;значение_если_ошибка)Вот такая формула
формулу всегда использовать абсолютные:ИНДЕКСмогут работать вместе.возвращает значение изТолько вовнутрь «Пицца выпадает. Спасает либо просто счетчик строк. сложных функций для совпадения текстовых значений взгляд кажутся одинаковыми. содержит таблица. ЧтобыТеперь получим номер строки другое меньше критерия),Где аргументИНДЕКСИНДЕКС ссылки для=VLOOKUP(A2,B5:D10,3,FALSE)иПОИСКПОЗ ячейки, находящейся на Барбекю » включится
ручной ввод в То есть изменить реализации максимально комфортного могут быть использованы Было решено сравнить
создать такую программу для этого же то выводится то,value//ИНДЕКС=ВПР(A2;B5:D10;3;ЛОЖЬ)ПОИСКПОЗ
определяет относительную позицию пересечении указанных строки еще и «Пицца эту строку, либо аргументы на: СТРОКА(B2:B11) анализа отчета по подстановочные знаки («?» по одному однотипному для анализа таблиц значения (5277). Для
которое больше(значение) – этоПОИСКПОЗПОИСКПОЗиФормула не будет работать,, а тратить время искомого значения в и столбца. Барбекю Веселая». Вам
excelworld.ru
поиск значения в массиве (поиск)
надо заново указать или СТРОКА(С2:С11) – продажам.
— замена одного столбцу этих таблиц в ячейку F1 этого в ячейку=МИН(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МАКС(A4:A15))) значение, проверяемое нарешает задачу:и добавим в
ПОИСКПОЗ если значение в на изучение более заданном диапазоне ячеек,Вот простейший пример функции
так и нужно?
диапазон. Это глюк это никак неНапример, как эффектно мы
любого символа, «*»
на наличие несовпадений. введите новую формулу: C3 введите следующую
excelworld.ru
Проверка значений ячеек на наличие их в массиве
ищется предмет наличия ошибки
{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* неё ещё одну, чтобы диапазоны поиска ячейке сложной формулы никто аINDEXfeik Excel или я повлияет на качество отобразили месяц, в — замена любого Реализовать способ сравненияПосле чего следует во
формулу:ближайшее (в нашем случае(B2=’Lookup table’!$B$2:$B$13),0),3)}
функцию
не сбились приA2
не хочет.
ИНДЕКС(ИНДЕКС):: _Boroda_, Эмм… Да!))) не правильно что
формулы. Главное, что котором была максимальная
planetaexcel.ru
Поиск всех совпадений в массиве и возврат их значений (Макросы/Sub)
количества символов). двух диапазонов ячеек.
всех остальных формулах
После ввода формулы дляк критерию число
– результат формулы{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*ПОИСКПОЗ копировании формулы вдлиннее 255 символов.Далее я попробую изложитьиспользует это число=INDEX(A1:C10,2,3) Огромное спасибо Вам!) то делаю?
в этих диапазонах продажа, с помощьюЕсли в объекте данных,Вид таблицы данных: изменить ссылку вместо подтверждения снова нажимаем
если обнаружено 2 ближайшихИНДЕКС(B2=’Lookup table’!$B$2:$B$13);0);3)}, которая будет возвращать другие ячейки. Вместо неё Вам главные преимущества использования (или числа) и=ИНДЕКС(A1:C10;2;3) Супер, все гениальноеAlexM
по 10 строк, второй формулы. Не переданном в качествеДля сравнения значений, находящихся B1 должно быть комбинацию клавиш CTRL+SHIFT+Enter
числа (одно больше,/Эта формула сложнее других, номер столбца.Вы можете вкладывать другие нужно использовать аналогичнуюПОИСКПОЗ
возвращает результат изФормула выполняет поиск в просто!!))
: Правильно. Пустая ячейка как и в
сложно заметить что аргумента просматриваемый_массив, содержится
в столбце B:B
F1! Так же и получаем результат: другое меньше критерия),ПОИСКПОЗ которые мы обсуждали
=INDEX(Ваша таблица,(MATCH(значение для вертикального функции Excel в формулуи соответствующей ячейки.
excelworld.ru
диапазоне
На чтение 6 мин Опубликовано 13.01.2021
Чтобы в Microsoft Office Excel найти значения ячейки, находящейся на пересечении столбика и строчки в табличном массиве, необходимо применить функцию «ИНДЕКС», а также вспомогательную «ПОИСКПОЗ». Найти значение в массиве требуется, когда пользователь работает с большой табличкой, и ему необходимо «подтянуть» ряд данных. В этой статье будет рассмотрен подробный алгоритм использования функции «ИНДЕКС» для поиска значений в массиве.
Содержание
- Запись функции «ИНДЕКС»
- Запись функции «ПОИСПОЗ»
- Как найти значение в массиве
- Заключение
Запись функции «ИНДЕКС»
Такой оператор в форме массива записывается следующим образом: =ИНДЕКС (массив; номер строчки; номер столбика). Вместо слов в скобках указываются соответствующие номера ячеек в исходной таблице.
Запись функции «ПОИСПОЗ»
Этот вспомогательный оператор для первой функции, который также будет использоваться при поиске значений в массиве. Его запись в Excel оформляется так: =ПОИСКПОЗ (значение, которое надо найти; табличный массив; тип сопоставления).
Обратите внимание! При записи аргументов для функции «ИНДЕКС» номер столбца указывать не обязательно.
Как найти значение в массиве
Для понимания темы алгоритм выполнения поставленной задачи необходимо рассмотреть на конкретном примере. Составим в Excel таблицу заказов за один день, в которой будут столбцы: «№ заказа», «Клиент», «Товар», «Количество», «Цена за ед.», «Сумма». Необходимо найти значение в массиве, т.е. составить индивидуальную карточку заказа клиента, чтобы можно было в сжатом виде получить информацию из ячеек исходной таблицы.
Для этого надо выполнить ряд действий по алгоритму:
- Составить карточку заказа клиента.
- Для первой строчки карточки надо создать выпадающий список, в котором будут прописаны имена клиентов из основного массива. Впоследствии, выбрав то или иное имя, пользователь увидит сжатую информацию по нему, которая отобразится в других строках карточки заказа.
- Поставить курсор мышки в первую строку карточки и войти в раздел «Данные» сверху главного меню программы.
- Кликнуть по кнопке «Проверка данных».
- В отобразившемся окошке в поле «Тип данных» указать вариант «Список», а в качестве источника выделить диапазон ячеек исходного массива, в котором прописан перечень всех клиентов.
- В правой части ячейки первого столбца карточки появится стрелочка. Если кликнуть по ней, то можно увидеть список всех клиентов. Здесь надо выбрать любого клиента.
- В строке «№ заказа» прописать функцию «=ИНДЕКС(», после чего кликнуть по значку «fx» рядом со строкой формул Эксель.
- В открывшемся меню Мастера функций из списка выбрать форму массива для функции «ИНДЕКС» и нажать на «ОК».
- Откроется окно «Аргументы функции», в котором надо заполнить все строки, указывая соответствующие диапазоны ячеек.
- Сначала надо кликнуть по пиктограмме напротив поля «Массив» и выделить целиком исходную табличку вместе с шапкой.
- В поле «Номер строки» нужно заполнить функцию «ПОИСКПОЗ». На первом месте в скобке в качестве аргумента указываем название клиента, который был выбран в карточке заказа. В качестве второго аргумента функции «ПОИСКПОЗ» нужно указать весь диапазон клиентов в исходном табличном массиве. На месте третьего аргумента необходимо прописать число 0, т.к. будет искаться точное совпадение.
Важно! После заполнения каждого элемента для функции «ПОИСКПОЗ» потребуется нажимать на кнопку «F4», чтобы навесить знаки долларов перед каждым символом в аргументе. Это позволит формуле не «съехать» в процессе выполнения.
- В строчке «Номер столбца» еще раз прописать вспомогательную функцию «ПОИСКПОЗ» с соответствующими аргументами.
- В качестве первого аргумента для функции надо указать незаполненную ячейку в строке «Товар» в карточке заказа. При этом навешивать знаки долларов на аргументы теперь не надо, т.к. искомый аргумент должен получиться «плавающим».
- Заполняя второй аргумент функции «ПОИСКПОЗ», нужно выделить шапку исходного массива, а затем нажать на кнопку «F4» для закрепления символов.
- В качестве последнего аргумента необходимо прописать 0, закрыть скобку и щелкнуть по «ОК» внизу окошка «Аргументы функции». В данной ситуации число 0 является точным совпадением.
- Проверить результат. После проделывания таких длительных действий в строке «№ заказа» должно отобразиться число, соответствующее выбранному клиенту.
- На последнем этапе формулу потребуется растянуть на все ячейки карточки заказа до конца, чтобы заполнить оставшиеся строчки.
Дополнительная информация! При выборе клиента из выпадающего списка карточки заказов вся информация по этому человеку отобразится в остальных строках массива.
Заключение
Таким образом, для поиска нужного значения в массиве в Microsoft Office Excel пользователю придется проделать немало действий. В итоге должна получиться небольшая табличка данных, в которой отображается сжатая информация по каждому параметру из исходного массива. Метод поиска значений с соответствующими изображениями был подробно рассмотрен выше.
Оцените качество статьи. Нам важно ваше мнение:
- Что такое формула массива в Excel
- Массивы в Excel
- Отличие массивов от диапазонов в Excel
- Размерность массивов
- Виды массивов
- Методы создания массивов
- Массив констант, созданный вручную
- Именованный массив констант
- С помощью функций
- С помощью математических операторов
- С помощью операторов сравнения
- С помощью других массивов
- С помощью комбинаций указанных методов
- Вывод массива на лист
- Взаимодействие функций Excel с массивами
- Формулы массива – примеры формул
Формулы массива – загадочная и, казалось бы, сложнейшая сущность в Excel. Но на практике все очень просто, нужно только понять принцип их работы и рассмотреть несколько примеров.
Не знаю, новичок вы в Excel или уже опытный пользователь, но коль судьба привела вас на эту страницу, в ходе прочтения вы:
- узнаете все о формулах массива;
- увидите множество примеров таких формул;
- сможете начать активно их применять на практике.
Поехали!
Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.
Будьте на 100% уверены: если формула
- принимает массив на вход,
- создает его как промежуточную сущность
- или выводит как результат вычислений
– это формула массива.
Слишком очевидно и все еще непонятно? Не беда – читаем далее.
На деле, прежде, чем говорить о формулах массива, нужно упомянуть сами массивы и их отличие от диапазонов. Т.к. многие не до конца понимают разницу.
Массивы в Excel
Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.
Отличие массивов от диапазонов в Excel
В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.
Между ячейками диапазона можно вставить дополнительные столбцы и строки, сделав его длиннее и шире, а ссылка на такой диапазон изменится автоматически.
Содержимое диапазона также можно свободно сортировать, если в нем нет объединенных ячеек.
Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.
При попытке изменения порядка элементов массива Excel выдаст ошибку. К сожалению, она не очень информативна и не сообщает, какой массив или массивы имеются в виду. Текст ошибки:
Нельзя изменить часть массива.
Размерность массивов
Как массивы, так и диапазоны в Excel могут быть одномерными (вектор), двумерными (таблица) и трехмерными (многослойная таблица).
Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.
Трехмерные массивы – довольно редко используемая на практике сущность.
Виды массивов
По типам элементов в них:
По типу данных –
- числовой массив (массив чисел)
- строковый массив (текстовые значения)
- булевый массив (значения ИСТИНА-ЛОЖЬ)
- смешанного типа
По изменяемости элементов –
- массив констант,
- вычисляемый массив
Методы создания массивов
Создать массив в Excel можно множеством способов. Ниже – подробнее с примерами. Все перечисленные выражения в них являются формулами массива, даже если не содержат в себе функций.
Массив констант, созданный вручную
Одномерные и двумерные массивы констант можно создавать вручную и сразу выводить на лист безо всяких дополнительных операций над ними.
При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.
Двумерные массивы вводятся построчно, т.е. сначала первая строка через точку с запятой, далее двоеточие, вторая строка через точку с запятой, и так далее.
Именованный массив констант
Если приходится один и тот же набор сущностей использовать часто в формулах, его можно сохранить в книге как именованный массив.
Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.
Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.
С помощью функций
Указанные выше методы создания массивов довольно редки на практике. Чаще всего массивы создаются автоматически при обращении различных функций к диапазонам в Excel.
Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.
На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:
Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.
С помощью математических операторов
Достаточно применить любую из математических операций к диапазону – и будет создан массив, аналогичный по размерам.
С помощью операторов сравнения
Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.
С помощью других массивов
В двух предыдущих примерах массивы создавались на основе взаимодействия диапазона ячеек и некой константы.
Но можно создать массив и по принципу наоборот – на основе одной ячейки, произведя ее взаимодействие (операторами или функциями) с массивом констант.
Размер результирующего массива в таком случае будет аналогичен размеру массива констант.
Еще раз обратите внимание на разделители строк и столбцов в массивах. Столбцы разделяются точкой с запятой, строки – двоеточием.
С помощью комбинаций указанных методов
Как вы уже догадались, возможности фантазии безграничны – можно строить какие угодно комбинации перечисленных выше методов, производя операции над массивами и диапазонами.
Вывод массива на лист
Для корректного вывода массива на лист нужно выделить диапазон ячеек эквивалентной размерности и размера, использовать метод создания массива (вручную или формулой), и нажать
Ctrl+Shift+Enter
Если выделить недостаточное количество ячеек – будут выведены не все элементы массива, а только те, что соответствуют по порядку.
Если выделить избыточное количество – лишние ячейки выдадут ошибку #Н/Д.
На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.
Взаимодействие функций Excel с массивами
Как мы уже выяснили чуть ранее, некоторые функции могут создавать массивы, если их применить к диапазону ячеек. Они обычно обращаются к одной ячейке, и таких функций в Excel большинство.
Однако, есть ряд функций, называемых агрегирующими. Если им на вход подается диапазон или массив, они возвращают единственное результирующее значение. Самая популярная – функция СУММ. Но есть и множество других.
Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.
Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.
Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.
Ну и особняком можно выделить функции поиска. Их нельзя в полной мере назвать агрегирующими, но их взаимодействие с массивами весьма похоже. Ведь они тоже:
- учитывают весь массив
- выводят одно значение
ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.
Формулы массива – примеры формул
Ну что ж, теперь, когда основной понятийный аппарат рассмотрен, приступим к практическому этапу. Я покажу на нескольких задачках из реальной жизни, как их решать, используя комбинации функций и массивов, которые они создают и обсчитывают.
Приступаем к практическим шагам:
Учимся формулам массива 1/4:
Как создать алфавит в Excel
#Руководства
- 25 июл 2022
-
0
Как с помощью массивов ускорить расчёты в таблицах с тысячами значений? Как поменять местами столбцы и строки? Разбираемся на примерах.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Часто новичкам в Excel кажется, что массивы — это высший пилотаж в работе с таблицами. На деле всё гораздо проще.
Массивы в Excel — это данные из двух и более смежных ячеек таблицы, которые используют в расчётах как единую группу, одновременно. Массивом может быть одна строка или столбец, несколько строк или столбцов и даже целые таблицы.
Операции с массивами — не основная функциональность Excel, но они делают работу с большими диапазонами значений удобнее и быстрее. С помощью массивов можно проводить расчёты не поочерёдно с каждой ячейкой диапазона, а со всем диапазоном одновременно. Или создать формулу, которая выполнит сразу несколько действий с любым количеством ячеек.
В статье разберёмся:
- какие виды массивов есть в Excel;
- что такое формула массива и как она работает.
Подробно покажем на примерах, как выполнить четыре базовые операции с помощью формул массивов и операторов Excel:
- построчно перемножить значения двух столбцов;
- умножить одно значение сразу на весь столбец;
- выполнить два действия одной формулой;
- поменять местами положение столбцов и строк таблицы.
В конце расскажем, как создать формулу массива в «Google Таблицах».
Массивы в Excel бывают одномерными и двумерными.
В одномерных массивах все данные расположены в одной строке или в одном столбце. В зависимости от этого их делят на горизонтальные и вертикальные.
Скриншот: Excel / Skillbox Media
Скриншот: Excel / Skillbox Media
В двумерных массивах данные расположены сразу в нескольких столбцах и строках. Такие массивы могут образовывать целые таблицы, а иногда занимают даже несколько листов.
Скриншот: Excel / Skillbox Media
Работа с массивами в Excel похожа на стандартную работу с одиночными ячейками. Отличие в том, что расчёты и операции проводят одновременно для всех значений диапазонов, а не для одного. Для этого используют формулы массивов.
Формула массива — формула, где в качестве входящих параметров используют диапазоны значений, а не одиночные ячейки. Диапазоны значений обозначаются через двоеточие :. Например, A1:A10 или А1:В10.
С формулами массива можно выполнить несколько математических действий одновременно. Например, чтобы перемножить значения двух столбцов и затем суммировать полученные числа, понадобится одна формула массива и одно действие.
В целом формулы массивов работают так же, как и обычные формулы. В них можно использовать любые математические действия.
Формулы массивов можно использовать как для одной ячейки, так и для нескольких одновременно. Например, можно посчитать в одной ячейке сумму значений из нескольких столбцов. Такая формула массива называется одноячеечной. Или можно перемножить значения двух столбцов построчно, а результат вывести в третий. Формула массива будет называться многоячеечной.
В следующих разделах покажем четыре примера, как создавать и использовать формулы массивов.
Допустим, нужно рассчитать смету устройства фундаментов. У нас есть перечень необходимых работ, их объёмы и цена единиц измерения объёмов.
Скриншот: Excel / Skillbox Media
Определим стоимость каждой работы.
Можно пойти классическим путём — перемножить первые ячейки столбцов «Количество» и «Цена ед., руб.», а затем растянуть результат вниз на все остальные виды работ. Но если видов будет несколько сотен или тысяч, этот вариант может быть неудобен.
Формула массивов выведет результаты одновременно для всего диапазона — никаких дополнительных действий выполнять не потребуется. Рассмотрим, как это сделать.
Шаг 1. Выделяем столбец, в котором хотим получить результат расчёта, — в нашем случае это диапазон E2:E9. В строке ссылок вводим знак равенства.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем первый массив, который участвует в расчётах, — все значения столбца «Количество». Одновременно с этим в строке ссылок появляется выбранный диапазон: B2:B9.
Скриншот: Excel / Skillbox Media
Шаг 3. Ставим знак умножения в строке ссылок и выбираем второй массив — все значения столбца «Цена ед., руб.».
Строка ссылок принимает вид: fx=B2:B9*D2:D9. Это значит, что значения первого массива должны умножиться на значения второго массива.
Скриншот: Excel / Skillbox Media
Шаг 4. Нажимаем Enter — в столбце «Стоимость, руб.» появляется результат расчёта. Так, в один клик, формула сработала сразу для всех строк.
Скриншот: Excel / Skillbox Media
По такому же принципу можно проводить разные арифметические вычисления для одного массива.
Допустим, для нашей сметы нужно рассчитать дополнительные расходы, составляющие долю в общей стоимости работ.
Скриншот: Excel / Skillbox Media
Как и в первом случае, можно перемножить первую ячейку столбца «Доля от стоимости работ» и ячейку с общей стоимостью работ. Затем растянуть результат вниз на все остальные расходы. А можно, для удобства и ускорения процесса, воспользоваться формулой массивов. Она позволит одним действием посчитать сумму всех расходов.
Шаг 1. Выделяем столбец для результата расчёта: С13:С16. В строке ссылок вводим знак равенства.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем массив, который участвует в расчётах, — все значения столбца «Доля от стоимости работ». В формуле строки ссылок появляется выбранный диапазон: B13:B16. Добавляем к нему знак умножения и выбираем ячейку с общей стоимостью работ: E10.
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter. Во всём столбце «Стоимость, руб.» появляются результаты расчётов.
Скриншот: Excel / Skillbox Media
Вернёмся к нашему первому примеру со сметой. Там мы рассчитывали стоимость каждой работы отдельно. Общую стоимость работ в этом случае было проще определить путём сложения всех полученных значений.
Скриншот: Excel / Skillbox Media
Предположим, нам нужно получить общую стоимость устройства фундаментов одним действием, а стоимость каждой работы отдельно при этом не важна.
Для этого воспользуемся формулой массивов и оператором СУММ. Они выполнят одновременно два математических действия: перемножат столбцы и суммируют полученные результаты.
Шаг 1. Выделяем ячейку, в которой хотим получить результат расчёта. В строке ссылок вводим знак равенства и оператор СУММ и открываем скобку.
Скриншот: Excel / Skillbox Media
Шаг 2. По аналогии с алгоритмом из предыдущего раздела, выделяем первый массив — значения столбца «Количество» и второй массив — значения столбца «Цена ед., руб.». Ставим между ними знак умножения и закрываем скобку.
Строка ссылок принимает вид: fx=СУММ(B2:B9*D2:D9). Это значит, что значения первого массива должны перемножиться со значениями второго массива, а все полученные результаты — суммироваться.
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter. В выбранной ячейке появляется результат расчёта. Формула рассчитала одновременно два действия: перемножила значения ячеек двух массивов и суммировала полученные результаты.
Скриншот: Excel / Skillbox Media
По такой же схеме в формулах массивов можно использовать и другие функции Excel. Отличие от их классического применения будет в том, что аргументами будут не отдельные ячейки, а массивы таких ячеек.
Иногда при работе в Excel нужно поменять положение столбцов или строк — транспортировать их. Например, перевести шапку таблицы из горизонтального положения в вертикальное. Делать это вручную долго — особенно, когда ячеек очень много. Ускорить процесс помогут массивы и оператор ТРАНСП:
Шаг 1. Выделяем ячейку, в которой хотим получить результат операции. В строке ссылок вводим знак равенства и оператор ТРАНСП и открываем скобку.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем шапку таблицы и закрываем скобку. Строка ссылок принимает вид: fx=ТРАНСП(A1:E1).
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter — функция меняет положение шапки таблицы на вертикальное.
Скриншот: Excel / Skillbox Media
Как создать формулу массива в «Google Таблицах»? Всё точно так же, как в Excel, но нужно добавить оператор ARRAYFORMULA. Его ставят перед всей формулой массива в строке ссылок. Например, если вы хотите перемножить данные в двух столбцах, формула в готовом виде будет выглядеть так:
fx=ARRAYFORMULA(B2:B9*D2:D9).
Скриншот: Google Таблицы / Skillbox Media
Другие материалы Skillbox Media по Excel
- Как сделать сводные таблицы в Excel — детальная инструкция со скриншотами
- Руководство: как сделать ВПР в Excel и перенести данные из одной таблицы в другую
- Руководство по макросам для новичков — для чего нужны и как их сделать
- Инструкция: как закреплять строки и столбцы в Excel
- Руководство по созданию выпадающих списков в Excel — как упростить заполнение таблицы повторяющимися данными
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше