Excel найти составляющие числа

Содержание

  1. «Поиск решения» в Microsoft Excel — как найти числа из которых складывается сумма
  2. excel подбор слагаемых для нужной суммы
  3. Способ 1. Надстройка Поиск решения (Solver)
  4. Способ 2. Макрос подбора
  5. Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
  6. Базовая информация об ИНДЕКС и ПОИСКПОЗ
  7. ИНДЕКС – синтаксис и применение функции
  8. ПОИСКПОЗ – синтаксис и применение функции
  9. Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
  10. Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
  11. 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
  12. ИНДЕКС и ПОИСКПОЗ – примеры формул
  13. Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
  14. Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
  15. О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
  16. Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
  17. Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
  18. ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

«Поиск решения» в Microsoft Excel — как найти числа из которых складывается сумма

Хороший инструмент — надстройка Поиск решения в MS Excel!

Например, можно использовать в ситуации, когда вам нужно найти вариант из каких различных чисел могла сложиться определнная сумма (может вы ищете из каких счетов могла сложиться сумма оплаты). Допустим, нужно найти по приведенным числам сумму 10:

Для начал включим надстройку или проверим, что она включена (в Excel 2013): Файл / Параметры, раздел Надстройки, выбрать Управление: Надстройки Excel, нажать Перейти. Отметить флагом Поиск решения, нажать ОК

На ленте на вкладке Данные появился Поиск решения:

Теперь нужно придумать, как мы можем параметрами в разных строках «подбирать» сумму. Я сделал вариант, когда в столбце мы указываем множитель 0 или 1, в соседнем столбце считаем произведение, и потом значения складываем в итоговую сумму:

  • в ячейках столбца B указываем 0 или 1 (сейчас неважно, что конкретно)
  • в ячейке C4 формула =A4*B4
  • в ячейках C5:C14 — аналогично, с учетом номера строки
  • в ячейке C3 формула =СУММ(C4:C14)

Теперь запускаем Поиск решения. И заполняем:

  • Оптимизировать целевую функцию: $C$3
  • До: Значения: 10
  • Изменяя ячейки переменных: $B$4:$B$14
  • В соответствии с ограничениями: — добавляем (кнопка Добавить) три условия: 1) значения переменных должны быть целые, 2) значения должны быть >= 0, 3) 2) значения должны быть

Источник

excel подбор слагаемых для нужной суммы

Хороший инструмент — это надстройка Поиск решения в MS Excel!

Например, его можно использовать в ситуации, когда вам нужно найти вариант, из которого с разных чисел могла быть добавлена ​​определенная сумма (возможно, вы ищете, с каких счетов могла быть сформирована сумма платежа). Допустим, вам нужно найти сумму 10 из заданных чисел:

Для начала включаем надстройку или проверяем, что она включена (в Excel 2013): Файл/Параметры, раздел Надстройки, выберите Управление: Надстройки Excel, нажмите кнопку Перейти. Установите флажок Поиск решения, нажмите кнопку ОК

Найдите решение, которое появилось на ленте на вкладке «Данные»:

Теперь нам нужно понять, как мы можем использовать параметры в разных строках для «выбора» суммы. Я сделал вариант, когда мы указываем множитель 0 или 1 в одном столбце, подсчитываем произведение в соседнем столбце, а затем добавляем значения к итогу:

  • в ячейках столбца B указываем 0 или 1 (теперь неважно, что именно)
  • в ячейке C4 формула = A4 * B4
  • в ячейках C5: C14 — то же с учетом номера строки
  • в ячейке C3 формула = СУММ (C4: C14)

Теперь приступим к поиску решения. И заполните:

  • Оптимизация целевой функции: $ C $ 3
  • Раньше: Значения: 10
  • Изменение ячеек переменных: $ B $ 4: $ B $ 14
  • В соответствии с ограничениями: — добавьте (кнопка Добавить) три условия: 1) значения переменных должны быть целыми числами, 2) значения должны быть> = 0, 3) 2) значения должны быть быть

Не очень распространено, но и не экзотично. Во время моих обучающих курсов такой вопрос задавали не раз и не два. Суть в том, что у нас есть конечный набор некоторых чисел, из которых мы должны выбрать те, которые в сумме дают заданное значение.

В реальной жизни эта задача может показаться другой.

  • Например, мы загрузили из интернет-банка все платежи, поступившие на наш счет за последний месяц. Один из клиентов разделяет сумму платежа на несколько отдельных счетов и производит оплату в рассрочку. Мы знаем общую сумму к оплате и количество счетов, но не знаем сумму. В истории платежей необходимо выбрать те суммы, которые, как правило, дают заданное значение.
  • У нас есть несколько рулонов стали (линолеум, бумага.), Из которых мы должны выбрать те, которые придадут заказу заданную длину.
  • Блэкджек или обычно «пойнт». Необходимо собрать карты с общей стоимостью как можно ближе к 21 баллу, но не превышать этот порог.

В некоторых случаях может быть известна допустимая погрешность допуска. Он может быть нулевым (в случае счетов для снятия средств) и ненулевым (в случае бросков на снятие средств), либо ограничиваться снизу или сверху (в случае блэкджека).

Давайте рассмотрим разные способы решения такой задачи в Excel.

Способ 1. Надстройка Поиск решения (Solver)

Эта надстройка входит в стандартный набор Microsoft Office вместе с Excel и предназначена, как правило, для решения линейных и нелинейных задач оптимизации со списком ограничений. Для его подключения необходимо:

  • в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
  • в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

и поставьте галочку в соответствующем поле. Тогда нужная нам команда появится во вкладке или меню «Данные.

Чтобы использовать надстройку Поиск решения нашей проблемы, нам нужно будет немного модернизировать наш пример, добавив несколько вспомогательных ячеек и формул в список сумм для выбора:

  • Диапазон A1: A20 содержит наши числа, из которых мы выберем те, которые нам нужны, чтобы «уместить» заданное количество.
  • Диапазон B1: B20 будет своего рода набором переключателей, то есть он будет содержать ноль или один, указывая, выбираем ли мы данное число в образце или нет.
  • Ячейка E2 содержит обычную автоматическую сумму всех единиц в столбце B, в которой подсчитывается количество выбранных чисел.
  • В ячейке E3 функция СУММПРОИЗВ вычисляет сумму произведений пары ячеек из столбцов A и B (то есть A1 * B1 + A2 * B2 + A3 * B3 +.). Фактически, он вычисляет сумму чисел в столбце A, выбранных из чисел в столбце B.
  • В розовой ячейке E4 пользователь вводит желаемую сумму для вывода.
  • В ячейке E5 вычисляется абсолютное значение ошибки выбора, чтобы минимизировать ее в будущем.
  • Все желтые ячейки E8: E17 хотели бы получить список выбранных чисел, т.е тех чисел из столбца A, перед которыми стоят числа из столбца B. Для этого нужно выделить сразу все (!) Желтые ячейки и вставьте в них следующую формулу массива:

После ввода формулы ее нужно вводить не как обычную формулу, а как формулу массива, т.е нажимать не Enter, а Ctrl + Shift + Enter. Аналогичная формула используется в примере ВПР, который возвращает все найденные значения сразу (а не только первое).

Теперь перейдите на вкладку Data (или меню) и запустите инструмент Data — Solver):

В открывшемся окне вам необходимо:

  • Установить как целевую функцию (Целевая ячейка) — ячейка для расчета ошибки выбора E5. Чуть ниже выбираем вариант — Минимум, потому что мы хотим подбирать числа на заданную сумму с минимальной (или даже нулевой) ошибкой.
  • Установите диапазон столбцов переключателя B1: B20 как Edit Cells.
  • Используя кнопку Добавить, создайте дополнительное условие, что ячейки диапазона B1: B20 должны быть двоичными (т.е содержать только 0 или 1):


Используя ту же кнопку, при необходимости создайте ограничение на количество чисел в образце. Например, если мы знаем, что сумма разделена на 5 счетов, тогда:

После ввода всех параметров и ограничений запустите процесс выбора, нажав кнопку «Решить». Процесс выбора длится от нескольких секунд до нескольких минут (в самых серьезных случаях) и заканчивается появлением следующего окна:

Теперь вы можете оставить найденное решение выбора (Сохранить найденное решение) или вернуться к предыдущим значениям (Восстановить исходные значения).

Следует отметить, что для этого класса задач существует не одно, а целый набор решений, особенно если ошибка строго не равна нулю. Следовательно, выполнение поиска решения с разными начальными данными (например, с разными комбинациями нулей и единиц в столбце B) может привести к разным наборам чисел в выборках в указанных пределах. Поэтому имеет смысл запустить эту процедуру несколько раз, произвольно меняя переключатели в столбце B.

Найденные комбинации можно сохранить как сценарии (кнопка Сохранить сценарий), чтобы вы могли вернуться к ним позже, используя команду Данные — Анализ моделирования — Менеджер сценариев):

И все найденные решения, сохраненные в виде скрипта, будет очень удобно просматривать в единой сравнительной таблице с помощью кнопки Сводка):

Способ 2. Макрос подбора

В этом методе вся работа выполняется макросом, который по глупости прокручивает случайные комбинации чисел, пока не найдет требуемое количество в пределах допустимой ошибки. В этом случае нет необходимости добавлять столбец с нулями и единицами и формулами.

Чтобы использовать макрос, нажмите комбинацию Alt + F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

Подобно первому способу, запустив макрос несколько раз, вы можете получить несколько наборов подходящих чисел.

в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

и поставьте галочку в соответствующем поле. После этого необходимая команда появится на вкладке или в меню «Данные».

Источник

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.

В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в Excel.

Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.

Базовая информация об ИНДЕКС и ПОИСКПОЗ

Так как задача этого учебника – показать возможности функций ИНДЕКС и ПОИСКПОЗ для реализации вертикального поиска в Excel, мы не будем задерживаться на их синтаксисе и применении.

Приведём здесь необходимый минимум для понимания сути, а затем разберём подробно примеры формул, которые показывают преимущества использования ИНДЕКС и ПОИСКПОЗ вместо ВПР.

ИНДЕКС – синтаксис и применение функции

Функция INDEX (ИНДЕКС) в Excel возвращает значение из массива по заданным номерам строки и столбца. Функция имеет вот такой синтаксис:

Каждый аргумент имеет очень простое объяснение:

  • array (массив) – это диапазон ячеек, из которого необходимо извлечь значение.
  • row_num (номер_строки) – это номер строки в массиве, из которой нужно извлечь значение. Если не указан, то обязательно требуется аргумент column_num (номер_столбца).
  • column_num (номер_столбца) – это номер столбца в массиве, из которого нужно извлечь значение. Если не указан, то обязательно требуется аргумент row_num (номер_строки)

Если указаны оба аргумента, то функция ИНДЕКС возвращает значение из ячейки, находящейся на пересечении указанных строки и столбца.

Вот простейший пример функции INDEX (ИНДЕКС):

Формула выполняет поиск в диапазоне A1:C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, то есть из ячейки C2.

Очень просто, правда? Однако, на практике Вы далеко не всегда знаете, какие строка и столбец Вам нужны, и поэтому требуется помощь функции ПОИСКПОЗ.

ПОИСКПОЗ – синтаксис и применение функции

Функция MATCH (ПОИСКПОЗ) в Excel ищет указанное значение в диапазоне ячеек и возвращает относительную позицию этого значения в диапазоне.

Например, если в диапазоне B1:B3 содержатся значения New-York, Paris, London, тогда следующая формула возвратит цифру 3, поскольку «London» – это третий элемент в списке.

Функция MATCH (ПОИСКПОЗ) имеет вот такой синтаксис:

  • lookup_value (искомое_значение) – это число или текст, который Вы ищите. Аргумент может быть значением, в том числе логическим, или ссылкой на ячейку.
  • lookup_array (просматриваемый_массив) – диапазон ячеек, в котором происходит поиск.
  • match_type (тип_сопоставления) – этот аргумент сообщает функции ПОИСКПОЗ, хотите ли Вы найти точное или приблизительное совпадение:
    • 1 или не указан – находит максимальное значение, меньшее или равное искомому. Просматриваемый массив должен быть упорядочен по возрастанию, то есть от меньшего к большему.
    • 0 – находит первое значение, равное искомому. Для комбинации ИНДЕКС/ПОИСКПОЗ всегда нужно точное совпадение, поэтому третий аргумент функции ПОИСКПОЗ должен быть равен 0.
    • -1 – находит наименьшее значение, большее или равное искомому значению. Просматриваемый массив должен быть упорядочен по убыванию, то есть от большего к меньшему.

На первый взгляд, польза от функции ПОИСКПОЗ вызывает сомнение. Кому нужно знать положение элемента в диапазоне? Мы хотим знать значение этого элемента!

Позвольте напомнить, что относительное положение искомого значения (т.е. номер строки и/или столбца) – это как раз то, что мы должны указать для аргументов row_num (номер_строки) и/или column_num (номер_столбца) функции INDEX (ИНДЕКС). Как Вы помните, функция ИНДЕКС может возвратить значение, находящееся на пересечении заданных строки и столбца, но она не может определить, какие именно строка и столбец нас интересуют.

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

Теперь, когда Вам известна базовая информация об этих двух функциях, полагаю, что уже становится понятно, как функции ПОИСКПОЗ и ИНДЕКС могут работать вместе. ПОИСКПОЗ определяет относительную позицию искомого значения в заданном диапазоне ячеек, а ИНДЕКС использует это число (или числа) и возвращает результат из соответствующей ячейки.

Ещё не совсем понятно? Представьте функции ИНДЕКС и ПОИСКПОЗ в таком виде:

=INDEX( столбец из которого извлекаем ,(MATCH ( искомое значение , столбец в котором ищем ,0))
=ИНДЕКС( столбец из которого извлекаем ;(ПОИСКПОЗ( искомое значение ; столбец в котором ищем ;0))

Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:

Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:

Теперь давайте разберем, что делает каждый элемент этой формулы:

  • Функция MATCH (ПОИСКПОЗ) ищет значение «Japan» в столбце B, а конкретно – в ячейках B2:B10, и возвращает число 3, поскольку «Japan» в списке на третьем месте.
  • Функция INDEX (ИНДЕКС) использует 3 для аргумента row_num (номер_строки), который указывает из какой строки нужно возвратить значение. Т.е. получается простая формула:

Формула говорит примерно следующее: ищи в ячейках от D2 до D10 и извлеки значение из третьей строки, то есть из ячейки D4, так как счёт начинается со второй строки.

Вот такой результат получится в Excel:

Важно! Количество строк и столбцов в массиве, который использует функция INDEX (ИНДЕКС), должно соответствовать значениям аргументов row_num (номер_строки) и column_num (номер_столбца) функции MATCH (ПОИСКПОЗ). Иначе результат формулы будет ошибочным.

Стоп, стоп… почему мы не можем просто использовать функцию VLOOKUP (ВПР)? Есть ли смысл тратить время, пытаясь разобраться в лабиринтах ПОИСКПОЗ и ИНДЕКС?

В данном случае – смысла нет! Цель этого примера – исключительно демонстрационная, чтобы Вы могли понять, как функции ПОИСКПОЗ и ИНДЕКС работают в паре. Последующие примеры покажут Вам истинную мощь связки ИНДЕКС и ПОИСКПОЗ, которая легко справляется с многими сложными ситуациями, когда ВПР оказывается в тупике.

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.

Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: Как находить значения, которые находятся слева покажет эту возможность в действии.

2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку синтаксис ВПР требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.

Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:

=VLOOKUP(«lookup value»,A1:C10,2)
=ВПР(«lookup value»;A1:C10;2)

Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.

Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.

3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.

Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:

Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:

4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.

Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как ВПР+СУММ. Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.

С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.

ИНДЕКС и ПОИСКПОЗ – примеры формул

Теперь, когда Вы понимаете причины, из-за которых стоит изучать функции ПОИСКПОЗ и ИНДЕКС, давайте перейдём к самому интересному и увидим, как можно применить теоретические знания на практике.

Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС

Любой учебник по ВПР твердит, что эта функция не может смотреть влево. Т.е. если просматриваемый столбец не является крайним левым в диапазоне поиска, то нет шансов получить от ВПР желаемый результат.

Функции ПОИСКПОЗ и ИНДЕКС в Excel гораздо более гибкие, и им все-равно, где находится столбец со значением, которое нужно извлечь. Для примера, снова вернёмся к таблице со столицами государств и населением. На этот раз запишем формулу ПОИСКПОЗ/ИНДЕКС, которая покажет, какое место по населению занимает столица России (Москва).

Как видно на рисунке ниже, формула отлично справляется с этой задачей:

Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:

    Во-первых, задействуем функцию MATCH (ПОИСКПОЗ), которая находит положение «Russia» в списке:
  • Далее, задаём диапазон для функции INDEX (ИНДЕКС), из которого нужно извлечь значение. В нашем случае это A2:A10.
  • Затем соединяем обе части и получаем формулу:

    Подсказка: Правильным решением будет всегда использовать абсолютные ссылки для ИНДЕКС и ПОИСКПОЗ, чтобы диапазоны поиска не сбились при копировании формулы в другие ячейки.

    Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

    Вы можете вкладывать другие функции Excel в ИНДЕКС и ПОИСКПОЗ, например, чтобы найти минимальное, максимальное или ближайшее к среднему значение. Вот несколько вариантов формул, применительно к таблице из предыдущего примера:

    1. MAX (МАКС). Формула находит максимум в столбце D и возвращает значение из столбца C той же строки:

    2. MIN (МИН). Формула находит минимум в столбце D и возвращает значение из столбца C той же строки:

    3. AVERAGE (СРЗНАЧ). Формула вычисляет среднее в диапазоне D2:D10, затем находит ближайшее к нему и возвращает значение из столбца C той же строки:

    О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

    Используя функцию СРЗНАЧ в комбинации с ИНДЕКС и ПОИСКПОЗ, в качестве третьего аргумента функции ПОИСКПОЗ чаще всего нужно будет указывать 1 или -1 в случае, если Вы не уверены, что просматриваемый диапазон содержит значение, равное среднему. Если же Вы уверены, что такое значение есть, – ставьте 0 для поиска точного совпадения.

    • Если указываете 1, значения в столбце поиска должны быть упорядочены по возрастанию, а формула вернёт максимальное значение, меньшее или равное среднему.
    • Если указываете -1, значения в столбце поиска должны быть упорядочены по убыванию, а возвращено будет минимальное значение, большее или равное среднему.

    В нашем примере значения в столбце D упорядочены по возрастанию, поэтому мы используем тип сопоставления 1. Формула ИНДЕКС/ПОИСКПОЗ возвращает «Moscow», поскольку величина населения города Москва – ближайшее меньшее к среднему значению (12 269 006).

    Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

    Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.

    В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?

    Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:

    И я поздравляю тех из Вас, кто догадался!

    Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.

    =INDEX( Ваша таблица ,(MATCH( значение для вертикального поиска , столбец, в котором искать ,0)),(MATCH( значение для горизонтального поиска , строка в которой искать ,0))
    =ИНДЕКС( Ваша таблица ,(MATCH( значение для вертикального поиска , столбец, в котором искать ,0)),(MATCH( значение для горизонтального поиска , строка в которой искать ,0))

    Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).

    А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.

    Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в Excel с вложенными функциями, то я сначала каждую вложенную записываю отдельно.

    Итак, начнём с двух функций ПОИСКПОЗ, которые будут возвращать номера строки и столбца для функции ИНДЕКС:

      ПОИСКПОЗ для столбца – мы ищем в столбце B, а точнее в диапазоне B2:B11, значение, которое указано в ячейке H2 (USA). Функция будет выглядеть так:

    Результатом этой формулы будет 4, поскольку «USA» – это 4-ый элемент списка в столбце B (включая заголовок).
    ПОИСКПОЗ для строки – мы ищем значение ячейки H3 (2015) в строке 1, то есть в ячейках A1:E1:

    Результатом этой формулы будет 5, поскольку «2015» находится в 5-ом столбце.

    Теперь вставляем эти формулы в функцию ИНДЕКС и вуаля:

    Если заменить функции ПОИСКПОЗ на значения, которые они возвращают, формула станет легкой и понятной:

    Эта формула возвращает значение на пересечении 4-ой строки и 5-го столбца в диапазоне A1:E11, то есть значение ячейки E4. Просто? Да!

    Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

    В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!

    Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.

    Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:

    Эта формула сложнее других, которые мы обсуждали ранее, но вооруженные знанием функций ИНДЕКС и ПОИСКПОЗ Вы одолеете ее. Самая сложная часть – это функция ПОИСКПОЗ, думаю, её нужно объяснить первой.

    MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
    ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)

    В формуле, показанной выше, искомое значение – это 1, а массив поиска – это результат умножения. Хорошо, что же мы должны перемножить и почему? Давайте разберем все по порядку:

    • Берем первое значение в столбце A (Customer) на листе Main table и сравниваем его со всеми именами покупателей в таблице на листе Lookup table (A2:A13).
    • Если совпадение найдено, уравнение возвращает 1 (ИСТИНА), а если нет – 0 (ЛОЖЬ).
    • Далее, мы делаем то же самое для значений столбца B (Product).
    • Затем перемножаем полученные результаты (1 и 0). Только если совпадения найдены в обоих столбцах (т.е. оба критерия истинны), Вы получите 1. Если оба критерия ложны, или выполняется только один из них – Вы получите 0.

    Теперь понимаете, почему мы задали 1, как искомое значение? Правильно, чтобы функция ПОИСКПОЗ возвращала позицию только, когда оба критерия выполняются.

    Обратите внимание: В этом случае необходимо использовать третий не обязательный аргумент функции ИНДЕКС. Он необходим, т.к. в первом аргументе мы задаем всю таблицу и должны указать функции, из какого столбца нужно извлечь значение. В нашем случае это столбец C (Sum), и поэтому мы ввели 3.

    И, наконец, т.к. нам нужно проверить каждую ячейку в массиве, эта формула должна быть формулой массива. Вы можете видеть это по фигурным скобкам, в которые она заключена. Поэтому, когда закончите вводить формулу, не забудьте нажать Ctrl+Shift+Enter.

    Если всё сделано верно, Вы получите результат как на рисунке ниже:

    ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

    Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #N/A (#Н/Д) или #VALUE! (#ЗНАЧ!). Если Вы хотите заменить такое сообщение на что-то более понятное, то можете вставить формулу с ИНДЕКС и ПОИСКПОЗ в функцию ЕСЛИОШИБКА.

    Синтаксис функции ЕСЛИОШИБКА очень прост:

    Где аргумент value (значение) – это значение, проверяемое на предмет наличия ошибки (в нашем случае – результат формулы ИНДЕКС/ПОИСКПОЗ); а аргумент value_if_error (значение_если_ошибка) – это значение, которое нужно возвратить, если формула выдаст ошибку.

    Например, Вы можете вставить формулу из предыдущего примера в функцию ЕСЛИОШИБКА вот таким образом:

    =IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),
    «Совпадений не найдено. Попробуйте еще раз!») =ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));
    «Совпадений не найдено. Попробуйте еще раз!»)

    И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:

    Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:

    Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.

    Источник

  • Подбор слагаемых для нужной суммы

    adjust0.pngНе очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :)  Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.

    В реальной жизни эта задача может выглядеть по-разному.

    • Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
    • У нас есть несколько рулонов стали (линолеума, бумаги…), из которых надо подобрать под заказ те, что дадут заданную длину.
    • Блэкджек или в народе «очко». Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.

    В некоторых случаях может быть известна разрешенная погрешность допуска. Она может быть как нулевой (в случае подбора счетов), так и ненулевой (в случае подбора рулонов), или ограниченной снизу или сверху (в случае блэкджека).

    Давайте рассмотрим несколько способов решения такой задачи в Excel.

    Способ 1. Надстройка Поиск решения (Solver)

    Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:

    • в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти (File — Excel Options — Add-ins — Go)
    • в Excel 2003 и старше — открыть меню Сервис — Надстройки (Tools — Add-ins)

    и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

    Чтобы использовать надстройку Поиск решения для нашей задачи необходимо будет слегка модернизировать наш пример, добавив к списку подбираемых сумм несколько вспомогательных ячеек и формул:

    adjust1.png

    • Диапазон A1:A20 содержит наши числа, из которых мы будем выбирать нужные, чтобы «вписаться» в заданную сумму.
    • Диапазон В1:B20 будет своего рода набором переключателей, т.е. будет содержать нули или единички, показывая, отбираем мы данное число в выборку или нет.
    • В ячейке E2 стоит обычная автосумма всех единичек по столбцу B, подсчитывающая кол-во выбранных чисел.
    • В ячейке E3 с помощью функции СУММПРОИЗВ (SUMPRODUCT) считается сумма попарных произведений ячеек из столбцов А и B (то есть A1*B1+A2*B2+A3*B3+…). Фактически, здесь подсчитывается сумма чисел из столбца А, отобранных единичками из столбца В.
    • В розовую ячейку E4 пользователь вводит желаемую сумму для подбора.
    • В ячейке E5 вычисляется абсолютное по модулю значение погрешности подбора с целью ее будущей минимизации.
    • Все желтых ячейках Е8:E17 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:

    =ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$20;НАИМЕНЬШИЙ(ЕСЛИ(B1:B20=1;СТРОКА(B1:B20);»»);СТРОКА()-СТРОКА($E$8)+1));»»)

    =IFERROR(INDEX($A$1:$A$20;SMALL(IF(B1:B20=1;ROW(B1:B20);»»);ROW()-ROW($E$8)+1));»»)

    После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).

    

    Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data — Solver):

    adjust4.png

    В открывшемся окне необходимо:

    • Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
    • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
    • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):

      adjust5.png

    • С помощью той же кнопки, при необходимости, создать ограничение на количество чисел в выборке. Например, если мы знаем, что сумма была разбита на 5 счетов, то:

      adjust6.png

    После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:

    adjust3.png

    Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).

    Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.

    Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):

    adjust7.png

    И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):

    adjust8.png

    Способ 2. Макрос подбора

    В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.

    adjust9.png

    Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

    Sub Combinator()
        Dim Data() As Variant, Selected() As Variant
        Dim goal As Double, sel_count As Integer, prec As Double
        Const LIMIT = 1000000
        
        prec = Range("D5").Value
        sel_count = Range("D2").Value
        goal = Range("D4").Value
        
        Set OutRange = Range("D8")
        Set InputRange = Range("A1", Range("A1").End(xlDown))
        input_count = InputRange.Cells.Count
        Data = InputRange.Value
        ReDim Selected(1 To sel_count) As Variant
    
    NewTry:
        For j = 1 To sel_count
    Start:
            RandomIndex = Int(Rnd * input_count + 1)
            RandomValue = Data(RandomIndex, 1)
            
            'начиная со второго элемента дополнительно проверяем, чтобы такой уже не был выбран
            If j > 1 Then
                For k = 1 To j - 1
                    If Selected(k) = RandomValue Then GoTo Start
                Next k
            End If
            Selected(j) = RandomValue
        Next j
        
        If Abs(WorksheetFunction.Sum(Selected) - goal) <= prec Then
            Range("D3").Value = WorksheetFunction.Sum(Selected)
            MsgBox "Подбор завершен. Необходимая точность достигнута."
            Range(OutRange, OutRange.End(xlDown)).ClearContents
            OutRange.Resize(sel_count, 1).Value = Application.Transpose(Selected)
            Exit Sub
        Else
            iterations = iterations + 1
            If iterations > LIMIT Then
                MsgBox "Достигнут лимит попыток. Решение не найдено."
                Exit Sub
            Else
                GoTo NewTry
            End If
        End If
    End Sub
    
    
    

    Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.

    P.S. Сейчас набегут энтузиасты с мехмата МГУ с криками «Тупой перебор — это неэстетично!» Да, я в курсе, что прямой перебор вариантов — это не самый оптимальный способ поиска. Да, существует много умных алгоритмов поиска решения таких задач, которые сокращают время поиска и находят нужную комбинацию заметно быстрее. Могу даже рассказать про парочку. Но мне на данном этапе существующей скорости «тупого перебора» вполне достаточно — обработка массива из 1000 ячеек идет меньше секунды. Готов подождать :)

    Ссылки по теме

    • Оптимизация бизнес-модели с помощью надстройки Поиск решения (Solver)
    • Что такое макросы, куда и как вставлять код макросов на VBA

    Хороший инструмент — это надстройка Поиск решения в MS Excel!

    Например, его можно использовать в ситуации, когда вам нужно найти вариант, из которого с разных чисел могла быть добавлена ​​определенная сумма (возможно, вы ищете, с каких счетов могла быть сформирована сумма платежа). Допустим, вам нужно найти сумму 10 из заданных чисел:

    Для начала включаем надстройку или проверяем, что она включена (в Excel 2013): Файл/Параметры, раздел Надстройки, выберите Управление: Надстройки Excel, нажмите кнопку Перейти. Установите флажок Поиск решения, нажмите кнопку ОК

    Найдите решение, которое появилось на ленте на вкладке «Данные»:

    Теперь нам нужно понять, как мы можем использовать параметры в разных строках для «выбора» суммы. Я сделал вариант, когда мы указываем множитель 0 или 1 в одном столбце, подсчитываем произведение в соседнем столбце, а затем добавляем значения к итогу:

    • в ячейках столбца B указываем 0 или 1 (теперь неважно, что именно)
    • в ячейке C4 формула = A4 * B4
    • в ячейках C5: C14 — то же с учетом номера строки
    • в ячейке C3 формула = СУММ (C4: C14)

    Теперь приступим к поиску решения. И заполните:

    • Оптимизация целевой функции: $ C $ 3
    • Раньше: Значения: 10
    • Изменение ячеек переменных: $ B $ 4: $ B $ 14
    • В соответствии с ограничениями: — добавьте (кнопка Добавить) три условия: 1) значения переменных должны быть целыми числами, 2) значения должны быть> = 0, 3) 2) значения должны быть быть

    Не очень распространено, но и не экзотично. Во время моих обучающих курсов такой вопрос задавали не раз и не два. Суть в том, что у нас есть конечный набор некоторых чисел, из которых мы должны выбрать те, которые в сумме дают заданное значение.

    В реальной жизни эта задача может показаться другой.

    • Например, мы загрузили из интернет-банка все платежи, поступившие на наш счет за последний месяц. Один из клиентов разделяет сумму платежа на несколько отдельных счетов и производит оплату в рассрочку. Мы знаем общую сумму к оплате и количество счетов, но не знаем сумму. В истории платежей необходимо выбрать те суммы, которые, как правило, дают заданное значение.
    • У нас есть несколько рулонов стали (линолеум, бумага.), Из которых мы должны выбрать те, которые придадут заказу заданную длину.
    • Блэкджек или обычно «пойнт». Необходимо собрать карты с общей стоимостью как можно ближе к 21 баллу, но не превышать этот порог.

    В некоторых случаях может быть известна допустимая погрешность допуска. Он может быть нулевым (в случае счетов для снятия средств) и ненулевым (в случае бросков на снятие средств), либо ограничиваться снизу или сверху (в случае блэкджека).

    Давайте рассмотрим разные способы решения такой задачи в Excel.

    Способ 1. Надстройка Поиск решения (Solver)

    Эта надстройка входит в стандартный набор Microsoft Office вместе с Excel и предназначена, как правило, для решения линейных и нелинейных задач оптимизации со списком ограничений. Для его подключения необходимо:

    • в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
    • в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

    и поставьте галочку в соответствующем поле. Тогда нужная нам команда появится во вкладке или меню «Данные.

    Чтобы использовать надстройку Поиск решения нашей проблемы, нам нужно будет немного модернизировать наш пример, добавив несколько вспомогательных ячеек и формул в список сумм для выбора:

    • Диапазон A1: A20 содержит наши числа, из которых мы выберем те, которые нам нужны, чтобы «уместить» заданное количество.
    • Диапазон B1: B20 будет своего рода набором переключателей, то есть он будет содержать ноль или один, указывая, выбираем ли мы данное число в образце или нет.
    • Ячейка E2 содержит обычную автоматическую сумму всех единиц в столбце B, в которой подсчитывается количество выбранных чисел.
    • В ячейке E3 функция СУММПРОИЗВ вычисляет сумму произведений пары ячеек из столбцов A и B (то есть A1 * B1 + A2 * B2 + A3 * B3 +.). Фактически, он вычисляет сумму чисел в столбце A, выбранных из чисел в столбце B.
    • В розовой ячейке E4 пользователь вводит желаемую сумму для вывода.
    • В ячейке E5 вычисляется абсолютное значение ошибки выбора, чтобы минимизировать ее в будущем.
    • Все желтые ячейки E8: E17 хотели бы получить список выбранных чисел, т.е тех чисел из столбца A, перед которыми стоят числа из столбца B. Для этого нужно выделить сразу все (!) Желтые ячейки и вставьте в них следующую формулу массива:

    После ввода формулы ее нужно вводить не как обычную формулу, а как формулу массива, т.е нажимать не Enter, а Ctrl + Shift + Enter. Аналогичная формула используется в примере ВПР, который возвращает все найденные значения сразу (а не только первое).

    Теперь перейдите на вкладку Data (или меню) и запустите инструмент Data — Solver):

    В открывшемся окне вам необходимо:

    • Установить как целевую функцию (Целевая ячейка) — ячейка для расчета ошибки выбора E5. Чуть ниже выбираем вариант — Минимум, потому что мы хотим подбирать числа на заданную сумму с минимальной (или даже нулевой) ошибкой.
    • Установите диапазон столбцов переключателя B1: B20 как Edit Cells.
    • Используя кнопку Добавить, создайте дополнительное условие, что ячейки диапазона B1: B20 должны быть двоичными (т.е содержать только 0 или 1):


    Используя ту же кнопку, при необходимости создайте ограничение на количество чисел в образце. Например, если мы знаем, что сумма разделена на 5 счетов, тогда:

    После ввода всех параметров и ограничений запустите процесс выбора, нажав кнопку «Решить». Процесс выбора длится от нескольких секунд до нескольких минут (в самых серьезных случаях) и заканчивается появлением следующего окна:

    Теперь вы можете оставить найденное решение выбора (Сохранить найденное решение) или вернуться к предыдущим значениям (Восстановить исходные значения).

    Следует отметить, что для этого класса задач существует не одно, а целый набор решений, особенно если ошибка строго не равна нулю. Следовательно, выполнение поиска решения с разными начальными данными (например, с разными комбинациями нулей и единиц в столбце B) может привести к разным наборам чисел в выборках в указанных пределах. Поэтому имеет смысл запустить эту процедуру несколько раз, произвольно меняя переключатели в столбце B.

    Найденные комбинации можно сохранить как сценарии (кнопка Сохранить сценарий), чтобы вы могли вернуться к ним позже, используя команду Данные — Анализ моделирования — Менеджер сценариев):

    И все найденные решения, сохраненные в виде скрипта, будет очень удобно просматривать в единой сравнительной таблице с помощью кнопки Сводка):

    Способ 2. Макрос подбора

    В этом методе вся работа выполняется макросом, который по глупости прокручивает случайные комбинации чисел, пока не найдет требуемое количество в пределах допустимой ошибки. В этом случае нет необходимости добавлять столбец с нулями и единицами и формулами.

    Чтобы использовать макрос, нажмите комбинацию Alt + F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

    Подобно первому способу, запустив макрос несколько раз, вы можете получить несколько наборов подходящих чисел.

    в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
    в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

    и поставьте галочку в соответствующем поле. После этого необходимая команда появится на вкладке или в меню «Данные».

    : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/users/d/dm9/domains/mokshin.su/includes/unicode.inc on line 311.

    Опубликовано d.mokshin в чтв, 11/06/2015 — 22:59.

    • Software
    • MS Excel

    Хороший инструмент — надстройка Поиск решения в MS Excel!

    Например, можно использовать в ситуации, когда вам нужно найти вариант из каких различных чисел могла сложиться определнная сумма (может вы ищете из каких счетов могла сложиться сумма оплаты). Допустим, нужно найти по приведенным числам сумму 10:

    Для начал включим надстройку или проверим, что она включена (в Excel 2013): Файл / Параметры, раздел Надстройки, выбрать Управление: Надстройки Excel, нажать Перейти… Отметить флагом Поиск решения, нажать ОК

    На ленте на вкладке Данные появился Поиск решения:

    Теперь нужно придумать, как мы можем параметрами в разных строках «подбирать» сумму. Я сделал вариант, когда в столбце мы указываем множитель 0 или 1, в соседнем столбце считаем произведение, и потом значения складываем в итоговую сумму:

    • в ячейках столбца B указываем 0 или 1 (сейчас неважно, что конкретно)
    • в ячейке C4 формула =A4*B4
    • в ячейках C5:C14 — аналогично, с учетом номера строки
    • в ячейке C3 формула =СУММ(C4:C14)

    Теперь запускаем Поиск решения. И заполняем:

    • Оптимизировать целевую функцию: $C$3
    • До: Значения: 10
    • Изменяя ячейки переменных: $B$4:$B$14
    • В соответствии с ограничениями: — добавляем (кнопка Добавить) три условия: 1) значения переменных должны быть целые, 2) значения должны быть >= 0, 3) 2) значения должны быть <= 1
    • Выберите метод решения: Эволюционный поиск решения (выбираем это значение, т.к. у нас негладкая задача)

    И нажимаем Найти решение.

    Excel начинает что-то активно считать. В строке состояния меняются значения. При этом надо понимать, что чем больше самих переменных используется, и чем больше их значений возможно — тем дольше будет выполняться поиск решения. Поэтому критерии поиска, в том числе и ограничение по времени, можно задавать нажав на кнопку Параметры в окне Параметры поиска решений.

    Через какое-то время отобразится окно Результаты поиска решений. В данном примере всё срослось удачно и решение было найдено:

    Снимаем флаг Вернулься в диалоговое окно параметров (если установлено), нажимаем ОК и любуемся результатом.

    Если немного изменить начальные данные, то можно получить другие результаты:

    Если точный результат не может быть найден, то выдается такое сообщение:

    А иногда случается так, что этот функционал вообще не может найти подходящее решение (скорее всего из-за очень большого количества вариантов, которые он просто не успевает перебрать), и сообщает следуещее:

    В таком случае иногда помогает изменить немного подход к поиску результата, и искать не конкретное значение, а Минимум отклонения. В нашем примере делаем так:

    • в ячейке C3 формула =ABS(СУММ(C4:C14)-B1)

    А в Параметры поиска решений

    • До: Минимум

    И мы получаем прекрасный результат!

    • Блог пользователя d.mokshin

    На чтение 6 мин. Просмотров 2.9k. Опубликовано 15.12.2019

    Хороший инструмент — надстройка Поиск решения в MS Excel!

    Например, можно использовать в ситуации, когда вам нужно найти вариант из каких различных чисел могла сложиться определнная сумма (может вы ищете из каких счетов могла сложиться сумма оплаты). Допустим, нужно найти по приведенным числам сумму 10:

    Для начал включим надстройку или проверим, что она включена (в Excel 2013): Файл / Параметры, раздел Надстройки, выбрать Управление: Надстройки Excel, нажать Перейти. Отметить флагом Поиск решения, нажать ОК

    На ленте на вкладке Данные появился Поиск решения:

    Теперь нужно придумать, как мы можем параметрами в разных строках «подбирать» сумму. Я сделал вариант, когда в столбце мы указываем множитель 0 или 1, в соседнем столбце считаем произведение, и потом значения складываем в итоговую сумму:

    • в ячейках столбца B указываем 0 или 1 (сейчас неважно, что конкретно)
    • в ячейке C4 формула =A4*B4
    • в ячейках C5:C14 — аналогично, с учетом номера строки
    • в ячейке C3 формула =СУММ(C4:C14)

    Теперь запускаем Поиск решения. И заполняем:

    • Оптимизировать целевую функцию: $C$3
    • До: Значения: 10
    • Изменяя ячейки переменных: $B$4:$B$14
    • В соответствии с ограничениями: — добавляем (кнопка Добавить) три условия: 1) значения переменных должны быть целые, 2) значения должны быть >= 0, 3) 2) значения должны быть

    Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза 🙂 Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.

    В реальной жизни эта задача может выглядеть по-разному.

    • Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
    • У нас есть несколько рулонов стали (линолеума, бумаги. ), из которых надо подобрать под заказ те, что дадут заданную длину.
    • Блэкджек или в народе «очко». Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.

    В некоторых случаях может быть известна разрешенная погрешность допуска. Она может быть как нулевой (в случае подбора счетов), так и ненулевой (в случае подбора рулонов), или ограниченной снизу или сверху (в случае блэкджека).

    Давайте рассмотрим несколько способов решения такой задачи в Excel.

    Способ 1. Надстройка Поиск решения (Solver)

    Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:

    • в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти (File — Excel Options — Add-ins — Go)
    • в Excel 2003 и старше — открыть меню Сервис — Надстройки (Tools — Add-ins)

    и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

    Чтобы использовать надстройку Поиск решения для нашей задачи необходимо будет слегка модернизировать наш пример, добавив к списку подбираемых сумм несколько вспомогательных ячеек и формул:

    • Диапазон A1:A20 содержит наши числа, из которых мы будем выбирать нужные, чтобы «вписаться» в заданную сумму.
    • Диапазон В1:B20 будет своего рода набором переключателей, т.е. будет содержать нули или единички, показывая, отбираем мы данное число в выборку или нет.
    • В ячейке E2 стоит обычная автосумма всех единичек по столбцу B, подсчитывающая кол-во выбранных чисел.
    • В ячейке E3 с помощью функции СУММПРОИЗВ (SUMPRODUCT) считается сумма попарных произведений ячеек из столбцов А и B (то есть A1*B1+A2*B2+A3*B3+. ). Фактически, здесь подсчитывается сумма чисел из столбца А, отобранных единичками из столбца В.
    • В розовую ячейку E4 пользователь вводит желаемую сумму для подбора.
    • В ячейке E5 вычисляется абсолютное по модулю значение погрешности подбора с целью ее будущей минимизации.
    • Все желтых ячейках Е8:E17 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:

    После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).

    Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data — Solver):

    В открывшемся окне необходимо:

    • Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
    • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
    • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):


    С помощью той же кнопки, при необходимости, создать ограничение на количество чисел в выборке. Например, если мы знаем, что сумма была разбита на 5 счетов, то:

    После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:

    Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).

    Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.

    Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):

    И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):

    Способ 2. Макрос подбора

    В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.

    Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

    Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.

    в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти
    в Excel 2003 и старше — открыть меню Сервис — Надстройки

    и установить соответствующий флажок. Тогда на вкладке или в меню Данные появится нужная команда.
    Способ 2. Макрос подбора

    Skip to content

    5 способов – поиск значения в массиве Excel

    В статье предлагается несколько различных формул для выполнения поиска в двумерном массиве значений 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. Назовите столбцы и строки

    Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:

    1. Выделите всю таблицу (в нашем случае A1:E11).
    2. На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш  Ctrl + Shift + F3.
    3. В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».

    Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:

    • Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (Ctrl + F3). Если некоторые имена отсутствуют, определите их вручную.
    • Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.

    Шаг 2. Создание формулы поиска по матрице

    Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:

    =имя_строки имя_столбца

    Или наоборот:

    =имя_столбца имя_строки

    Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:

    =Sprite неделя_3

    То есть, имена диапазонов здесь разделены пробелом, который в данном случае является оператором пересечения массивов.

    Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:

    1. В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
    2. Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
    3. После имени строки введите пробел , который в данном случае работает как оператор пересечения.
    4. Введите имя целевого столбца ( в нашем случае неделя_3 ).
    5. Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:

    Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.

    Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.

    Еще несколько материалов по теме:

    Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
    Поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям В статье показано, как выполнять быстрый поиск с несколькими условиями в Excel с помощью ИНДЕКС и ПОИСКПОЗ. Хотя Microsoft Excel предоставляет специальные функции для вертикального и горизонтального поиска, опытные пользователи…
    ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР. В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить…
    Поиск в массиве при помощи ПОИСКПОЗ В этой статье объясняется с примерами формул, как использовать функцию ПОИСКПОЗ в Excel.  Также вы узнаете, как улучшить формулы поиска, создав динамическую формулу с функциями ВПР и ПОИСКПОЗ. В Microsoft…
    Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
    Функция СУММПРОИЗВ с примерами формул В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения…
    Средневзвешенное значение — формула в Excel В этом руководстве демонстрируются два простых способа вычисления средневзвешенного значения в Excel — с помощью функции СУММ (SUM) или СУММПРОИЗВ (SUMPRODUCT в английском варианте). В одной из предыдущих статей мы…

    Например, у меня есть следующий список чисел, и теперь я хочу знать, какая комбинация чисел в списке дает в сумме 480, на следующем скриншоте вы можете увидеть, что есть пять групп возможных комбинаций, которые в сумме равны до 480, например, 300 + 60 + 120, 300 + 60 + 40 + 80 и т. д. В этой статье я расскажу о некоторых методах определения суммирования ячеек до определенного значения в Excel.

    • Найдите комбинацию ячеек, равную заданной сумме, с помощью формул
    • Найдите комбинацию ячеек, которая равна заданной сумме, с помощью надстройки Solver
    • Найдите комбинацию ячеек, которая равна заданной сумме, с помощью функции, определяемой пользователем
    • Найдите все комбинации, которые равны заданной сумме, с удивительной функцией

    Найдите комбинацию ячеек, равную заданной сумме, с помощью формул

    Во-первых, вам нужно создать несколько имен диапазонов, а затем применить формулу массива, чтобы найти ячейки, которые суммируются с целевым значением, выполните следующие действия шаг за шагом:

    1. Выберите список номеров и определите для этого списка имя диапазона — Range1 в Имя Box, и нажмите Enter ключ для завершения определения имени диапазона, см. снимок экрана:

    2. После определения имени диапазона для списка номеров вам необходимо создать еще два имени диапазона в Менеджер имен коробка, пожалуйста, нажмите Формулы > Менеджер имен, В Менеджер имен диалоговое окно, нажмите Новинки кнопку см. скриншоты:

    3. В выскочившем Новое имя диалоговое окно введите имя List1 в Имя и фамилия поле и введите эту формулу = СТРОКА (КОСВЕННАЯ («1:» & СТРОКА (Диапазон1))) (Range1 это имя диапазона, которое вы создали на шаге 1) в Относится к поле, см. снимок экрана:

    4. Нажмите OK вернуться к Менеджер имен диалоговое окно, затем продолжайте щелкать Новинки кнопку, чтобы создать другое имя диапазона, в Новое имя диалоговое окно введите имя List2 в Имя и фамилия поле и введите эту формулу = СТРОКА (КОСВЕННАЯ («1:» & 2 ^ СТРОКА (Диапазон1))) (Range1 это имя диапазона, которое вы создали на шаге 1) в Относится к поле, см. снимок экрана:

    5. После создания имен диапазонов примените следующую формулу массива к ячейке B2:

    =IF(ISNUMBER(MATCH(ROWS($1:1),IF(INDEX(MOD(INT((List2-1)/2^(TRANSPOSE(List1)-1)),2),MATCH(TRUE,MMULT(MOD(INT((List2-1)/2^(TRANSPOSE(List1)-1)),2),Range1)=$C$2,0),),TRANSPOSE(List1)),0)),»X»,»»), и нажмите Shift + Ctrl + Enter вместе, затем перетащите дескриптор заполнения вниз в ячейку B8, последнее число в списке, и вы увидите, что числа, общая сумма которых составляет 480, помечены как X в столбце B, см. снимок экрана:

    • Ноты:
    • В приведенной выше длинной формуле: List1, List2 и Range1 имена диапазонов, которые вы создали на предыдущих этапах, C2 — это конкретное значение, к которому вы хотите добавить числа.
    • Если несколько комбинаций значений имеют сумму, равную определенному значению, отображается только одна комбинация.

    Быстрый и простой поиск и перечисление всех комбинаций, равных заданной сумме, в Excel

    Kutools for Excel‘s Составить номер Утилита может помочь вам быстро и легко найти и перечислить все комбинации и конкретные комбинации, которые равны заданной сумме. Нажмите, чтобы скачать Kutools for Excel!


    Найдите комбинацию ячеек, которая равна заданной сумме, с помощью надстройки Solver

    Если вы не уверены в приведенном выше методе, Excel содержит Надстройка Solver функция, используя эту надстройку, вы также можете определить числа, общая сумма которых равна заданному значению.

    1. Во-первых, вам нужно активировать это решающее устройство добавить в, перейдите к Файл > Опции, В Параметры Excel диалоговое окно, нажмите Надстройки на левой панели, а затем щелкните Надстройка Solver из Неактивные надстройки приложений раздел, см. снимок экрана:

    2. Затем нажмите Go для входа в Надстройки диалог, проверьте Надстройка Solver и нажмите OK для успешной установки этой надстройки.

    3. После активации надстройки Solver вам необходимо ввести эту формулу в ячейку B9: = СУММПРОИЗВ (B2: B9; A2: A9)(B2: B9 — это пустые ячейки столбца рядом со списком номеров, и A2: A9 это список номеров, который вы используете. ) и нажмите Enter ключ, см. снимок экрана:

    4. Затем нажмите Данные > решающее устройство , чтобы перейти к Параметр решателя диалоговое окно, в диалоговом окне выполните следующие операции:

    (1.) Щелкните  кнопка для выбора ячейки B10 где ваша формула из Установить цель раздел;

    (2.) Тогда в к раздел, выберите Значение, и введите целевое значение 480 как вам нужно;

    (3.) Под Изменяя ячейки переменных раздел, нажмите кнопка для выбора диапазона ячеек B2: B9 где будут отмечены ваши соответствующие числа.

    5. Затем нажмите Добавить кнопку, чтобы перейти к Добавить ограничение диалоговое окно, нажмите кнопка для выбора диапазона ячеек B2: B9И выберите бункер из выпадающего списка см. снимок экрана:

    6. Нажмите OK вернуться в Параметр решателя диалоговое окно, затем щелкните Решить кнопку, через несколько минут Результаты решателя появится диалоговое окно, и вы увидите, что комбинация ячеек, равная заданной сумме 480, помечена как 1. В поле Результаты решателя диалог, пожалуйста, выберите Сохранить решение для решения и нажмите OK для выхода из диалога. Смотрите скриншот:

    Внимание: Этот метод также позволяет получить только одну комбинацию ячеек, если существует более одной комбинации значений, сумма которой равна определенному значению.


    Найдите комбинацию ячеек, которая равна заданной сумме, с помощью функции, определяемой пользователем

    Первые два метода являются сложными для большинства наших пользователей Excel, здесь я могу создать код VBA, чтобы быстро и легко решить эту задачу.

    Чтобы получить правильный результат, вы должны сначала отсортировать список номеров в порядке убывания. А затем проделайте следующие шаги:

    1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

    2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

    Код VBA: найти комбинацию ячеек, равную заданной сумме:

    Function GetCombination(CoinsRange As Range, SumCellId As Double) As String
    'updateby Extendoffice
        Dim xStr As String
        Dim xSum As Double
        Dim xCell As Range
        xSum = SumCellId
        For Each xCell In CoinsRange
            If Not (xSum / xCell < 1) Then
                xStr = xStr & Int(xSum / xCell) & " of " & xCell & "  "
                xSum = xSum - (Int(xSum / xCell)) * xCell
            End If
        Next
        GetCombination = xStr
    End Function
    

    3. Затем сохраните и закройте это окно кода, а затем вернитесь на рабочий лист и введите эту формулу = getcombination (A2: A9, C2) в пустую ячейку и нажмите Enter key, вы получите следующий результат, который отображает комбинационные числа, равные заданной сумме, см. снимок экрана:

    • Ноты:
    • В приведенной выше формуле A2: A9 — диапазон номеров, а C2 содержит целевое значение, которому вы хотите равняться.
    • Если несколько комбинаций значений имеют сумму, равную определенному значению, отображается только одна комбинация.

    Найдите все комбинации, которые равны заданной сумме, с удивительной функцией

    Возможно, все вышеперечисленные методы несколько сложны для вас, здесь я представлю мощный инструмент, Kutools for Excel, С его Составить номер функция, вы можете быстро получить все комбинации, равные заданной сумме.

    Советы:Чтобы применить это Составить номер функция, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

    После установки Kutools for Excel, пожалуйста, сделайте так:

    1. Нажмите Кутулс > Содержание > Составить номер, см. снимок экрана:

    2, Затем в Составьте число диалоговое окно, щелкните кнопку, чтобы выбрать список номеров, который вы хотите использовать, из Источник данных, а затем введите общее число в Сумма текстовое поле, см. снимок экрана:

    3. А затем нажмите OK Кнопка, появится окно с подсказкой, чтобы напомнить вам выбрать ячейку, чтобы найти результат, см. снимок экрана:

    4. Затем щелкните OK, и теперь все комбинации, которые равны данному номеру, были отображены, как показано на скриншоте ниже:

    Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!


    Демонстрация: найдите комбинацию ячеек, которая равна заданной сумме в Excel


    Лучшие инструменты для работы в офисе

    Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

    • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
    • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
    • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
    • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
    • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
    • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
    • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
    • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
    • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

    вкладка kte 201905


    Вкладка Office: интерфейс с вкладками в Office и упрощение работы

    • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
    • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
    • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

    офисный дно

    Функции ИНДЕКС и ПОИСКПОЗ в Excel на простых примерах

    ​Смотрите также​​ целое с помощью​​ первом решении, только​​ из нашей таблицы​​ таком случае напишем​ в которой ведется​​ месяцу, который может​​ значение, а ссылочная​​Челябинск​​=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА)​​2,17​​ функции поиска.​может быть не​ сопоставления = -1.​ Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)​ искомого значения, а​ A1:L1(горизонтальный вектор):​Совместное использование функций​ оператора сцепки (&),​ запись немного отличается.​ и сравнить её​​ два нуля.​​ учет купленной продукции.​​ быть выбран из​​ – ссылку.​02.05.12​Поиск числа 3 в​

    ​100​Функции ВПР и ГПР​

    Функция ПОИСКПОЗ в Excel

    ​ упорядочен.​​ В этом случае​​ вернет ошибку, т.к.​ не само значение.​Если Вы уже работали​ИНДЕКС​ чтобы получить уникальный​ Я рекомендую самостоятельно​ с искомым словом.​Скачать примеры использования функций​Наша цель: создать карточку​

    ​ выпадающего списка.​Форма массива имеет вот​​3467​​ трех строках константы​1,09​ вместе с функций​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​-1​ функция ПОИСКПОЗ() находит​​ значения «грейпфрут» в​​ Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает​ с функциями​и​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ столбец-ключ для поиска:​ сравнить эти формулы​ Если их значения​​ ИНДЕКС и ПОИСКПОЗ​​ заказа, где по​=INDEX($C$2:$C$8,MATCH($F$2,$D$2:$D$8,0))​ такой синтаксис:​Челябинск​ массива и возврат​1,95​ индекс и ПОИСКПОЗ,описаны​Функция​ наименьшее значение, которое​ диапазоне ячеек​

    ​ вывести максимальное значение​​ будет видеть, что​​В этом примере именованный​ИНДЕКС(массив;номер_строки;номер_столбца)​3474​ 2 того же​1,29​ полезных функций в​​находит наименьшее значение,​​ чем искомое значение.​

    Функция ИНДЕКС в Excel

    ​нет.​​ «б» в массиве​​ГПР​ хорошая альтернатива​ВПР (VLOOKUP)​И наконец-то, несколько иной​Когда речь идет о​ из массива. Протянем​ это за товар,​ диапазон​ar​Челябинск​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ (в данном случае —​1,71​ Microsoft Excel.​ которое больше или​Функции ПОИСКПОЗ() и ИНДЕКС()​В файле примера можно​ {«а»;»б»;»в»;»б»}. Позиция второй​и​ВПР​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​для поиска склеенной​ (не табличный) подход.​ циклах Excel (за​ ее вправо, получив​ какой клиент его​​MonthAmts​​ray​04.05.12​ третьего) столбца. Константа​0​

    ​Примечание:​ равно значению аргумента​ часто используются вместе,​ найти применение функции​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ буквы «б» будет​ПРОСМОТР​,​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    Совместное использование ПОИСКПОЗ и ИНДЕКС в Excel

    ​ пары​ Как правило, каждый​​ исключением VBA, конечно,​​ аналогичную информацию по​​ приобрел, сколько было​​состоит из 3-х​​(массив) – массив​​3490​ массива содержит три​Формула​ Функция мастер подстановок больше​искомое_значение​ т.к. позволяют по​ при поиске в​ проигнорирована, функция вернет​в Excel, то​ГПР​НектаринЯнварь​​ раз, когда необходимо​​ потому что там​​ цене и сумме.​​ куплено и по​ несмежных диапазонов. Диапазон​

    ​ констант или диапазон​Челябинск​ строки значений, разделенных​Описание​ не доступен в​.​ найденной позиции в​ горизонтальном массиве.​ позицию только первой​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ должны знать, что​и​из ячеек H3​​ что-то искать в​​ дело намного проще),​Функция INDEX имеет две​ какой общей стоимости.​​MonthAmts​​ ячеек.​05.05.12​ точкой с запятой​​Результат​​ Microsoft Excel.​

    ​Просматриваемый_массив​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ одном диапазоне вывести​Поиск позиции можно производить​ буквы. О том​ они осуществляют поиск​ПРОСМОТР​ и J3 в​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ Excel, моментально на​​ на ум приходят​​ формы. Первая, содержит​ Сделать это поможет​

    1. ​имеет 3 области​Если аргумент​3503​ (;). Так как​Функция ИНДЕКС и ПОИСКПОЗ в Excel
    2. ​=ВПР(1,A2:C10,2)​​Вот пример того, как​​должен быть упорядочен​ соответствующее значение из​ не только в​​ как вернуть ВСЕ​​ только в одномерном​. Эта связка универсальна​ созданном ключевом столбце:​Функция ИНДЕКС и ПОИСКПОЗ в Excel
    3. ​ ум приходит пара​​ в первую очередь​​ 3 аргумента для​ функция ИНДЕКС совместно​ – по одной​array​​Челябинск​​ «c» было найдено​Используя приблизительное соответствие, функция​Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ использовать функцию ВПР.​ по убыванию: ИСТИНА,​ другого диапазона. Рассмотрим​​ диапазонах ячеек, но​​ позиции искомого значения​ массиве. Но иногда​ и обладает всеми​Плюсы​ функций: ИНДЕКС и​ следующие решения:​

    ​ ввода. Однако существует​

    Функция ИНДЕКС и ПОИСКПОЗ в Excel

    ​ с ПОИСКПОЗ.​ для каждого месяца​

    ​(массив) имеет только​08.05.12​ в строке 2​ ищет в столбце​=ВПР(B2;C2:E7,3,ИСТИНА)​ ЛОЖЬ, Z-A, …,​​ пример.​​ и в массивах​​ читайте ниже в​​ приходится сталкиваться с​ возможностями этих функций.​: Простой способ, знакомая​ ПОИСКПОЗ. Результат поиска​Итерационные (итеративные) вычисления.​ функция ИНДЕКС с​Для начала создадим выпадающий​ – и в​ 1 строку или​

    ​3151​

    office-guru.ru

    Функция ПОИСКПОЗ() в MS EXCEL

    ​ того же столбца,​ A значение 1,​В этом примере B2​ 2, 1, 0,​Найдем количество заданного товара​​ констант. Например, формула​​ разделе Поиск позиций​ двумерным поиском, когда​ А в некоторых​ функция, работает с​ выглядит так:​Формулы массива (или такие​​ 4 аргументами, где​​ список для поля​ каждой области по​ 1 столбец, то​Нижний Новгород​​ что и 3,​​ находит наибольшее значение,​​ — это первый​​ -1, -2, …​ на определенном складе.​ =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение​ ВСЕХ текстовых значений,​

    ​ соответствия требуется искать​ случаях, например, при​ любыми данными.​Формула построена из блоков​ функции, как СУММПРОИЗВ,​ вместо одной таблицы​ АРТИКУЛ ТОВАРА, чтобы​ 4 строки и​ соответствующий аргумент с​09.04.12​ возвращается «c».​ которое меньше или​аргумент​ и т. д.​ Для этого используем​ 2.​ удовлетворяющих критерию.​ сразу по двум​

    Синтаксис функции

    ​ двумерном поиске данных​​Минусы​

    ​ и имеет более​​ которые работают с​ можно указать несколько​ не вводить цифры​​ 2 столбца. Вот​​ номером строки/столбца не​3438​c​ равняется 1 и​— элемент данных, функция​Функция​ формулу​

    ​Если искомое значение точно​​ПОИСКПОЗискомое_значение просматриваемый_массив​ параметрам. Именно в​ на листе, окажется​​: Надо делать дополнительный​​ или менее следующий​ массивами, хотя мы​ таблиц. Такой подход​​ с клавиатуры, а​​ формула для имени​ обязателен.​Нижний Новгород​​В этом примере последней​​ составляет 0,946, а​ должна работать. Функции​ПОИСКПОЗ​=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))​​ не известно, то​​; тип_сопоставления)​ таких случаях связка​ просто незаменимой. В​ столбец и потом,​

    ​ вид:​​ их не подтверждаем​ позволяет одновременную работу​​ выбирать их. Для​​MonthAmts​Если аргумент​​02.05.12​​ использует функций индекс​ затем возвращает значение​​ ВПР это первый​

    • ​возвращает не само​​В файле примера, соответствующий​​ с помощью подстановочных​Искомое_значение​ПОИСКПОЗ​ данном уроке мы​​ возможно, еще и​​1*НЕ(ЕОШИБКА(ПОИСКПОЗ(F5;A2:A9;0)))​​ с помощью Ctr​​ сразу по нескольким​ этого кликаем в​
    • ​:​array​3471​ и ПОИСКПОЗ вместе​ из столбца B​​ аргумент — значение,​​ значение, а его​ столбец и строка​ знаков можно задать​- значение, используемое​и​ последовательно разберем функции​​ прятать его от​​Изменяются только выделенные фрагменты.​ + Shift +​ таблицам.​
    • ​ соответствующую ячейку (у​​=’Ex02′!$B$3:$C$6,’Ex02′!$E$3:$F$6,’Ex02′!$H$3:$I$6​​(массив) содержит более​Нижний Новгород​ для возвращения раннюю​ в той же​ которое требуется найти.​​ позицию в аргументе​​ выделены с помощью​ поиск по шаблону,​ при поиске значения​ИНДЕКС​ПОИСКПОЗ​ пользователя. При изменении​

    ​ Для каждого столбца​ Enter, как в​В качестве последнего аргумента​

    ​ нас это F13),​=’Ex02′!$B$3:$C$6;’Ex02′!$E$3:$F$6;’Ex02′!$H$3:$I$6​ 1-й строки и​04.05.12​

    Поиск позиции в массивах с текстовыми значениями

    ​ номер счета-фактуры и​ строке.​ Этот аргумент может​​просматриваемый_массив​​ Условного форматирования.​

    ​ т.е. искомое_значение может​ в​в Excel оказывается​

    ​и​ числа строк в​

    ​ с помощью функции​ случае с классическими​ необходимо выбрать номер​ затем выбираем вкладку​При помощи функции​ 1-го столбца:​

    ​3160​ его соответствующих даты​2,17​ быть ссылка на​. Например, функция​

    ​СОВЕТ: Подробнее о поиске​ содержать знаки шаблона:​просматриваемом_массивеИскомое_значение​ просто незаменимой.​ИНДЕКС​ таблице — допротягивать​ ПОИСКПОЗ, мы проверяем​ формулами массива).​​ области, к которой​​ ДАННЫЕ – ПРОВЕРКА​

    ​INDEX​и задано значение только​Москва​ для каждого из​

    Поиск позиции в массиве констант

    ​=ВПР(1,A2:C10,3,ИСТИНА)​ ячейку или фиксированным​ПОИСКПОЗ(«б»;{«а»;»б»;»в»};0)​ позиций можно прочитать​ звездочку (*) и​может быть значением​На рисунке ниже представлена​

    Поиск позиции с использованием подстановочных знаков

    ​, а затем рассмотрим​ формулу сцепки на​ удалось ли найти​Первое решение выглядит следующем​ ссылается формула. Не​ ДАННЫХ. В открывшемся​(ИНДЕКС) Вы можете​ аргумента​18.04.12​ пяти городов. Так​Используя приблизительное соответствие, функция​ значением, например «строфа»​возвращает 2 — относительную​

    ​ в соответствующем разделе​ знак вопроса (?).​ (числом, текстом или​ таблица, которая содержит​ пример их совместного​ новые строки (хотя​ в столбце искомое​

    ​ образом:​ пресмыкающиеся друг к​ окне в пункте​ возвратить стоимость (Cost)​row_num​3328​ как дата возвращаются​

    ​ ищет в столбце​ или 21,000. Второй​ позицию буквы «б»​ сайта: Поиск позиции.​​ Звездочка соответствует любой​​ логическим значением (ЛОЖЬ​ месячные объемы продаж​

    Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию

    ​ использования в Excel.​ это можно упростить​ выражение. Если нет,​Рассмотрим ближе каким образом​ другу области должны​ ТИП ДАННЫХ выбираем​

    ​ или сумму выручки​(номер_строки), то будет​​Москва​​ в виде числа,​ A значение 1,​

    ​ аргумент — это​ в массиве {«а»;»б»;»в»}.​С помощью функций ПОИСКПОЗ()​ последовательности знаков, знак​

    ​ или ИСТИНА)) или​

    ​ каждого из четырех​Более подробно о функциях​ применением умной таблицы).​ то функция возвращает​ эта формула работает:​ быть заключены в​ СПИСОК. А в​​ (Rev) для определённого​​ возвращен массив всех​26.04.12​ мы используем функцию​ находит наибольшее значение,​ диапазон ячеек, C2-:E7,​Функция​

    ​ и ИНДЕКС() можно​ вопроса соответствует любому​

    ​ ссылкой на ячейку,​

    ​ видов товара. Наша​ ВПР и ПРОСМОТР.​Если нужно найти именно​ ошибку. С помощью​($A$2:$D$9=F2)​

    Поиск позиции в массивах с Числами

    ​ круглые скобки, а​ качестве источника выделяем​ региона и месяца.​ значений этой строки.​​3368​​ текст отформатировать его​

    ​ которое меньше или​ в котором выполняется​ПОИСКПОЗ​

    ​ заменить функцию ВПР(),​ одиночному знаку.​ содержащую число, текст​

    ​ задача, указав требуемый​​Функция​​ число (в нашем​ функции ЕОШИБКА мы​Данный фрагмент формулы необходимо​ таблицы должны быть​

    ​ столбец с артикулами,​=INDEX(MonthAmts,B10,C10,D10)​если же задано значение​Москва​​ как дату. Результат​​ равняется 1 и​

    ​ поиск значения, которые​не различает регистры​ об этом читайте​Предположим, что имеется перечень​ или логическое значение.​ месяц и тип​ПОИСКПОЗ​ случае цена как​ проверяем выдала ли​ сравнивать значение каждой​ отделены друг от​ включая шапку. Так​=ИНДЕКС(MonthAmts;B10;C10;D10)​ только аргумента​

    ​29.04.12​ функции ПОИСКПОЗ фактически​

    ​ составляет 0,946, а​ нужно найти. Третий​ при сопоставлении текста.​

    ​ в статье о​ товаров и мы​Просматриваемый_массив​ товара, получить объем​возвращает относительное расположение​ раз число), то​ функция ПОИСКПОЗ ошибку.​ ячейки таблицы с​ друга, так как​ у нас получился​

    Функции ПОИСКПОЗ() и ИНДЕКС()

    ​С результатом функции​column_num​3420​ используется функция индекс​ затем возвращает значение​ аргумент — это​Если функция​ функции ВПР().​

    ​ не знаем точно​— непрерывный диапазон​ продаж.​ ячейки в заданном​

    ​ вместо ВПР можно​

    ​ Если да, то​ искомым словом. Для​ и аргументы в​ выпадающий список артикулов,​

    ​INDEX​(номер_столбца), то массив​Москва​ аргументом. Сочетание функций​

    ​ из столбца C​ столбец в диапазон​ПОИСКПОЗ​Функция​ как записана товарная​ ячеек, возможно, содержащих​

    excel2.ru

    Функция ПОИСКПОЗ

    ​Пускай ячейка C15 содержит​​ диапазоне Excel, содержимое​​ использовать функцию​ мы получаем значение​ этого формула создаёт​ Excel, то есть​ которые мы можем​(ИНДЕКС) можно произвести​ всех значений этого​01.05.12​ индекс и ПОИСКПОЗ​​ в той же​​ ячеек, содержащий значение,​не находит соответствующего​ПОИСКПОЗ​

    ​ позиция относящаяся к​​ искомые значения.​​ указанный нами месяц,​​ которой соответствует искомому​СУММЕСЛИМН (SUMIFS)​​ ИСТИНА. Быстро меняем​​ в памяти компьютера​ с использованием точки​ выбирать.​ операцию умножения, как​ столбца.​​3501​​ используются два раза​ строке.​​ которое вы поиска.​​ значения, возвращается значение​​выполняет поиск указанного​​ яблокам: яблоки или​

    Синтаксис

    ​Просматриваемый_массив​

    ​ например,​ значению. Т.е. данная​

    • ​, появившуюся начиная с​​ её на ЛОЖЬ​ массив значений, равный​ с запятой.​​Теперь нужно сделать так,​​ при вычислении налога​Если аргумент​Москва​ в каждой формуле​100​Четвертый аргумент не является​ ошибки #Н/Д.​
      ​ элемента в диапазоне​​ яблоко.​​может быть только​Май​ функция возвращает не​ Excel 2007. По​ и умножаем на​

    • ​ размерам нашей таблицы,​​В этой версии функции​ чтобы при выборе​ (Tax) в ячейке​

    • ​row_num​​06.05.12​ — сначала получить​=ВПР(0,7,A2:C10,3,ЛОЖЬ)​​ обязательным. Введите TRUE​​Если​ ячеек и возвращает​​В качестве критерия можно​​ одностолбцовым диапазоном ячеек,​. А ячейка C16​​ само содержимое, а​​ идее, эта функция​ введённый вручную номер​ заполненную нулями (фактически​
      ​ ИНДЕКС можно установить​ артикула автоматически выдавались​ F10:​(номер_строки) не указан,​Краткий справочник: обзор функции​​ номер счета-фактуры, а​​Используя точное соответствие, функция​

    ​ или FALSE. Если​

    ​тип_сопоставления​

    ​ относительную позицию этого​

    ​ задать»яблок*» и формула​​ например​​ — тип товара,​ его местоположение в​ выбирает и суммирует​​ столбца (значение ИСТИНА​​ значениями ЛОЖЬ, но​​ другую функцию. Для​​ значения в остальных​=0.05*INDEX(MonthAmts,B10,C10,D10)​ то требуется указать​ ВПР​ затем для возврата​

    ​ ищет в столбце​

    ​ ввести значение ИСТИНА​​равен 0 и​​ элемента в диапазоне.​ =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию​​А9:А20​​ например,​​ массиве данных.​​ числовые значения по​ заменяем на ЛОЖЬ,​

    ​ через какое-то время​

    ​ примера я сделал​​ четырех строках. Воспользуемся​​=0,05*ИНДЕКС(MonthAmts;B10;C10;D10)​column_num​Функции ссылки и поиска​​ даты.​​ A значение 0,7.​​ или аргумент оставлен​​искомое_значение​ Например, если диапазон​ текстового значения, начинающегося​или диапазоном, расположенным​Овощи​Например, на рисунке ниже​

    • ​ нескольким (до 127!)​​ потому что нас​​ мы будем умножать​ три таблицы с​ функцией ИНДЕКС. Записываем​​или она может возвратить​​(номер_столбца).​​ (справка)​​Скопируйте всю таблицу и​ Поскольку точного соответствия​ пустым, функция возвращает​

    • ​является текстом, то​​ A1:A3 содержит значения​​ со слова яблок​ в одной строке,​

    • ​. Введем в ячейку​​ формула вернет число​​ условиям. Но если​ не интересует ошибка,​ эти значения, и​

    • ​ ценами из разных​​ ее и параллельно​​ ссылку для функции​​Если аргумент​​Использование аргумента массива таблицы​​ вставьте ее в​​ нет, возвращается сообщение​ приблизительное значение, указать​​искомое_значение​​ 5, 25 и​ (если она есть​​ например,​​ C17 следующую формулу​5​ в нашем списке​ возвращаемая функцией ПОИСКПОЗ.​ Excel автоматически преобразует​ магазинов. Диапазонам данных​ изучаем синтаксис.​CELL​column_num​​ в функции ВПР​​ ячейку A1 пустого​

    Пример

    ​ об ошибке.​ в качестве первого​может содержать подстановочные​ 38, то формула​ в списке).​А2:Е2​ и нажмем​, поскольку имя «Дарья»​ нет повторяющихся товаров​ Также ищем варианты​ их на ноль).​ я дал именам,​Массив. В данном случае​

    ​(ЯЧЕЙКА), чтобы показать​

    ​(номер_столбца) не указан,​

    ​Вчера в марафоне​

    ​ листа Excel.​

    ​#Н/Д​

    ​ аргумента. Если ввести​

    ​ знаки: звездочку (​

    ​=ПОИСКПОЗ(25;A1:A3;0)​

    ​Подстановочные знаки следует использовать​

    ​. Таким образом формула​

    ​Enter​

    ​ находится в пятой​

    ​ внутри одного месяца,​

    ​ (столбцы), в котором​

    ​ Нули там, где​ соответствующие их названиям,​ это вся таблица​ адрес полученного результата​ то требуется указать​

    ​30 функций Excel за​

    ​Совет:​

    ​=ВПР(0,1,A2:C10,2,ИСТИНА)​ значение FALSE, функция​

    ​*​

    ​возвращает значение 2, поскольку​

    ​ только для поиска​ =ПОИСКПОЗ(«слива»;A30:B33;0) работать не​:​ строке диапазона A1:A9.​

    ​ то она просто​

    support.office.com

    Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

    ​ формула не выдала​​ значение в таблице​ используя поле «Имя».​ заказов. Выделяем ее​ в ячейке G10.​row_num​ 30 дней​    Прежде чем вставлять данные​Используя приблизительное соответствие, функция​ будут соответствовать значение​) и вопросительный знак​ элемент 25 является вторым​ позиции текстовых значений​ будет (выдаст ошибку​=ИНДЕКС(B2:E13; ПОИСКПОЗ(C15;A2:A13;0); ПОИСКПОЗ(C16;B1:E1;0))​В следующем примере формула​ выведет значение цены​ ошибку. Потому что​ не равно искомому​ Теперь диапазоны называются​ вместе с шапкой​=CELL(«address»,INDEX(MonthAmts,B10,C10,D10))​

    ​(номер_строки).​мы искали текстовые​ в Excel, установите​ ищет в столбце​ в первом аргументе​ (​ в диапазоне.​ и​ #Н/Д), так как​Как видите, мы получили​ вернет​ для заданного товара​ это будет означать,​

    ​ слову. Как не​ Магазин1(B2:E5), Магазин2(B8:E11) и​ и фиксируем клавишей​=ЯЧЕЙКА(«адрес»;ИНДЕКС(MonthAmts;B10;C10;D10))​Если указаны оба аргумента,​ строки, используя функцию​

    ​ для столбцов A​​ A значение 0,1.​ предоставить. Другими словами,​?​

    ​Совет:​Типом сопоставления​

    ​Просматриваемый_массив​

    ​ верный результат. Если​3​​ и месяца:​​ что искомое значение​ трудно догадаться, в​ Магазин3(B14:E17).​ F4.​Вы можете использовать функцию​ то функция возвращает​FIND​ – D ширину​ Поскольку 0,1 меньше​ оставив четвертый аргумент​). Звездочка соответствует любой​ Функцией​= 0 (третий​представляет собой диапазон​ поменять месяц и​, поскольку число 300​Плюсы​ было найдено. Немного​ случае нахождения искомого​

    ​Первый аргумент определен теперь​Номер строки. Если бы​INDEX​ значение ячейки на​(НАЙТИ), и выяснили,​ в 250 пикселей​ наименьшего значения в​ пустым, или ввести​ последовательности знаков, вопросительный​ПОИСКПОЗ​ аргумент функции).​ ячеек размещенный одновременно​ тип товара, формула​ находится в третьем​: Не нужен дополнительный​ запутано, но я​ слова, в памяти​

    ​ осталось написать формулы​ у нас требовалось​(ИНДЕКС), чтобы создать​ пересечении указанных строки​ что она чувствительна​ и нажмите кнопку​ столбце A, возвращается​ значение ИСТИНА —​ знак — любому одиночному​следует пользоваться вместо​Функция ПОИСКПОЗ() возвращает только​ в нескольких столбцах​ снова вернет правильный​

    Типичный пример использования функции ВПР

    ​ столбце диапазона B1:I1.​ столбец, решение легко​ уверен, что анализ​ компьютера в соответствующем​ для остальных аргументов.​ вывести одно значение,​ динамический диапазон. В​ и столбца.​ к регистру, в​

    ​Перенос текста​ сообщение об ошибке.​ обеспечивает гибкость.​ знаку. Если нужно​ одной из функций​ одно значение. Если​ и нескольких ячейках.​

    Попробуйте попрактиковаться

    ​ результат:​Из приведенных примеров видно,​ масштабируется на большее​ формул позволит вам​ месте будет цифра​​ мы бы написали​ этом примере создан​Если в качестве аргумента​ отличие от функции​(вкладка «​#Н/Д​В этом примере показано,​ найти сам вопросительный​ПРОСМОТР​ в списке присутствует​Тип_сопоставления​

    Пример функции ВПР в действии

    ​В данной формуле функция​ что первым аргументом​

    ​ количество условий (до​​ быстро понять ход​ 1.​С помощью функции ВЫБОР,​ какую-то конкретную цифру.​ именованный диапазон​row_num​SEARCH​​Главная​​=ВПР(2,A2:C10,2,ИСТИНА)​​ как работает функция.​​ знак или звездочку,​​, когда требуется найти​​ несколько значений, удовлетворяющих​

    ​— число -1,​

    ​ИНДЕКС​

    ​ функции​

    ​ 127), быстро считает.​

    ​ мыслей.​

    ​СТОЛБЕЦ($A$2:$D$9)​

    ​ я создал виртуальную​

    ​ Но раз нам​

    ​MonthList​

    ​(номер_строки) или​

    ​(ПОИСК).​

    ​», группа «​

    ​Используя приблизительное соответствие, функция​

    ​ При вводе значения​

    ​ перед ними следует​

    ​ позицию элемента в​

    ​ критерию, то эта​

    ​ 0 или 1.​

    ​принимает все 3​

    ​ПОИСКПОЗ​

    ​Минусы​

    ​GP75​

    ​В то же самое​

    ​ таблицу данных, состоящую​

    ​ нужно, чтобы результат​

    ​вот с такой​

    ​column_num​

    ​В 24-й день марафона​

    ​Выравнивание​

    ​ ищет в столбце​

    ​ в ячейке B2​

    ​ ввести знак тильды​

    ​ диапазоне, а не​

    ​ функция не поможет.​

    ​Тип_сопоставления​ аргумента:​является искомое значение.​: Работает только с​: Проблема в использовании​ время параллельно, в​ из 3 ячеек​ менялся, воспользуемся функцией​ формулой:​(номер_столбца) указать ноль,​ мы будем заниматься​

    ​»).​

    ​ A значение 2,​

    ​ (первый аргумент) функция​ (​ сам элемент. Например,​Рассмотрим список с повторяющимися​указывает, как MS​Первый аргумент – это​ Вторым аргументом выступает​ числовыми данными на​ функций ИНДЕКС и​ памяти компьютера создаётся​ с именами магазинов,​

    ​ ПОИСКПОЗ. Она будет​

    ​=’Ex03′!$C$1:INDEX(‘Ex03’!$C:$C,COUNTA(‘Ex03’!$C:$C))​

    ​ то функция возвратит​ изучением функции​Счет​ находит наибольшее значение,​ ВПР ищет ячейки​~​

    ​ функцию​

    ​ значениями в диапазоне​

    ​ EXCEL сопоставляет​ диапазон B2:E13, в​ диапазон, который содержит​ выходе, не применима​ ПОИСКПОЗ на двух​ другой массив значений​ т.е. A1, A7,​

    ​ искать необходимую позицию​

    ​=’Ex03′!$C$1:ИНДЕКС(‘Ex03’!$C:$C;СЧЁТЗ(‘Ex03’!$C:$C))​

    ​ массив значений всего​INDEX​Город​ которое меньше или​ в диапазоне C2:E7​).​ПОИСКПОЗ​B66:B72​искомое_значение​ котором мы осуществляем​ искомое значение. Также​

    ​ для поиска текста,​

    Пример функции ГПР

    ​ листах. В прикреплении​ (тех же размеров,​ A13 и я​ каждый раз, когда​

    ​Если в список в​​ столбца или всей​(ИНДЕКС). Используя номер​Дата выставления счета​ равняется 2 и​ (2-й аргумент) и​Скопируйте образец данных из​можно использовать для​​. Найдем все позиции​​со значениями в​​ поиск.​​ функция имеет еще​​ не работает в​​ файл. Уважаемые знатоки​

    ​ что и размеры​

    ​ использовал ее как​

    ​ мы будем менять​

    ​ столбце C добавить​

    ​ строки соответственно.​

    ​ строки и столбца,​

    ​Самая ранняя счет по​

    ​ составляет 1,29, а​

    ​ возвращает ближайший Приблизительное​

    ​ следующей таблицы и​

    ​ передачи значения аргумента​

    ​ значения Груши.​

    ​ аргументе​

    ​Вторым аргументом функции​

    ​ и третий аргумент,​

    ​ старых версиях Excel​

    ​ EXCEL посоветуйте, как​ нашей исходной таблицы),​ массив для функции​ артикул.​ ещё один месяц,​Ссылочная форма имеет вот​

    ​ она может возвратить​

    ​ городу, с датой​

    ​ затем возвращает значение​ совпадение с третьего​ вставьте их в​номер_строки​Значение Груши находятся в​просматриваемый_массив.​

    ​ИНДЕКС​

    ​ который задает тип​

    ​ (2003 и ранее).​ поправить​ содержащая номера столбцов​ ПОИСКПОЗ. Благодаря этому,​Записываем команду ПОИСКПОЗ и​ то он автоматически​ такой синтаксис:​ значение или ссылку​3115​ из столбца B​ столбца в диапазоне,​

    ​ ячейку A1 нового​

    ​функции​

    ​ позициях 2 и​Если​является номер строки.​ сопоставления. Он может​О том, как спользовать​krosav4ig​

    ​ для каждой из​

    ​ после ввода названия​

    ​ проставляем ее аргументы.​ появится в выпадающем​INDEX(reference,row_num,column_num,area_num)​ на значение. В​Казань​ в той же​ столбец E (3-й​ листа Excel. Чтобы​ИНДЕКС​ 5 списка. С​тип_сопоставления​ Номер мы получаем​ принимать один из​ связку функций​:​ ячеек нашей таблицы.​

    ​ выбранного магазина в​

    ИНДЕКС и ПОИСКПОЗ примеры

    ​Искомое значение. В нашем​ списке в ячейке​ИНДЕКС(ссылка;номер_строки;номер_столбца;номер_области)​ ходе марафона мы​07.04.12​ строке.​ аргумент).​ отобразить результаты формул,​.​ помощью формулы массива​равен 0, то​ с помощью функции​ трех вариантов:​ИНДЕКС (INDEX)​GP75​ Затем одна таблица​ ячейку G1, функция​ случае это ячейка,​ F2, который использует​r​ уже не раз​=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «,​1,71​

    ​Четвертый аргумент пуст, поэтому​ выделите их и​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))​

    ​ функция ПОИСКПОЗ() находит​​ПОИСКПОЗ(C15;A2:A13;0)​0​и​, вы столбцы со​ умножается на другую.​ ИНДЕКС относится к​​ в которой указывается​​MonthList​​eference (ссылка)​​ использовали функцию​​ Дата выставления счета:​​Скопируйте всю таблицу и​

    ​ функция возвращает Приблизительное​

    ​ нажмите клавишу F2,​

    ​Аргументы функции ПОИСКПОЗ описаны​

    ​можно найти все эти​ первое значение, которое​

    ​. Для наглядности вычислим,​

    ​— функция​

    ​ПОИСКПОЗ (MATCH)​

    ​ строками перепутали​ Выглядит это более​ диапазону с ценами​

    ​ артикул, т.е. F13.​

    ​, как источник данных.​

    ​может ссылаться на​

    ​INDEX​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)​ вставьте ее в​

    ​ совпадение. Если это​

    ​ а затем — клавишу​

    ​ ниже.​

    ​ позиции. Для этого​ в​ что же возвращает​

    ​ПОИСКПОЗ​

    ​в качестве более​

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Данные!D2:AI6;ПОИСКПОЗ(F3;Данные!D2:D6;0);ПОИСКПОЗ(C3;Данные!D2:AI2;0))​

    ​ или менее так,​ указанного мной магазина.​ Фиксируем ее клавишей​В финальном примере функция​

    ​ один или несколько​

    ​(ИНДЕКС) в сочетании​

    ​3137​

    ​ ячейку A1 пустого​ не так, вам​ ВВОД. При необходимости​

    ​Искомое_значение.​

    ​ необходимо выделить несколько​

    ​точности​

    ​ нам данная формула:​

    ​ищет первое значение​

    ​ мощной альтернативы ВПР​

    ​GP75​

    ​ как показано на​

    ​Последней модификацией формулы является​

    ​ F4.​

    ​INDEX​

    ​ диапазонов ячеек, включая​

    ​ с другими функциями:​

    ​Казань​

    ​ листа Excel.​

    ​ придется введите одно​

    ​ измените ширину столбцов,​

    ​    Обязательный аргумент. Значение, которое​

    ​ ячеек (расположенных вертикально),​

    ​равно аргументу​

    ​Третьим аргументом функции​

    ​ в точности равное​

    ​ я уже подробно​

    ​: Япона мама…Заработался… Спасибо!.​

    ​ рисунке ниже (пример​

    ​ добавление функции ПОИСКПОЗ​

    ​Просматриваемый массив. Т.к. мы​

    ​(ИНДЕКС) работает в​

    ​ несмежные диапазоны, которые​

    ​вместе с​

    ​09.04.12​

    ​Совет:​

    ​ из значений в​

    ​ чтобы видеть все​

    ​ сопоставляется со значениями​

    ​ в Строке формул​

    ​искомое_значениеПросматриваемый_массив​

    ​ИНДЕКС​

    ​ заданному. Сортировка не​

    ​ описывал (с видео).​

    ​ Всё- в отпуск​

    ​ для искомого выражения​

    ​ вместо индекса строки​

    ​ ищем по артикулу,​

    ​ сочетании с несколькими​

    ​ должны быть заключены​

    ​EXACT​

    ​=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «,​

    ​    Прежде чем вставлять​

    ​ столбцах C и​

    ​ данные.​

    ​ в аргументе​

    ​ ввести вышеуказанную формулу​

    ​может быть не​

    ​является номер столбца.​

    ​ требуется.​

    ​ В нашем же​

    ​ пора​

    ​ «Прогулка в парке»).​

    ​ и столбца, для​

    ​ значит, выделяем столбец​

    ​ другими функциями, чтобы​

    ​ в круглые скобки.​

    ​(СОВПАД) – для​

    ​ Дата выставления счета:​

    ​ данные в Excel,​

    ​ D, чтобы получить​

    ​Продукт​

    ​просматриваемый_массив​

    ​ и нажать​

    ​ упорядочен.​

    ​ Этот номер мы​

    ​1 или вовсе опущено​

    ​ случае, можно применить​

    ​Если вы продвинутый пользователь​

    ​В результате мы получаем​

    ​ того чтобы эти​

    ​ артикулов вместе с​

    ​ возвратить список месяцев,​

    ​Если каждая область в​

    ​ поиска названия по​

    Дополнительные сведения о функциях поиска

    • ​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy»)​ установите для столбцов​

    • ​ результат вообще.​Количество​

    • ​. Например, при поиске​CTRL+SHIFT+ENTER​

    support.office.com

    30 функций Excel за 30 дней: ИНДЕКС (INDEX)

    ​Если тип_сопоставления равен 1,​​ получаем с помощью​— функция​​ их для поиска​ Microsoft Excel, то​​ массив с нулями​​ значения были переменными,​ шапкой. Фиксируем F4.​ отсортированный в алфавитном​reference​​ точному совпадению в​​3154​

    ​ A – С​Когда вы будете довольны​Бананы​​ номера в телефонной​​. В позициях, в​ то функция ПОИСКПОЗ()​ функции​ПОИСКПОЗ​ по нескольким столбцам​ должны быть знакомы​ везде, где значения​ а не постоянными.​​Тип сопоставления. Excel предлагает​​ порядке. Функция​(ссылка) имеет только​

    • ​ списке;​​Казань​​ ширину в 250​ ВПР, ГПР одинаково​25​ книге имя абонента​
    • ​ которых есть значение​​ находит наибольшее значение,​​ПОИСКПОЗ(C16;B1:E1;0)​ищет самое большое​ в виде формулы​
    • ​ с функцией поиска​​ в нашей таблице​​ В ячейках G2​ три типа сопоставления:​COUNTIF​ 1 строку или​
    • ​вместе с​​11.04.12​​ пикселей и нажмите​ удобно использовать. Введите​Апельсины​

    ​ указывается в качестве​ Груши будет выведено​ которое меньше либо​. Для наглядности вычислим​​ значение, которое меньше​​ массива. Для этого:​ и подстановки​ не соответствуют искомому​ и G3 я​ больше, меньше и​

    Функция 24: INDEX (ИНДЕКС)

    ​(СЧЁТЕСЛИ) подсчитывает, как​​ 1 столбец, то​​AREAS​=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «,​ кнопку​ те же аргументы,​38​ искомого значения, а​​ соответствующее значение позиции,​​ равно, чем​ и это значение:​

    Функция ИНДЕКС в Excel

    Как можно использовать функцию INDEX (ИНДЕКС)?

    ​ или равно заданному.​​Выделите пустую зеленую ячейку,​​ВПР​ выражению, и номер​ ввожу пример названия​ точное совпадение. У​ много месяцев стоит​

    • ​ соответствующий аргумент с​(ОБЛАСТИ) – для​
    • ​ Дата выставления счета:​Перенос текста​ но он осуществляет​
    • ​Яблоки​ нужным значением будет​
    • ​ в остальных ячейках​искомое_значениеПросматриваемый_массив​Если подставить в исходную​

    Синтаксис INDEX (ИНДЕКС)

    ​ Требуется сортировка в​​ где должен быть​​или​ столбца, в котором​ продукта и веса.​ нас конкретный артикул,​ перед каждым конкретным​ номером строки/столбца не​

    ​ поиска последней области​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy»)​

    ​(вкладка "​
    ​ поиск в строках​

    • ​40​​ номер телефона.​​ быдет выведен 0.​должен быть упорядочен​ громоздкую формулу вместо​
    • ​ порядке возрастания.​​ результат.​​VLOOKUP​ соответствующее значение было​ Теперь, изменяя значения​ поэтому выбираем точное​ месяцем в списке​ обязателен.​
    • ​ в именованном диапазоне;​​3191​​Главная​ вместо столбцов. «​Груши​
      • ​Аргумент​C помощью другой формулы​​ по возрастанию: …,​​ функций​-1​Введите в строке формул​
      • ​(если еще нет,​ найдено.​​ в ячейках от​​ совпадение. В программе​ (создается массив).​area_num​
    • ​вместе с​​Казань​​», группа «​Если вы хотите поэкспериментировать​​41​​искомое_значение​
    • ​ массива​​ -2, -1, 0,​​ПОИСКПОЗ​— функция​​ в нее следующую​​ то сначала почитайте​
    • ​СУММ(($A$2:$D$9=F2)*СТОЛБЕЦ($A$2:$D$9))​ G1 до G3,​ оно значится как​SMALL​(номер_области) указывает номер​
    • ​COLUMNS​​21.04.12​​Выравнивание​​ с функциями подстановки,​​Формула​может быть значением​=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))​ 1, 2, …,​уже вычисленные данные​

    ​ПОИСКПОЗ​ формулу:​

    ​ эту статью, чтобы​
    ​Наконец, все значения из​

    • ​ в ячейке H1​​ 0 (ноль). На​​(НАИМЕНЬШИЙ) возвращает n-ое​ области в аргументе​(ЧИСЛСТОЛБ) – для​=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний​»).​ прежде чем применять​
    • ​Описание​​ (числом, текстом или​​можно отсортировать найденные позиции,​ A-Z, ЛОЖЬ, ИСТИНА.​ из ячеек D15​ищет самое маленькое​Нажмите в конце не​ им стать). Для​
    • ​ нашей таблицы суммируются​​ отображается цена, выбранная​ этом аргументы ПОИСКПОЗ​​ наименьшее значение в​​reference​ подсчета суммы последнего​
    • ​ Новгород»,$B$2:$B$33,0),1)& «, Дата​​Оси​​ их к собственным​Результат​ логическим значением) или​
    • ​ чтобы номера найденных​​ Если​​ и D16, то​​ значение, которое больше​​ Enter, а сочетание​ тех, кто понимает,​ (в нашем примере​ на основании трех​ закончились.​
    • ​ созданном массиве, а​(ссылка), из которой​ столбца в именованном​

    Ловушки INDEX (ИНДЕКС)

    ​ выставления счета: «​​Подшипники​​ данным, то некоторые​​=ПОИСКПОЗ(39;B2:B5,1;0)​​ ссылкой на ячейку,​ позиций отображались в​тип_сопоставления​ формула преобразится в​​ или равно заданному.​​Ctrl+Shift+Enter​ рекламировать ее не​​ в результате мы​​ аргументов.​

    Пример 1: Находим сумму продаж для выбранного месяца

    ​Номер столбца. Опять же​MATCH​​ нужно вернуть результат.​​ диапазоне;​ & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy»)​Болты​ образцы данных. Некоторые​​Так как точного соответствия​​ содержащую такое значение.​ первых ячейках (см.​опущен, то предполагается,​

    ​ более компактный и​
    ​ Требуется сортировка в​

    Функция ИНДЕКС в Excel

    ​, чтобы ввести формулу​ нужно :) -​ получаем «3» то​​Этот пример должен был​​ воспользуемся ПОИСКПОЗ. Искомым​(ПОИСКПОЗ) на базе​Если аргумент​вместе с​3293​

    ​4​
    ​ пользователи Excel, такие​

    Функция ИНДЕКС в Excel

    Пример 2: Получаем ссылку на определенную строку, столбец или область

    ​ нет, возвращается позиция​Просматриваемый_массив​​ файл примера).​​ что он равен​ понятный вид:​​ порядке убывания.​​ не как обычную,​ без нее не​ есть номер столбца,​ показать, как работает​ значением будет ячейка​ этого значения возвращает​area_num​MATCH​​Казань​​4​

    ​ как с помощью​
    ​ ближайшего меньшего элемента​

    ​    Обязательный аргумент. Диапазон ячеек,​​1. Произведем поиск позиции​​ 1.​=ИНДЕКС(B2:E13;D15;D16)​В одиночку функция​ а как формулу​ обходится ни один​

    ​ в котором находится​
    ​ функция ИНДЕКС, а​

    Функция ИНДЕКС в Excel

    ​ E14, где указано​​ номер строки нужного​​(номер_области) не указан,​(ПОИСКПОЗ) – для​25.04.12​9​ функции ВПР и​

    ​ (38) в диапазоне​
    ​ в которых производится​

    ​ в НЕ сортированном​Если​​Как видите, все достаточно​​ПОИСКПОЗ​ массива.​ сложный расчет в​

    ​ искомое выражение). Остальное​
    ​ также какие возможности​

    Функция ИНДЕКС в Excel

    Пример 3: Создаём динамический диапазон, основанный на подсчете

    ​ наименование параметра, который​​ месяца.​​ то будет выбрана​ поиска имени участника,​=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «,​5​​ ГПР; другие пользователи​​ B2:B5.​ поиск.​

    ​ списке числовых значений​
    ​тип_сопоставления​

    Функция ИНДЕКС в Excel

    ​ просто!​, как правило, не​Как это на самом​ Excel. Есть, однако,​ просто выбирает и​ предоставляет использование вложения​ мы ищем (ТОВАР).​​Эта формула должна быть​​ 1 область.​

    Функция ИНДЕКС в Excel

    Пример 4: Сортируем столбец с текстовыми данными в алфавитном порядке

    ​ угадавшего ближайшее значение.​​ Дата выставления счета:​​7​ предпочитают с помощью​2​Тип_сопоставления.​ (диапазон​равен -1, то​​На этой прекрасной ноте​​ представляет особой ценности,​ деле работает:​ одна проблема: эта​ показывает значения из​ функций и массивов.​​ Просматриваемый массив: шапка​​ введена в ячейку​Если аргумент​Итак, давайте обратимся к​​ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy»)​​10​ функций индекс и​=ПОИСКПОЗ(41;B2:B5;0)​    Необязательный аргумент. Число -1,​

    ​B8:B14​ функция ПОИСКПОЗ() находит​ мы закончим. В​ поэтому в Excel​​Функция ИНДЕКС выдает из​​ функция умеет искать​ строки заголовка, что​Функция ИНДЕКС предназначена для​

    ​ с наименованиями, потому​
    ​ E4, как формула​

    Функция ИНДЕКС в Excel

    ​row_num​ теоретическим сведениям и​
    ​3331​
    ​6​

    ​ ПОИСКПОЗ вместе. Попробуйте​

    office-guru.ru

    Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования

    ​Позиция значения 41 в​ 0 или 1.​)​ наименьшее значение, которое​ этом уроке Вы​ ее очень часто​ диапазона цен C2:C161​ данные только по​ осуществляется при помощи​

    ​ создания массивов значений​ что искать система​ массива, нажатием​(номер_строки) или​ практическим примерам по​Казань​8​ каждый из методов​ диапазоне B2:B5​ Аргумент​Столбец Позиция приведен для​ больше либо равно​ познакомились еще с​ используют вместе с​ содержимое N-ой ячейки​ совпадению одного параметра.​

    Пример использования функций ИНДЕКС и ПОИСКПОЗ

    ​ функции ИНДЕКС.​ в Excel и​ будет по слову​Ctrl+Shift+Enter​column_num​ функции​27.04.12​

    Таблица.

    ​11​ и посмотрите, какие​4​тип_сопоставления​ наглядности и не​ чем​ двумя полезными функциями​ функцией​ по порядку. При​ А если у​Отложим в сторону итерационные​ чаще всего используется​

    ​ ТОВАР. Тип сопоставления:​. А затем скопирована​(номер_столбца) равен нулю,​INDEX​3350​Формула​ из них подходящий​=ПОИСКПОЗ(40;B2:B5;-1)​указывает, каким образом​ влияет на вычисления.​искомое_значениеПросматриваемый_массив​ Microsoft Excel –​ИНДЕКС​ этом порядковый номер​ нас их несколько?​ вычисления и сосредоточимся​ в паре с​ 0.​ с остальные ячейки​ то функция возвратит​(ИНДЕКС). Если у​Казань​

    Проверка значений.

    ​Описание​ вариант.​Возвращает сообщение об ошибке,​ в Microsoft Excel​Найдем позицию значения 30​должен быть упорядочен​ПОИСКПОЗ​.​

    ИНДЕКС.

    ​ нужной ячейки нам​Предположим, что у нас​ на поиске решения,​ другими функциями. Рассмотрим​Синтаксис функции ИНДЕКС закончен.​ диапазона E4:E9.​

    ​ ссылку на весь​ Вас есть дополнительная​28.04.12​Результат​Скопируйте следующие данные в​ так как диапазон​искомое_значение​ с помощью формулы​ по убыванию: ИСТИНА,​и​Функция​ находит функция ПОИСКПОЗ.​ есть база данных​

    ​ основанного на формулах​ на конкретных примерах​

    ​ Как в итоге​=INDEX($C$4:$C$9,MATCH(SMALL(COUNTIF($C$4:$C$9,» ROW(E4)-ROW(E$3)),COUNTIF($C$4:$C$9,»​ столбец или всю​ информация или примеры,​3390​=ГПР(«Оси»;A1:C4;2;ИСТИНА)​

    ​ пустой лист.​ B2:B5 упорядочен не​сопоставляется со значениями​ =ПОИСКПОЗ(30;B8:B14;0)​ ЛОЖЬ, Z-A, …,​

    ​ИНДЕКС​ИНДЕКС​ Она ищет связку​ по ценам товаров​ массива.​ формул с комбинациями​ выглядит формула, видно​=ИНДЕКС($C$4:$C$9;ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ($C$4:$C$9;» СТРОКА(E4)-СТРОКА(E$3));СЧЁТЕСЛИ($C$4:$C$9;»​ строку соответственно.​ пожалуйста, делитесь ими​Казань​

    ​Поиск слова «Оси» в​Совет:​ по убыванию.​ в аргументе​Формула ищет​ 2, 1, 0,​, разобрали возможности на​возвращает содержимое ячейки,​ названия товара и​ за разные месяцы:​Пример 2. Вместо формулы​ функции ИНДЕКС и​

    ИНДЕКС и ПОИСКПОЗ. Пример.

    ​ на скриншоте выше.​Урок подготовлен для Вас​Результат – это ссылка,​ в комментариях.​01.05.12​ строке 1 и​    Прежде чем вставлять​#Н/Д​просматриваемый_массив​точное​ -1, -2, …,​ простых примерах, а​ которая находится на​

    ​ месяца (​

    Поиск индекса максимального числа массива в Excel

    ​Нужно найти и вытащить​ массива мы можем​ других функций для​ Видим, что артикул​ командой сайта office-guru.ru​ которая может быть​Функция​3441​

    ​ возврат значения из​ данные в Excel,​Примечание:​. По умолчанию в​

    ​значение 30. Если​ и так далее.​ также посмотрели их​ пересечении заданных строки​НектаринЯнварь​ цену заданного товара​ использовать формулу, основанную​

    ​ поиска значений при​ 3516 действительно у​Источник: http://blog.contextures.com/archives/2011/01/25/30-excel-functions-in-30-days-24-index/​ использована другими функциями.​INDEX​Казань​ строки 2, находящейся​

    МАКС.

    ​ установите для столбцов​Мы стараемся как​

    ​ качестве этого аргумента​ в списке его​Функция ПОИСКПОЗ() не различает​ совместное использование. Надеюсь,​ и столбца. Например,​) по очереди во​

    exceltable.com

    Примеры функции ИНДЕКС и ПОИСКПОЗ с несколькими условиями Excel

    ​ (​ на функции СУММПРОИЗВ.​ определенных условиях.​ арахиса. Протянем формулу​Перевел: Антон Андронов​Если​(ИНДЕКС) возвращает значение​02.05.12​ в том же​ A – С​ можно оперативнее обеспечивать​ используется значение 1.​

    Работа функции ИНДЕКС и ПОИСКПОЗ по нескольким условиям

    ​ нет, то будет​ РеГИстры при сопоставлении​ что данный урок​ на рисунке ниже​ всех ячейках склеенного​Нектарин​Принцип работы в основном​Необходимо выполнить поиск значения​ на остальные строки​Автор: Антон Андронов​row_num​ или ссылку на​3517​ столбце (столбец A).​ ширину в 250​

    ИНДЕКС.

    ​ вас актуальными справочными​В приведенной ниже​ возвращена ошибка #Н/Д.​ текстов.​ Вам пригодился. Оставайтесь​ формула возвращает значение​ из двух столбцов​) в определенном месяце​ такой же, как​ в таблице и​ и проверим. Теперь,​В Excel есть очень​(номер_строки) и​

    Имена диапазонов.

    ​ значение. Используйте её​Казань​4​

    ​ пикселей и нажмите​

    Формула из комбинации функций ВЫБОР, ИНДЕКС и ПОИСКПОЗ

    ​ материалами на вашем​ таблице описано, как​2. Произведем поиск позиции​Если функция ПОИСКПОЗ() не​ с нами и​ из диапазона A1:C4,​ диапазона A2:A161&B2:B161 и​ (​ и в первом​ отобразить заголовок столбца​ меняя артикул товара,​ удобная, но почему-то​column_num​ в сочетании с​08.05.12​=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ)​

    ПОИСКПОЗ.

    ​ кнопку​ языке. Эта страница​ функция находит значения​ в отсортированном по​ находит соответствующего значения,​ успехов в изучении​ которое находится на​ выдает порядковый номер​Январь​ случае. Мы используем​ с найденным значением.​ мы будем видеть,​ редко используемая функция,​(номер_столбца) указывают на​ другими функциями, такими​3124​Поиск слова «Подшипники» в​Перенос текста​

    ВЫБОР.

    ​ переведена автоматически, поэтому​ в зависимости от​ возрастанию списке числовых​ то возвращается значение​ Excel.​ пересечении 3 строки​

    exceltable.com

    Примеры формул с функциями ИНДЕКС и ПОИСКПОЗ СУММПРОИЗВ в Excel

    ​ ячейки, где нашла​), т.е. получить на​ здесь просто другую​ Готовый результат должен​ кто его купил,​ которая называется ИНДЕКС.​ ячейку, не принадлежащую​ как​Орел​ строке 1 и​(вкладка «​ ее текст может​

    Поиск значений по столбцам таблицы Excel

    ​ аргумента​ значений (диапазон​ ошибки #Н/Д.​Автор: Антон Андронов​ и 2 столбца.​ точное совпадение. По​

    Пример 1.

    ​ выходе​ функцию Excel, и​ выглядеть следующим образом:​ сколько и почем.​ Удобная она потому,​

    ​ заданному массиву или​MATCH​09.04.12​ возврат значения из​Главная​ содержать неточности и​тип_сопоставления​B31:B37​Произведем поиск позиции в​Функция ПОИСКПОЗ(), английский вариант​Стоит отметить, что номера​ сути, это первый​152​

    ​ вся формула не​

    Формула массива или функции ИНДЕКС и СУММПРОИЗВ

    ​Небольшое упражнение, которое показывает,​​ что позволяет выдавать​ ссылке, функция​(ПОИСКПОЗ), чтобы создавать​3155​ строки 3, находящейся​», группа «​ грамматические ошибки. Для​.​)​ НЕ сортированном списке​

    ​ MATCH(), возвращает позицию​ строк и столбцов​ способ, но ключевой​, но автоматически, т.е.​ должна подтверждаться как​ как в Excelе​Функция ИНДЕКС также помогает​ значение из диапазона​

    1. ​INDEX​
    2. ​ могучие формулы.​Орел​ в том же​Выравнивание​ нас важно, чтобы​Тип_сопоставления​Сортированные списки позволяют искать​ текстовых значений (диапазон​ значения в диапазоне​ задаются относительно верхней​

    ​ столбец создается виртуально​ с помощью формулы.​

    ИНДЕКС.

    ​ формула массива. Однако​ можно добиться одинакового​

    ​ выделить из массива​

    ​ по заданным номерам​(ИНДЕКС) сообщит об​Функция​11.04.12​ столбце (столбец B).​»).​ эта статья была​Поведение​ не только точные​B7:B13​ ячеек. Например, если​ левой ячейки диапазона.​ прямо внутри формулы,​ ВПР в чистом​ на этот раз​ результата при использовании​ максимальное число. Рассмотрим​ строки и столбца.​ ошибке​INDEX​3177​7​Плотность​ вам полезна. Просим​1 или опущен​

    ​ значения (их позицию),​

    ​)​ в ячейке​ Например, если ту​ а не в​ виде тут не​ мы создаём в​ совершенно разных функций.​ тот же самый​На практике ИНДЕКС редко​#REF!​(ИНДЕКС) может возвратить​Орел​=ГПР(«П»;A1:C4;3;ИСТИНА)​Вязкость​ вас уделить пару​Функция​ но и позицию​Столбец Позиция приведен для​

    Формула массива.

    ​А10​ же таблицу расположить​ ячейках листа.​ поможет, но есть​ памяти компьютера столько​Итак, у нас есть​ пример. Попробуем определить​ используется, скорее всего,​(#ССЫЛКА!).​

    ​ значение или ссылку​

    ​19.04.12​Поиск буквы «П» в​Температура​ секунд и сообщить,​ПОИСКПОЗ​ ближайшего значения. Например,​ наглядности и не​содержится значение «яблоки»,​ в другом диапазоне,​Плюсы​ несколько других способов​ же массивов значений,​ таблица, и мы​

    ​ максимальные значения купленного​ из-за того, что​Введите номер строки, и​ на значение. Вы​3357​

    Пример формулы поиска значений с функциями ИНДЕКС и ПОИСКПОЗ

    ​ строке 1 и​0,457​ помогла ли она​находит наибольшее значение,​

    СУММПРОИЗВ.

    ​ в списке на​ влияет на вычисления.​ то формула =ПОИСКПОЗ​ то формула вернет​: Не нужен отдельный​ решить эту задачу.​ сколько столбов в​ бы хотели, чтобы​ количества товара, цены​ эти самые номер​ функция​ можете использовать ее,​Орел​ возврат значения из​3,55​ вам, с помощью​ которое меньше или​ картинке ниже нет​Формула для поиска позиции​ («яблоки»;A9:A20;0) вернет 2,​ тот же результат:​ столбец, работает и​Это самый очевидный и​ нашей таблице. Каждый​ формула Excel отвечала​ и суммы.​

    Пример формулы функций ИНДЕКС и НЕ

    ​ строки и столбца​INDEX​ чтобы:​

    ЕСЛИ СТОЛБЕЦ.

    ​28.04.12​ строки 3, находящейся​500​ кнопок внизу страницы.​ равно значению аргумента​ значения 45, но​ значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)​ т.е. искомое значение​

    ​Если массив содержит только​ с числами и​ простой (хотя и​ раз, в таком​ на вопрос, в​Начнем с количества. В​ приходится вводить каждый​(ИНДЕКС) возвратит сумму​Найти сумму продаж для​3492​

    ИНДЕКС и НЕ.

    ​ в том же​0,525​ Для удобства также​искомое_значение​

    ​ можно найти позицию​

    ​Формула находит первое значение​ «яблоки» содержится во​ одну строку или​ с текстом.​ не самый удобный)​ единичном массиве нули​ каком столбце (или​ любой ячейке под​ раз. Ведь искомое​ продаж из этой​ выбранного месяца.​Орел​ столбце. Так как​3,25​ приводим ссылку на​.​ наибольшего значения, которое​ сверху и выводит​ второй ячейке диапазона​ один столбец, т.е.​Минусы​ способ. Поскольку штатная​ находятся везде, где​ строке, однако в​ этим столбцом пишем​ значение не всегда​ строки. Здесь указан​Получить ссылку на выбранную​06.05.12​ «П» найти не​400​ оригинал (на английском​Просматриваемый_массив​ меньше либо равно,​ его позицию в​

    exceltable.com

    Функции ИНДЕКС и ПОИСКПОЗ с данными на разных листах (Формулы/Formulas)

    ​A9:A20А9​​ является вектором, то​: Ощутимо тормозит на​ функция​ искомое значение не​ нашем примере я​ =ИНДЕКС.​ нужно выдавать по​

    ​ номер месяца​​ строку, столбец или​​3316​​ удалось, возвращается ближайшее​0,606​​ языке) .​

    ​должен быть упорядочен​​ чем искомое значение,​ диапазоне, второе значение​- первая ячейка​

    excelworld.ru

    Поиск и подстановка по нескольким условиям

    Постановка задачи

    ​ второй аргумент функции​ больших таблицах (как​ВПР (VLOOKUP)​ было найдено. Однако​ использую столбец), находится​​Первым аргументом у нас​​ порядку. Но тогда​​4​​ область.​Челябинск​ из меньших значений:​2,93​Предположим, что у вас​ по возрастанию: …,​ т.е. позицию значения​ Груши учтено не​ (предполагается, что в​ИНДЕКС​ и все формулы​умеет искать только​ здесь вместо использования​ искомое слово. Думаю,​ будет не просто​ к функции ИНДЕКС​, поэтому результатом будет​

    ​Создать динамический диапазон, основанный​25.04.12​ «Оси» (в столбце​300​

    Функция индекс и поискпоз вȎxcel пошаговая инструкция

    ​ есть списка номеров​ -2, -1, 0,​ 40.​​ будет.​​ ней не содержится​указывает номер значения​​ массива, впрочем), особенно​​ по одному столбцу,​ функции СТОЛБЕЦ, мы​​ что анимация, расположенная​​ массив, а максимальное​ на помощь приходит​ сумма продаж за​ на подсчете.​3346​ A).​0,675​

    Способ 1. Дополнительный столбец с ключом поиска

    ​ офисов расположение и​ 1, 2, …,​Это можно сделать с​Чтобы найти номер строки,​ значение «яблоки»),​​ в этом векторе.​​ если указывать диапазоны​ а не по​ перемножаем каждую такую​ выше, полностью показывает​ число из массива.​ функция ПОИСКПОЗ, которая​

    ​ апрель (Apr).​Отсортировать столбец с текстовыми​Челябинск​5​2,75​ вам нужно знать,​ A-Z, ЛОЖЬ, ИСТИНА.​ помощью формулы =ПОИСКПОЗ(45;B31:B37;1)​ а не позиции​

    Функция индекс и поискпоз вȎxcel пошаговая инструкция

    ​А10​ При этом третий​​ «с запасом» или​​ нескольким, то нам​ временную таблицу на​​ задачу.​​ Поэтому дополнительно используем​ как раз таки​=INDEX($C$2:$C$8,F2)​

    Функция индекс и поискпоз вȎxcel пошаговая инструкция

    ​ данными в алфавитном​​28.04.12​=ГПР(«Болты»;A1:C4;4)​250​

    ​ какие сотрудники являются​​0​Обратите внимание, что тип​ в искомом диапазоне,​- вторая,​ аргумент указывать необязательно.​ сразу целые столбцы​ нужно из нескольких​ введённый вручную номер​​ команду МАКС и​ позволяет найти нужную​

    Способ 2. Функция СУММЕСЛИМН

    ​=ИНДЕКС($C$2:$C$8;F2)​ порядке.​3372​Поиск слова «Болты» в​0,746​ в каждой программы​​Функция​​ сопоставления =1 (третий​ можно записать следующую​А11​Например, следующая формула возвращает​ (т.е. вместо A2:A161​ сделать один!​ столбца.​Пример 1. Первая идя​ выделяем соответствующий массив.​ позицию.​Чтобы сделать эту формулу​Функция​Челябинск​ строке 1 и​

    Функция индекс и поискпоз вȎxcel пошаговая инструкция

    ​2,57​​ office. Электронную таблицу​ПОИСКПОЗ​ аргумент функции).​ формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)​- третья и​

    ​ пятое значение из​​ вводить A:A и​Добавим рядом с нашей​Пример 3. Третий пример​ для решения задач​В принципе, нам больше​Рассмотрим интересный пример, который​ более гибкой, Вы​

    Способ 3. Формула массива

    ​INDEX​01.05.12​​ возврат значения из​​200​​ огромный, поэтому вы​​находит первое значение,​3. Поиск позиции в​Если искомое значение не​ т.д. (подсчет позиции​ диапазона A1:A12 (вертикальный​ т.д.) Многим непривычны​ таблицей еще один​ – это также​ типа – это​ не нужны никакие​

    1. ​ позволит понять прелесть​ можете использовать функцию​(ИНДЕКС) имеет две​
    2. ​3414​ строки 4, находящейся​0,835​
      Функция индекс и поискпоз вȎxcel пошаговая инструкция
    3. ​ думаете, что он​ равное аргументу​​ списке отсортированном по​​ обнаружено в списке,​ производится от верхней​ вектор):​ формулы массива в​

    ​ столбец, где склеим​ формула массива.​

    ​ при помощи какого-то​ аргументы, но требуется​ функции ИНДЕКС и​MATCH​ синтаксические формы –​Челябинск​ в том же​2,38​ является довольно сложной​искомое_значение​​ убыванию выполняется аналогично,​​ то будет возвращено​ ячейки).​Данная формула возвращает третье​ принципе (тогда вам​ название товара и​Все точно так же,​ вида цикла поочерёдно​ ввести номер строки​ неоценимую помощь ПОИСКПОЗ.​(ПОИСКПОЗ) для определения​ массива и ссылочная.​01.05.12​ столбце (столбец C).​

    ​150​​ задачи. Это задача несложная​.​ но с типом​ значение ошибки #Н/Д.​

    ​Функция ПОИСКПОЗ() возвращает позицию​​ значение из диапазона​ сюда).​ месяц в единое​ как и в​ прочитать каждую ячейку​ и столбца. В​ Имеем сводную таблицу,​ номера строки по​ Форма массива возвращает​3451​11​0,946​ делать с помощью​

    planetaexcel.ru

    ​Просматриваемый_массив​

    Поиск значений в списке данных

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

    Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.

    В этой статье

    Поиск значений в списке по вертикали по точному совпадению

    Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

    Примеры использования функции ВПР

    Дополнительные сведения можно найти в разделе функция ВПР.

    Примеры ИНДЕКСов и СОВПАДЕНИй

    =ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

    Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

    Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.

    Поиск значений в списке по вертикали по приблизительному совпадению

    Для этого используйте функцию ВПР.

    Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

    В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.

    Дополнительные сведения можно найти в разделе функция ВПР.

    Поиск значений по вертикали в списке неизвестного размера с точным соответствием

    Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

    Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.

    C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

    Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

    1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

    Поиск значений в списке по горизонтали по точному совпадению

    Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

    Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

    Дополнительные сведения можно найти в разделе функции ГПР.

    Поиск значений в списке по горизонтали с использованием приблизительного совпадения

    Для выполнения этой задачи используется функция ГПР.

    Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

    В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

    Дополнительные сведения можно найти в разделе функции ГПР.

    Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )

    Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

    В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.

    Щелкните ячейку в диапазоне.

    На вкладке формулы в группе решения нажмите кнопку Подстановка .

    Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.

    Загрузка программы-надстройки «Мастер подстановок»

    Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

    В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

    В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

    Выборка значений из таблицы Excel по условию

    Если приходиться работать с большими таблицами определенно найдете в них дублирующийся суммы разбросаны вдоль целого столбца. В тоже время у вас может возникнуть необходимость выбрать данные из таблицы с первым наименьшим числовым значением, которое имеет свои дубликаты. Нужна автоматическая выборка данных по условию. В Excel для этой цели можно успешно использовать формулу в массиве.

    Как сделать выборку в Excel по условию

    Чтобы определить соответствующие значение первому наименьшему числу нужна выборка из таблицы по условию. Допустим мы хотим узнать первый самый дешевый товар на рынке из данного прайса:

    Автоматическую выборку реализует нам формула, которая будет обладать следующей структурой:

    В месте «диапазон_данных_для_выборки» следует указать область значений A6:A18 для выборки из таблицы (например, текстовых), из которых функция ИНДЕКС выберет одно результирующие значение. Аргумент «диапазон» означает область ячеек с числовыми значениями, из которых следует выбрать первое наименьшее число. В аргументе «заголовок_столбца» для второй функции СТРОКА, следует указать ссылку на ячейку с заголовком столбца, который содержит диапазон числовых значений.

    Естественно эту формулу следует выполнять в массиве. Поэтому для подтверждения ее ввода следует нажимать не просто клавишу Enter, а целую комбинацию клавиш CTRL+SHIFT+Enter. Если все сделано правильно в строке формул появятся фигурные скобки.

    Обратите внимание ниже на рисунок, где в ячейку B3 была введена данная формула в массиве:

    Выборка соответственного значения с первым наименьшим числом:

    С такой формулой нам удалось выбрать минимальное значение относительно чисел. Далее разберем принцип действия формулы и пошагово проанализируем весь порядок всех вычислений.

    Как работает выборка по условию

    Ключевую роль здесь играет функция ИНДЕКС. Ее номинальное задание – это выбирать из исходной таблицы (указывается в первом аргументе – A6:A18) значения соответственные определенным числам. ИНДЕКС работает с учетом критериев определённых во втором (номер строки внутри таблицы) и третьем (номер столбца в таблице) аргументах. Так как наша исходная таблица A6:A18 имеет только 1 столбец, то третий аргумент в функции ИНДЕКС мы не указываем.

    Чтобы вычислить номер строки таблицы напротив наименьшего числа в смежном диапазоне B6:B18 и использовать его в качестве значения для второго аргумента, применяется несколько вычислительных функций.

    Функция ЕСЛИ позволяет выбрать значение из списка по условию. В ее первом аргументе указано где проверяется каждая ячейка в диапазоне B6:B18 на наличие наименьшего числового значения: ЕСЛИB6:B18=МИНB6:B18. Таким способом в памяти программы создается массив из логических значений ИСТИНА и ЛОЖЬ. В нашем случаи 3 элемента массива будут содержат значение ИСТИНА, так как минимальное значение 8 содержит еще 2 дубликата в столбце B6:B18.

    Следующий шаг – это определение в каких именно строках диапазона находится каждое минимальное значение. Это нам необходимо по причине определения именно первого наименьшего значения. Реализовывается данная задача с помощью функции СТРОКА, она заполняет элементы массива в памяти программы номерами строк листа. Но сначала от всех этих номеров вычитается номер на против первой строки таблицы – B5, то есть число 5. Это делается потому, что функция ИНДЕКС работает с номерами внутри таблицы, а не с номерами рабочего листа Excel. В тоже время функция СТРОКА умеет возвращать только номера строк листа. Чтобы не получилось смещение необходимо сопоставить порядок номеров строк листа и таблицы с помощи вычитанием разницы. Например, если таблица находится на 5-ой строке листа значит каждая строка таблицы будет на 5 меньше чем соответственная строка листа.

    После того как будут отобраны все минимальные значения и сопоставлены все номера строк таблицы функция МИН выберет наименьший номер строки. Эта же строка будет содержать первое наименьшее число, которое встречается в столбце B6:B18. На основании этого номера строки функции ИНДЕКС выберет соответствующее значение из таблицы A6:A18. В итоге формула возвращает это значение в ячейку B3 в качестве результата вычисления.

    Как выбрать значение с наибольшим числом в Excel

    Поняв принцип действия формулы, теперь можно легко ее модифицировать и настраивать под другие условия. Например, формулу можно изменить так, чтобы выбрать первое максимальное значение в Excel:

    Если необходимо изменить условия формулы так, чтобы можно было в Excel выбрать первое максимальное, но меньше чем 70:

    =70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>

    Как в Excel выбрать первое минимальное значение кроме нуля:

    Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.

    Теперь Вас ни что не ограничивает. Один раз разобравшись с принципами действия формул в массиве Вы сможете легко модифицировать их под множество условий и быстро решать много вычислительных задач.

    Вывод отобранных значений в отдельный диапазон в Excel. Бесплатные примеры и статьи.

    Пять последних значений в MS EXCEL

    Найдем, формулу возвращающую ссылку на диапазон, содержащий 5 последних значений. Если столбец со значениями постоянно заполняется, то эта задача перестает быть тривиальной.

    Удаляем в MS EXCEL пропуски в списке (формулы)

    Если список значений содержит пропуски (пустые ячейки), то это может существенно затруднить его дальнейший анализ. С помощью сортировки уберем пустые ячейки из списка, сформировав формулами список в соседнем столбце.

    Запрос на выборку данных (формулы) в MS EXCEL

    Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.

    Отбор уникальных значений (убираем повторы из списка) в MS EXCEL

    Имея список с повторяющимися значениями, создадим список, состоящий только из уникальных значений. При добавлении новых значений в исходный список, список уникальных значений должен автоматически обновляться.

    Вывод итогов столбцов по строкам в MS EXCEL

    Пусть имеется 5 столбцов с данными. В каждом столбце по 10 чисел, необходимо найти сумму чисел в каждом столбце. Обычно итоговое значение выводится внизу столбца или над его заголовком, поэтому все итоговые значения располагаются в одной строке. Но когда столбцов слишком много, то удобнее итоговые значения столбцов выводить в один отдельный столбец, а не располагать их под данными. Напишем формулу, которая помогает сделать это преобразование.

    Отбор неповторяющихся значений со значениями из соседнего столбца в MS EXCEL

    Имея список с повторяющимися текстовыми значениями, создадим список, состоящий только из неповторяющихся значений. А из столбца соседнего с исходным, выведем соответствующие им числовые значения.

    Отбор неповторяющихся значений в MS EXCEL

    Имея список с повторяющимися значениями, создадим список, состоящий только из значений, которые не повторяются.

    Отбор повторяющихся значений в MS EXCEL

    Из исходной таблицы с повторяющимися значениями отберем только те значения, которые имеют повторы. Теперь при добавлении новых значений в исходный список, новый список будет автоматически содержать только те значения, которые повторяются.

    Динамическое разнесение данных по столбцам

    Пусть имеется таблица, состоящая из двух столбцов: наименование организации и ее тип (юридическое лицо, индивидуальный предприниматель, физическое лицо). Необходимо разнести организации по разным столбцам в зависимости от типа: Юрлица, ИП и ФЛ должны быть каждый в своем отдельном столбце.При добавлении новых строк в исходную таблицу организации должны динамически попадать в нужный столбец.

    Отбор уникальных значений в MS EXCEL с условиями

    Продолжим идеи, изложенные в статье Отбор уникальных значений в MS EXCEL. Сначала отберем из таблицы только те строки, которые удовлетворяют заданным условиям, затем из этих строк выберем только уникальные значения из первого столбца. При добавлении новых строк в таблицу, список уникальных значений будет автоматически обновляться.

    Запрос на выборку данных в MS EXCEL (на основе элементов управления формы)

    Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению фильтра). В отличие от фильтра отобранные строки будут помещены в отдельную таблицу.

    Отбор неповторяющихся значений из двух диапазонов в MS EXCEL

    Имея два списка с однотипными повторяющимися значениями, создадим список, состоящий только из неповторяющихся значений.

    Отбор уникальных значений из двух диапазонов в MS EXCEL

    Имея два списка с однотипными повторяющимися значениями, создадим из них список, содержащий только уникальные значения.

    Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки

    Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Критерии заданы с использованием подстановочных знаков. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

    Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

    Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

    Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА

    Найдем текстовые значения, удовлетворяющие заданному пользователем критерию с учетом РЕгиСТРА. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

    Отбор уникальных значений с сортировкой в MS EXCEL

    Из исходной таблицы отберем только уникальные значения и выведем их в отдельный диапазон с сортировкой по возрастанию. Отбор и сортировку сделаем с помощью одной формулой массива. Формула работает как для текстовых (сортировка от А до Я), так и для числовых значений (сортировка от мин до макс).

    Поиск ЧИСЛОвых значений и вывод соответствующих значений в отдельный список в MS EXCEL

    Найдем числовые значения, равные заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

    Поиск нескольких значений с максимальной длиной строки в MS EXCEL

    Найдем в исходном списке текстовые значения, которые имеют максимальную длину строки, и выведем их в отдельный диапазон.

    Отбор повторяющихся значений (дубликатов) со значениями из соседнего столбца в MS EXCEL

    Имея список с повторяющимися текстовыми значениями, создадим список, состоящий только из дубликатов. А из соседнего столбца, выведем соответствующие числовые значения.

    ВПР с возвратом всех значений

    Все, кто сталкивался с функцией ВПР знают, что она умеет возвращать исключительно одно значений — первое найденное. Но что делать, когда надо видеть все значения? К примеру имеется такая таблица:

    И из этой таблицы необходимо получить фамилии(поле ФИО) всех сотрудников из отдела Сбыта:

    Тут два варианта:

      Вариант 1: все значения необходимо получить в одной ячейке через разделитель(скажем запятую). Такое возможно только через использование VBA(на момент написания статьи). Такую функцию я написал давно: Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли

    . В результате получим что-то вроде: Александров Иван,Александров Петр,Андреев Алексей .

  • Вариант 2: каждое значение должно быть в отдельной ячейке. Этот вариант мы и рассмотрим более подробно в данной статье. Причем решать задачу будем без использования макросов — только встроенными функциями
  • Здесь надо сразу оговориться — при помощи непосредственно ВПР (VLookup) это сделать ну никак не получится. Но это можно сделать при помощи её родственников — связки ИНДЕКС(ПОИСКПОЗ) (INDEX(MATCH)) . Плюс еще пара функций. В сборе функция выглядит так:
    =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1)
    =INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1)
    где:

    • $A$12:$G$111 — таблица с ФИО и всеми данными
    • $I$12 — ячейка с названием отдела
    • $C$12:$C$111 — столбец с названиями отделов в таблице $A$12:$G$111

    А теперь начнем разбирать формулу по кусочкам
    Предлагаю сразу скачать пример файла с данными и формулами — тогда понять будет проще:

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

    • Первое и самое главное — формула вводится в ячейку как формула массива. Это значит, что для приложенного к статье примера необходимо будет выделить ячейку J12 , записать в неё формулу и завершить ввод нажатием сразу трех клавиш: Ctrl+Shift+Enter. После этого скопировать ячейку, выделить диапазон J13:J39 и вставить туда скопированную ячейку.
    • За отбор ФИО указанного отдела отвечает этот кусок: ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11)
      IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11)
      Как видно здесь идет сравнение отдела, записанного в $I$12 со всеми отделами в таблице: $C$12:$C$111 . Если отдел совпадает, то функция возвращает номер строки СТРОКА( $C$12:$C$111 ) . Но нам нужен не номер строки на листе, а номер строки внутри таблицы(потому что в формулу ИНДЕКС (INDEX) у нас передан диапазон $A$12:$G$111 и если передать в его второй аргумент( номер_строки ) 14, то получим не Александров Иван , а Андреев Олег ). Поэтому отнимаем от номера строки 11, чтобы было возвращено число 3(а не 14). Т.к. формула записана формулой массива — ЕСЛИ (IF) возвращает массив из номеров строк и логического ЛОЖЬ (FALSE) (если отдел не совпадает):
      шаг 1: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<12:13: 14 :15:16: 17 :18:19:20>-11)
      шаг 2: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<1:2: 3 :4:5: 6 :7:8:9>)
      шаг 3:
    • Т.к. ЕСЛИ (IF) в данном случае возвращает массив значений, включая ненужные нам ЛОЖЬ (FALSE) — применяем НАИМЕНЬШИЙ (SMALL) , которая будет брать только числа (сначала 3, затем 6 и т.д.), а логические значения ЛОЖЬ (FALSE) будет игнорировать:
      НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      SMALL(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;ROW(A1))
      Функция НАИМЕНЬШИЙ (SMALL) отбирает из указанного массива чисел наименьшее. При этом можно отобрать по рангу — первое наименьшее, второе наименьшее, третье наименьшее и т.д.
    1. с первым аргументом разобрались — это уже отобранные записи, где число — строка в таблице с нужной ФИО и ненужные нам логические ЛОЖЬ (FALSE) .
    2. второй аргумент СТРОКА(A1) для каждой следующей строки будет меняться. В приложенном примере первая ячейка с формулой — J12 . В ней СТРОКА(A1) равна 1, т.е. НАИМЕНЬШИЙ (SMALL) вернет первое наименьшее из массива чисел — 3 . В ячейке J13 это уже будет СТРОКА(A2) и она равна 2, а значит НАИМЕНЬШИЙ (SMALL) вернет второе наименьшее из массива чисел — 6 . И т.д. Когда все числа закончатся — НАИМЕНЬШИЙ (SMALL) вернет значение ошибки #ЧИСЛО! (#NUM!)
      ячейка J12
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;1)
      шаг 3: НАИМЕНЬШИЙ( 3 )
      ячейка J13
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A2))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;2)
      шаг 3: НАИМЕНЬШИЙ( 6 )
  • И последний штрих — все это передается в функцию ИНДЕКС (INDEX) . Для ячейки J12 это будет значение ячейки, расположенной на пересечении 3-й строки и 1-го столбца диапазона $A$12:$G$111 . На листе это ячейка A14 . Т.е. третья сверху ячейка столбца А в диапазоне $A$12:$G$111 — Александров Иван .

    ячейка J12
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 3 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;3;1)
    шаг 3: Александров Иван
    ячейка J13
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 6 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;6;1)
    шаг 3: Александров Петр

  • И в довершение неплохо бы убрать ошибку в случае, если ни одно значение не соответствует критерию или значений больше, чем ячеек с формулами. Более подробно подобное решение я описывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0
    Для всех версий Excel:
    =ЕСЛИ(ЕОШ(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1));»»;ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1))
    =IF(ISERR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1));»»;INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1))
    Для Excel 2007 и выше:
    =ЕСЛИОШИБКА(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1);»»)
    =IFERROR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1);»»)
    Плюс к этому в приложенном к статье файле я привел формулу, которая возвращает список всех сотрудников выбранного отдела без повторений и формулу с возможностью просто поменять заголовок в результирующем столбце(в файле это столбец K, ячейка K11 ) на любой из исходной таблицы и данные будут отображены из этого столбца.
    Например, если вместо столбца ФИО записать в K11 Адрес — будут отображены все адреса сотрудников выбранного отдела. Если записать Телефон — все телефоны сотрудников выбранного отдела.

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск и подстановка по нескольким условиям

    Постановка задачи

    Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно 🙂 — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

    Предположим, что у нас есть база данных по ценам товаров за разные месяцы:

    Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.

    Способ 1. Дополнительный столбец с ключом поиска

    Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

    Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

    Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

    Плюсы : Простой способ, знакомая функция, работает с любыми данными.

    Минусы : Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).

    Способ 2. Функция СУММЕСЛИМН

    Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

    Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.

    Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

    Способ 3. Формула массива

    О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:

    1. Выделите пустую зеленую ячейку, где должен быть результат.
    2. Введите в строке формул в нее следующую формулу:

  • Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

    Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

    Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

    Понравилась статья? Поделить с друзьями:
  • Excel найти совпадения в диапазоне
  • Excel найти совпадение ячеек в столбце
  • Excel найти совпадение функция
  • Excel найти слово начинающееся с буквы
  • Excel найти слово в предложении