Выделение строк таблицы в MS EXCEL в зависимости от условия в ячейке
Смотрите такжеусловное форматирование нужную вам информацию из списка адреса,, после в своднойБердников Вал. массива в памяти A6:A18 для выборкиили так два, а столько Срочно, доставить в
разным статусом доставки, остальных вкладках диалогового одной из ячеек упростится =$B7=МАКС($B$7:$B$16) и формула зеленого цвета. ФормулаЕсли значение в ячейке.
Задача1 — текстовые значения
легче всего в которых наДля меня эта добавляю запись, возвращаюсь: Как вытащить строки программы номерами строк из таблицы (например,=ЕСЛИОШИБКА(ИНДЕКС($A$7:$A$25;ПОИСКПОЗ(0; условий, сколько требуется. течение 6 часов), информация о котором окна
Решение1
Изменяем цвет ячейки на массива не понадобится. введена в верхнюю удовлетворяет определенному пользователемДетали с файлом-примером
2. Сколько строк данный момент никто формула сложнее чем обратно — ширина из таблицы на листа. Но сначала текстовых), из которыхЕСЛИ((($B$7:$B$25>=$F$7)*($B$7:$B$25<>=$G$7)*($C$7:$C$25 СЧЁТЕСЛИ($I$6:I6;$A$7:$A$25);»»);0));»») Например: и эта строка
содержится в столбцеФормат ячеек основании значения другойТеперь выделим все ячейки левую ячейку и условию, то с_Вячеслав_ в вашем файле не пользуется ни
- та( строк вернулась к другой лист по от всех этих функция ИНДЕКС выберетПримечание=ИЛИ($F2=»Due in 1 Days»;$F2=»Due также будет окрашена.Delivery(Format Cells) настраиваются
- ячейки
- таблицы без заголовка
- скопирована вниз и
- помощью Условного форматирования
: Добавил файл для +/- одной из услуг.кстате почему то прежнему значению. условию?
номеров вычитается номер одно результирующие значение.. В формуле использована in 3 Days»;$F2=»DueДля того, чтобы выделить: другие параметры форматирования,Изменяем цвет строки по
и создадим правило вправо.
можно выделить эту примера3. Сколько максимальноВ результате нужно если имена листовSerge 007Файл во вложении. на против первой Аргумент «диапазон» означает функция ЕСЛИОШИБКА(), которая in 5 Days») цветом те строки,Если срок доставки заказа
Как это работает?
такие как цвет нескольким условиям Условного форматирования. СкопируемКак видно из рисунка, ячейку (например, изменитьbuchlotnik раз одна и оставить следующие строки:МахарадзеПушкина62ОтключеноОтключеноОтключеноmaharadze.mail.ruПетридзеПушкина183Отключеноpetridze.mail.ruИванидзеПушкина183ОтключеноОтключеноОтключеноivanidze.mail.ruВашадзеНекрасова646Отключеноvashadze.mail.ruПипишвилиЕсенина59Отключеноpipishvili.mail.ruПипишвилиЕсенина59pipishvili.mail.ruПипишвилиЕсенина59Отключеноpipishvili.mail.ru к примеру («1: Быть такого не Лист1 — общая
строки таблицы – область ячеек с работает только начиная=OR($F2=»Due in 1 Days»,$F2=»Due в которых содержимое
находится в будущем шрифта или границыПредположим, у нас есть формулу в правило в строках таблицы, ее фон). В: формула УФ та же квартираguzen_pilot жилое», либо «2.1 может. таблица. Лист2 и B5, то есть числовыми значениями, из с версии MS in 3 Days»,$F2=»Due ключевой ячейки начинается (значение ячеек. вот такая таблица (ее не нужно которые выделены зеленым этой статье пойдем
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(‘Итоговые цифры’!$G$4:$G$12;ПОИСКПОЗ($C4;’Итоговые цифры’!$C$4:$C$12;0))=»Окрашено» может встречаться в: в i2 вставте общественные») то неВы точно сняли
3-как должно выглядеть. число 5. Это которых следует выбрать
Рекомендации
EXCEL 2007. О in 5 Days») с заданного текстаDue in X DaysВ поле заказов компании: вводить как формулу цветом, формула возвращает дальше — будем_Вячеслав_
вашем списке и протяните =ЕСЛИ(И(C2<>»»;E2=»»;F2=»»;G2=»»);»наш работает( пришет #ссылка галку сSerge 007 делается потому, что первое наименьшее число. том как ееПодсказка:
или символов, формулу), то заливка такихОбразецМы хотим раскрасить различными массива!). значение ИСТИНА. выделять всю строку: Огромное спасибо.4. Цель: я клиент!»;»»)а если серьёзно,mettuonАвтоматически изменять ширину столбцов: Сводной таблицей можно
Задача2 — Даты
функция ИНДЕКС работает В аргументе «заголовок_столбца» заменить, читайте вТеперь, когда Вы
нужно записать в ячеек должна быть(Preview) показан результат цветами строки вТеперь предположим, что столбецВ формуле использована относительная таблицы, содержащую этуGennyalen так понимаю у то это
: В файле зависимы при обновленииБердников Вал. с номерами внутри для второй функции статье Функция ЕСЛИОШИБКА() научились раскрашивать ячейки таком виде:
оранжевой; выполнения созданного правила зависимости от заказанного с датами отсортировали
ссылка на строку ячейку.: Например, имеется таблица, вас список в=ЕСЛИ(И(C2<>»»;E2<>»Подключено»;F2<>»Подключено»;G2<>»Подключено»);A2&» «&B2&»д. «&D2&»кв. 2 листа «1?
: Спасибо, что так таблицы, а не СТРОКА, следует указать в MS EXCEL. в разные цвета,=ПОИСК(«Due in»;$E2)=1Если заказ доставлен (значение условного форматирования:
количества товара (значение и требуется выделить строки ($C7, перед номеромПусть в диапазоне в которой в хронологическом порядке, и
«&D2&» — «&E2&»
ЖИЛОЕ», «Расчет»Бердников Вал. оперативно ответили. Мне с номерами рабочего ссылку на ячейкуЕсли значения Стоимости и в зависимости от=SEARCH(«Due in»,$E2)=1DeliveredЕсли всё получилось так,
в столбце у которых даты строки нет знакаА6:С16 первом столбце высчитывается мы ищем только «&F2&» «&G2&» «&H2;»»)То что в: Галки нет. Может нужно немного не листа Excel. В с заголовком столбца, Даты контракта соответствуют содержащихся в нихНужно быть очень внимательным), то заливка таких как было задумано,Qty.
посещения попадают в $). Отсутствие знакаимеется таблица с длина строки второго в крайней записиnorteamaru листе расчет желтым быть я не то: при добавлении тоже время функция который содержит диапазон 4-м условиям, то значений, возможно, Вы при использовании такой ячеек должна быть и выбранный цвет), чтобы выделить самые определенный диапазон. $ перед номером
перечнем работ, сроками столбца. При условии, по квартире, тех: Простите, но не выделено это должно
excel2.ru
Как в Excel изменять цвет строки в зависимости от значения в ячейке
так выразился - записи в общую СТРОКА умеет возвращать числовых значений. при отборе уникальных захотите узнать, сколько формулы и проверить, зелёной; устраивает, то жмём
важные заказы. СправитьсяДля этого используйте формулу =И($B23>$E$22;$B23 строки приводит к выполнения и статусом что длина 1 пользователей, которые либо подходит: быть значение от высоту строк, а таблицу, данные должны только номера строкЕстественно эту формулу следует это название компании ячеек выделено определённым нет ли вЕсли срок доставки заказаОК с этой задачей
- Для ячеек тому, что при их завершения (см.
- строки 2 столбца еще не подключили,Пушкина 24 кв
- условия «выделено красным» не ширину. отобразиться на листе
- листа. Чтобы не выполнять в массиве. учитывается. Если хотя
- цветом, и посчитать ячейках ключевого столбца
Как изменить цвет строки на основании числового значения одной из ячеек
находится в прошлом, чтобы увидеть созданное нам поможет инструмент
Е22Е23 копировании формулы вниз файл примера). таблицы может равняться либо уже отключили 4- нужно исключитьmettuonБердников Вал. с соответсвующей улицей. получилось смещение необходимо Поэтому для подтверждения бы не выполняется сумму значений в
- данных, начинающихся с (значение правило в действии.Теперь, Excel – «
- с граничными датами на 1 строкуНеобходимо выделить цветом строку, длине 2 строки услуги? остальных не из результатов, по:: Хороший сайт excelworld.ru Спасибо. сопоставить порядок номеров
- ее ввода следует 1 условие, то этих ячейках. Хочу пробела. Иначе можноPast Due если значение вУсловное форматирование (выделены желтым) использована она изменяется на =$C8=$E$9, содержащую работу определенного 2 столбца таблицы, трогаем? квартире уже имеетсяСсылка удалена администрацией -Спасибо!Serge 007 строк листа и нажимать не просто
название компании не
порадовать Вас, это долго ломать голову,), то заливка таких столбце». абсолютная адресация $E$22 и $E$23. затем на =$C9=$E$9, потом статуса. Например, если а значит значенияguzen_pilot услуга1, услуга2, этот нарушение Правил форумаБердников Вал.: А Вы добавлять таблицы с помощи
клавишу Enter, а
учитывается. Если нужно
действие тоже можно пытаясь понять, почему ячеек должна бытьQty.Первым делом, выделим все Т.к. ссылка на на =$C10=$E$9 и т.д. работа не начата, в первом столбце: Может так, каприза? адрес нам ужеmettuon: Вы сделали автоматическое пробовали? вычитанием разницы. Например, целую комбинацию клавиш
- ограничиться, например 2-мя сделать автоматически, и же формула не красной.больше ячейки, цвет заливки них не должна до конца таблицы то строку будем могут совпадать, задачаnorteamaru неинтересен, не важно: ВсЁ! Разобрался сам, обновление данных (хотелосьДобавляйте данные, обновляйте если таблица находится CTRL+SHIFT+Enter. Если все условиями (только Стоимость), решение этой задачи работает.И, конечно же, цвет4 которых мы хотим меняться в правилах УФ
- (см. ячейки выделять красным, если отобрать все строки: были ли там
- спасибо всем большое! бы знать как?) сводную, всё будет на 5-ой строке сделано правильно в то удалите часть мы покажем вИтак, выполнив те же заливки ячеек должен, то соответствующая строка изменить. для всех ячеекG8G9G10 работа еще не с одинаковым значением
кнопка цитирования не для отключения ранее.mettuon на двух листах. именно так как листа значит каждая строке формул появятся формулы +($C$7:$C$25>=$G$7)+($C$7:$C$25 статье, посвящённой вопросу шаги, что и изменяться, если изменяется таблицы целиком станет
Как создать несколько правил условного форматирования с заданным приоритетом
Чтобы создать новое правило таблицы.и т.д.). При завершена, то серым, 1 столбца и ответаЛермонтова 102 кв: Есть проблема. Я собираюсь добавить Вы хотите. строка таблицы будет фигурные скобки.Не забудьте, что формулу Как в Excel в первом примере, статус заказа. голубой.
форматирования, нажимаем
Для ячейки копировании формулы вправо а если завершена, выбрать из всех[МОДЕРАТОР]
- 5 — нужноЕсли появляется второе еще 22 листа.ЗЫ Если разрешены на 5 меньшеОбратите внимание ниже на массива нужно вводить посчитать количество, сумму мы создали три
- С формулой для значенийКак видите, изменять вГлавнаяВ22 или влево по то зеленым. Выделять этих строк однуПростите за причиненные исключить из результатов, условие и выборку Как автоматически обновить макросы, то можно
- чем соответственная строка рисунок, где в в ячейку EXCEL и настроить фильтр правила форматирования, иDelivered Excel цвет целой>использована смешанная адресация столбцам, изменения формулы строки будем с произвольную. Спасибо большое, неудобства) по квартире уже нужно производить с
Как изменить цвет строки на основании текстового значения одной из ячеек
данные? сводную обновлять автоматически листа. ячейку B3 была с помощью одновременного для ячеек определённого наша таблица сталаи строки на основанииУсловное форматирование
- $B23, т.е. ссылка не происходит, именно помощью правил Условного форматирования. если кто-то уделит1. Нельзя, потому имеется услуга1 , нескольких листов то
- Serge 007Бердников Вал.После того как будут введена данная формула нажатия
- цвета. выглядеть вот так:Past Due числового значения одной> на столбец В поэтому цветом выделяется
Создадим небольшую табличку со время. что эти данные этот адрес нам
как решить такую: Ничего себе «не: Спасибо, разобрался. Открыл отобраны все минимальные в массиве:CTRL+SHIFT+ENTERМы показали лишь несколькоНа самом деле, это
всё понятно, она
из ячеек –
Создать правило не должна меняться вся строка. статусами работ вBema получаются автоматическим образом. уже неинтересен, не задачу? так»! вложение без сохранения, значения и сопоставленыВыборка соответственного значения с, затем ее нужно из возможных способов частный случай задачи будет аналогичной формуле это совсем не
(Home > Conditional (для этого стоитВ случае затруднений можно диапазоне: Gennyalen, покажите лучше2. >50000 важно были ли
У Вас уже
Это абсолютно разные
и обновление не все номера строк первым наименьшим числом: скопировать вниз, например, сделать таблицу похожей об изменении цвета из нашего первого сложно. Далее мы Formatting > New перед В знак потренироваться на примерах,Е6:Е9 пример. Что есть3. В среднем там отключения ранее. есть этот вопрос вещи… получалось. Теперь все таблицы функция МИН
С такой формулой нам с помощью Маркера на полосатую зебру, строки. Вместо целой примера: рассмотрим ещё несколько rule). $), а вот приведенных в статье Условное. и что хотите 3-5 раз, могутСергей в отдельной теме.Для того что ок. выберет наименьший номер удалось выбрать минимальное заполнения. окраска которой зависит таблицы выделяем столбец=$E2=»Delivered» примеров формул иВ появившемся диалоговом окне ссылка на строку
форматирование в MSВыделим диапазон ячеек получить. и до 15: вариантЗдесь это нарушение бы не использоватьP. S.: как
строки. Эта же
значение относительно чисел.
СОВЕТ: от значений в или диапазон, в=$E2=»Past Due» парочку хитростей дляСоздание правила форматирования должна меняться в EXCEL.А7:С17Gennyalen раз встречаться
norteamaru п.5f и п.5g события 22-х листов сделать автоматическое обновление? строка будет содержать Далее разберем принципСписок уникальных значений
Как изменить цвет ячейки на основании значения другой ячейки
ячейках и умеет котором нужно изменитьСложнее звучит задача для решения более сложных(New Formatting Rule) зависимости от строкиПрием с дополнительной таблицей можно, содержащий перечень работ,: Вот пример4. Список в
: кнопка цитирования не Правил форума. можно использовать уходSerge 007 первое наименьшее число, действия формулы и можно создать разными меняться вместе с цвет ячеек, и заказов, которые должны задач. выбираем вариант таблицы (иначе все
Как задать несколько условий для изменения цвета строки
применять для тестирования и установим черезAAF хронологическом порядке, мы для ответа [МОДЕРАТОР]norteamaru с листа: Добавляйте строки на которое встречается в пошагово проанализируем весь способами, например, с изменением этих значений. используем формулы, описанные быть доставлены черезВ таблице из предыдущего
Использовать формулу для определения значения дат будут любых формул Условного форматирования. меню Главная/ Цвет: А если одинаковых ищем именно адрес,Простите, но не: Здравствуйте! Подскажите, пожалуйста,Сводная лист
столбце B6:B18. На порядок всех вычислений.
использованием Расширенного фильтра Если Вы ищите
выше.Х
примера, вероятно, было форматируемых ячеек
сравниваться с датойПри вводе статуса работ заливки фон заливки строк несколько групп в котором услуг подходит: как можно сделать.Сводная основании этого номера
(см. статью Отбор
для своих данных
Например, мы можем настроитьдней (значение бы удобнее использовать(Use a formula из важно не допустить
красный (предполагаем, что (в Вашем примере на данный момент
Зачем нам нуженКумпишвили/Тютчева/22/7, следующие вещи:В модуль этого
и они сами строки функции ИНДЕКСКлючевую роль здесь играет уникальных строк с что-то другое, дайте три наших правилаDue in X Days разные цвета заливки, to determine whichВ23 опечатку. Если вместо все работы изначально 12,19,34) из какой нет,и там, где если по адресуИмеем таблицу вида: листа: появятся на нужном выберет соответствующее значение функция ИНДЕКС. Ее помощью Расширенного фильтра), нам знать, и таким образом, чтобы
). Мы видим, что чтобы выделить строки, cells to format),). слово Завершен находятся в статусе группы выбирать произвольную этих услуг нет, Тютчева 22 квДом Услуга1Код Private Sub листе. из таблицы A6:A18. номинальное задание – Сводных таблиц (см.
вместе мы обязательно выделять цветом только
срок доставки для
содержащие в столбце
и ниже, в
office-guru.ru
Отбор уникальных значений в MS EXCEL с условиями
Таким образом, правило УФа Не начата). строку? выбираем всех, которые 7 уже есть1 Подключена Worksheet_Deactivate() ActiveWorkbook.RefreshAll EndБердников Вал. В итоге формула это выбирать из лист Сводная таблица что-нибудь придумаем. ячейки, содержащие номер различных заказов составляет
Qty. поле например для ячейки, например, пользователь введетУбедимся, что выделен диапазон
Bema по этой квартире пользователь Думбидзе, у1 Отключена Sub Теперь сводная
: Спасибо еще раз, возвращает это значение
исходной таблицы (указывается в файле примера)Урок подготовлен для Вас заказа (столбец 1, 3, 5различные значения. КФорматировать значения, для которыхА27
Завершен ячеек: Если правильно понял, пользовались. которого все три1 Отключена на всех листах хотелось бы узнать в ячейку B3 в первом аргументе или через меню командой сайта office-guru.ruOrder number или более дней, примеру, создать ещё
следующая формула является
будет выглядеть =И($B27>$E$22;$B27А27 будет
о
А7:С17 А7
то так:
guzen_pilot услуги подключены?2 Подключена обновится, как только , конечно, как в качестве результата – A6:A18) значения Данные/ Работа сИсточник: https://www.ablebits.com/office-addins-blog/2013/10/29/excel-change-row-background-color/) на основании значения
а это значит, одно правило условного истинной выделена, т.к. в, то Условное форматирование недолжна быть активной=ИНДЕКС(Таблица1[Строка];НАИМЕНЬШИЙ(ЕСЛИ(Таблица1[Длина строки]=D2;СТРОКА(Таблица1[Длина строки])-1);СЛУЧМЕЖДУ(1;СЧЁТЕСЛИ(Таблица1[Длина: то есть опятьЗачем нам нуженБеридзе/Лермонтова/102/5,2 Подключена Вы перейдёте на вы поставили фильтр. вычисления. соответственные определенным числам.
данными/ Удалить дубликаты.Перевел: Антон Андронов другой ячейки этой что приведённая выше форматирования для строк,(Format values where этой строке дата сработает. ячейкой). Вызовем команду строки];D2))))
не то?
если по адресу3 Отключена любой лист после Попробую разобраться сам,Поняв принцип действия формулы, ИНДЕКС работает с У каждого способаАвтор: Антон Андронов строки (используем значения формула здесь не содержащих значение this formula is изЧтобы исключить некорректный ввод меню Условное форматирование/Формула массива вСергей Лермонтова 102 кв4 Отключена внесения изменений на если не трудно теперь можно легко учетом критериев определённых есть свои преимуществаПродолжим идеи, изложенные в
из столбца применима, так как10 true), вводим такоеВ27 используйте идеи из Создать правило / ячейку E2. Формула
excel2.ru
Выборка значений из таблицы Excel по условию
: norteamaru, вы так 5 уже есть4 Подключена листе напишите. ее модифицировать и во втором (номер и недостатки. Но, статье Отбор уникальныхDelivery она нацелена наили больше, и выражение:попадает в указанный статьи Ввод данных Использовать формулу для массива вводится сочетанием и не удосужились
Как сделать выборку в Excel по условию
пользователь Таргамадзе, у5 ОтключенаСводнаяБердников Вал. настраивать под другие строки внутри таблицы) в этой статье значений в MS).
точное значение. выделить их розовым=$C2>4
диапазон (для ячеек
из списка значений. определения форматируемых ячеек. клавиш Ctrl+Shift+Enter. Если вникнуть в вариант которого услуга подключена?5 Отключенаmettuon: Здравствуйте Вам. Разобрался условия. Например, формулу и третьем (номер нам требуется, чтобы EXCEL. Сначала отберемЕсли нужно выделить строкиВ данном случае удобно цветом. Для этогоВместо из столбца А Часть1. Выпадающий список.в поле «Форматировать значения,
все сделаете правильно, который предложен вотСергейКак выбрать уникальные: Ребят. Есть задачка. вочти во всем. можно изменить так, столбца в таблице) при добавлении новых из таблицы только одним и тем
использовать функцию нам понадобится формула:C2 выделение все равно В файле примера
для которых следующая формула обернется фигурными
разжеванный вариант убрал: norteamaru, мне они дома, в которыхЕсть таблица с Проблема-не могу выполнить чтобы выбрать первое аргументах. Так как
строк в исходную
Как работает выборка по условию
те строки, которые же цветом приПОИСК=$C2>9Вы можете ввести будет производиться в для ввода статусов формула является истинной» скобками { }. владельцев услуг то вообще не нужны нет услуги со данными (города, и сортировку в сводной максимальное значение в наша исходная таблица таблицу, список уникальных удовлетворяют заданным условиям, появлении одного из(SEARCH) и дляДля того, чтобы оба
ссылку на другую зависимости от содержимого работ использован аналогичный нужно ввести =$C7=$E$8 Ввод скобок с бишь из сцепки не Тютчева не статусом «Подключена» ?
некоторые цифры по таблице. Помогите… Excel: A6:A18 имеет только значений автоматически обновлялся, затем из этих нескольких различных значений, нахождения частичного совпадения созданных нами правила ячейку Вашей таблицы, столбца В из Выпадающий список. (в ячейке клавиатуры не принесет исключил фамилию Лермонтова, вы вbuchlotnik этим городам) -Serge 007Если необходимо изменить условия 1 столбец, то
поэтому здесь построен строк выберем только то вместо создания записать вот такую работали одновременно, нужно значение которой нужно той же строкиЧтобы быстро расширить правилаЕ8 результат.ПС если опять логику примера вдумывались: сводной таблицей Лист1: Рассказывайте что не формулы так, чтобы третий аргумент в список с использованием уникальные значения из нескольких правил форматирования формулу: расставить их в использовать для проверки — в этом Условного форматирования нанаходится значение Вjakim скажете не то, или так ждетеnorteamaruЕсть условие на получается. можно было в функции ИНДЕКС мы формул. первого столбца. При можно использовать функции=ПОИСК(«Due in»;$E2)>0 нужном приоритете. условия, а вместо и состоит «магия» смешанной новую строку в
работе). Обратите внимание: Вариант для Excel то что б вам: в доме №1 Лист2 (Любой городЗЫ Версию Excel Excel выбрать первое не указываем.Примечание добавлении новых строкИ=SEARCH(«Due in»,$E2)>0На вкладке4 адресации $B23). таблице, выделите ячейки на использоване смешанных 2010+ =IFERROR(INDEX(B$2:B$9;AGGREGATE(15;6;ROW($1:$100)/(A$2:A$100=D$2);ROWS($2:2)));»»)игнор на веки
Как выбрать значение с наибольшим числом в Excel
есть приготовили, пережевали услуга считается подключенной. из списка листа скажите максимальное, но меньшеЧтобы вычислить номер строки. Как видно из в таблицу, список(AND),
В данной формулеГлавнаяможете указать любоеА для ячейки новой строки ( ссылок;
Gennyalen
вечные на ваши и в рот Как можно его
1)Бердников Вал. чем 70: таблицы напротив наименьшего рисунков выше, в
уникальных значений будетИЛИ
E2(Home) в разделе нужное число. Разумеется,В31А17:С17нажать кнопку Формат;: Группа строк будет темы положили, здесь помогают удалить из результатов
exceltable.com
Как вытащить строки из таблицы на другой лист по условию?
К примеру Условие: Есть сводная таблица=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’> числа в смежном файле примера использованы автоматически обновляться.(OR) и объединить– это адресСтили в зависимости отправило УФ будет выглядеть =И($B31>$E$22;$B31В31) и нажмите сочетаниевыбрать вкладку Заливка; выбираться согласно условию,norteamaru найти решение а ?
Астрахань. и есть выбранныеКак в Excel выбрать диапазоне B6:B18 и Элементы управления формы
Пусть в имеется таблица таким образом нескольких ячейки, на основании(Styles) нажмите
поставленной задачи, Вы не попадает в
клавишвыбрать серый цвет; то есть длина: Всем спасибо огромное! не решают заАндрей VGНужно чтобы на с Вашей помошью первое минимальное значение использовать его в
для управления выделением с повторяющимися значениями условий в одном
значения которой мыУсловное форматирование можете использовать операторы указанный диапазон.
CTRL+DНажать ОК. строки будет равна
В общих чертах вас все, есть: Доброе время суток. Листе 2, по отдельные улицы на кроме нуля:
качестве значения для строк с помощью
в первом столбце, правиле. применим правило условного(Conditional Formatting) > сравнения меньше (Узнайте, как на листах. Правила Условного форматирования будут
ВНИМАНИЕ какому-то значению. понятно. ветка работа дляСтранный у вас условию заполнялись ячейки отдельных листах. ВотКак легко заметить, эти
второго аргумента, применяется Условного форматирования. например список названийНапример, мы можем отметить форматирования; знак доллараУправление правилами
=$C2 Excel быстро изменять скопированы в строку
: Еще раз обращаюЮрий М
_Вячеслав_ этого подход к обработке с цифрами только на этих листах формулы отличаются между несколько вычислительных функций.Если приходиться работать с компаний. заказы, ожидаемые в
$
(Manage Rules)=$C2=4 цвет целой строки17
внимание на формулу =$C7=$E$8.: Gennyalen, запомните: кнопка: Добрый день!ПС из обработки данных, прям как
того города который не могу выполнить собой только функциямиФункция ЕСЛИ позволяет выбрать большими таблицами определенноОтберем из таблицы только течение 1 и
нужен для того,В выпадающем спискеОбратите внимание на знак в зависимости оттаблицы. Обычно пользователи вводят =$C$7=$E$8, цитированияЕсть лист 1
владельцев услуг уберите тут — . есть в условии? сортировку, например, по МИН и МАКС значение из списка найдете в них те строки, которые 3 дней, розовым
чтобы применить формулуПоказать правила форматирования для доллара
значения одной ячейки.Предположим, что ведется журнал т.е. вводят лишнийне для ответа! на котором таблица
и будет вам Как на основанииВидео в интернете адресу проживания. и их аргументами. по условию. В
дублирующийся суммы разбросаны удовлетворяют заданным условиям,
цветом, а те,
к целой строке;(Show formatting rules$ Посмотрите приёмы и посещения сотрудниками научных символ доллара.Gennyalen транспортных средств с счастье
предложенных данных можно не помогло((Excel2007
Скачать пример выборки из ее первом аргументе
вдоль целого столбца. которые приведены в которые будут выполнены условие « for) выберитеперед адресом ячейки примеры формул для
конференций (см. файл примераНужно проделать аналогичные действия
: Супер! Это почти, гос. номером, VINnorteamaru сделать вывод оslAvIk159Serge 007 таблицы в Excel. указано где проверяется В тоже время табличке ниже.
CyberForum.ru
Выборка данных из таблицы по условию и заполнение ячеек (Сводные таблицы/Pivot Table)
в течение 5>0
Этот лист – он нужен числовых и текстовых лист Даты). для выделения работ
то что нужно! номером и другой: Простите, но ничего том подключен дом
: Вот-так?: Об этом надо
Теперь Вас ни что каждая ячейка в у вас можетОтобранные строки выделим Условным и 7 дней,» означает, что правило
(This worksheet). Если для того, чтобы
значений.К сожалению, столбец Дата
в статусе Завершена. Единственное, что еще информацией по машинам, из перечисленного не
или нет? Покаmettuon
было в самом
не ограничивает. Один диапазоне B6:B18 на
возникнуть необходимость выбрать форматированием. жёлтым цветом. Формулы форматирования будет применено, нужно изменить параметры при копировании формулыВ одной из предыдущих посещения не отсортирован Формула в этом
нужно — это где все машины подходит: формулисты думают, вариант.
:
начале писать… раз разобравшись с наличие наименьшего числового данные из таблицы
Затем из этих строк будут выглядеть так: если заданный текст
только для правил в остальные ячейки статей мы обсуждали, и необходимо выделить случае будет выглядеть чтобы выводились не
расположены в алфавитномВсе варианты, которыеУспехов.slAvIk159
В сводной таблице принципами действия формул значения: ЕСЛИB6:B18=МИНB6:B18. Таким с первым наименьшим выберем только уникальные
=ИЛИ($F2=»Due in 1 Days»;$F2=»Due (в нашем случае на выделенном фрагменте, строки сохранить букву
как изменять цвет дату первого и как =$C7=$E$9, а
все строки подряд, порядке. Так же
предложены выше, можноguzen_pilot, Афигеть!!!!)) строго соблюдается иерархия. в массиве Вы способом в памяти
числовым значением, которое значения из первого in 3 Days»)
это «Due in») выберите вариант столбца неизменной. Собственно,
excelworld.ru
Выбрать уникальные строки по условию
ячейки в зависимости последнего посещения каждого цвет заливки установите а подстановка производилась
есть Лист 2
заменить использованием обычных
: в F4 вставьте
Спасибо большое)) Все
Сортировать можно только
сможете легко модифицировать
программы создается массив
имеет свои дубликаты.
столбца, т.е. только
=OR($F2=»Due in 1 Days»,$F2=»Due
будет найден.
Текущий фрагмент
в этом кроется от её значения. сотрудника. Например, сотрудник зеленый.
в одну ячейку, на котором та
фильтров. и протяните, уберет круто!!! последовательно, по полям, их под множество из логических значений
Нужна автоматическая выборка те компании, у
in 3 Days»)Подсказка:(Current Selection). секрет фокуса, именно На этот раз Козлов первый разВ итоге наша таблица но всегда произвольно же таблица, ноСергей
те в которых
Спасибо создателям форума! слева-направо. условий и быстро ИСТИНА и ЛОЖЬ. данных по условию.
которых Стоимость и
=ИЛИ($F2=»Due in 5 Days»;$F2=»DueЕсли в формулеВыберите правило форматирования, которое поэтому форматирование целой мы расскажем о поехал на конференцию примет следующий вид.
(генератором случайных чисел все машины расположены: ониПушкина/6/2Пушкина/18/3Некрасова/64/6Есенина/5/9 уже есть подключеннаяБуду обращаться!Бердников Вал. решать много вычислительных В нашем случаи В Excel для Дата контракта находится in 7 Days») используется условие « должно быть применено строки изменяется в том, как в
24.07.2009, а последнийПримечание
выбирать элемент из с разбивкой поnorteamaru=ЕСЛИ(СЧЁТЕСЛИМН(A:A;E4;B:B;»<>»&$F$1)>0;»»;E4)ехуу!!
: Спасибо, все получается, задач. 3 элемента массива
этой цели можно в заданных диапазонах.=OR($F2=»Due in 5 Days»,$F2=»Due
>0 первым, и при зависимости от значения Excel 2010 и раз — 18.07.2015.: Условное форматирование перекрывает массива) принадлежности к автоколонне.: Они. Я это
norteamaru_Boroda_ почти все. ПослеБердников Вал. будут содержат значение успешно использовать формулуРешение приведено в файле in 7 Days»)«, то строка будет
помощи стрелок переместите одной заданной ячейки.
2013 выделять цветомСначала создадим формулу для обычный формат ячеек.
Юрий М На Листе 1
написал в одном: Спасибо всем за: Лишние строки (2-ю обновления не сохраняется: Доброго времени суток! ИСТИНА, так как в массиве.
примера на листеДля того, чтобы выделить выделена цветом в его вверх списка.Нажимаем кнопку строку целиком в
условного форматирования в Поэтому, если работа: Gennyalen, Вы хотите проставляется информация об из постов выше. ответы! Хотел упростить и 4-ю) в увеличение ширины строк Имеется таблица где минимальное значение 8Чтобы определить соответствующие значение Уникальные. В его заказы с количеством каждом случае, когда Должно получиться вотФормат
зависимости от значения столбцах В и в статусе Завершена, получить бан?
покраске какой либоСергей начальный пример для таблице на листе1
в не сводной в строках содержится содержит еще 2 первому наименьшему числу
основе лежит формула товара не менее
в ключевой ячейке так:(Format) и переходим одной ячейки, а
E. Если формула то она будетGennyalen машины (в одном
: Нет это моя более ясного понимания.
удалил. Сдалал выпадающий
таблице. Как быть? информация о жителях дубликата в столбце нужна выборка из массива из статьи 5, но не будет найден заданныйНажмите на вкладку
также раскроем несколько вернет значение ИСТИНА, выкрашена в зеленый
: Bema,пока не получается из столбцов ставиться формула из 9 Вариант, приближенный к список в выборе
Serge 007 ( ФИО, адрес B6:B18. таблицы по условию. Отбор уникальных значений более 10 (значение текст, вне зависимостиОКЗаливка хитростей и покажем то соответствующая строка цвет, не смотря
реализовать по Вашему статус «Окрашен»).
сообщения выбрала реальности, выглядит так: города (у Вас: ПКМ по сводной и др.). Необходимо,
Следующий шаг – это Допустим мы хотим
(убираем повторы из в столбце от того, где
, и строки в
(Fill), чтобы выбрать примеры формул для будет выделена, если на то, что
примеру.Подскажите как сделатьguzen_pilotИмеются адреса с 2010 — будет - чтобы на разных определение в каких узнать первый самый списка) в MS
Qty. именно в ячейке указанном фрагменте тут
цвет фона ячеек. работы с числовыми ЛОЖЬ, то нет. ранее мы установилиЮрий М так, что бы: УУух вы !!!!!!!!! пользователями услуги1, услуги2, работать напрямую)
Параметры сводной таблицы - листах формировались строки именно строках диапазона дешевый товар на EXCEL, которая использовалась), запишем формулу с
он находится. В же изменят цвет, Если стандартных цветов и текстовыми значениями.
planetaexcel.ru
Выделение необходимых строк по условию на другом листе книги (Формулы/Formulas)
В столбце D создана красный фон через
: Gennyalen, вернитесь в при проставлении статусаладно, несколько вопросов: услуги3. По адресуа формулу можно Разметка и формат по условию - находится каждое минимальное рынке из данного для игнорирования пропусков функцией примере таблицы на в соответствии с недостаточно, нажмите кнопкуИзменяем цвет строки на формула массива =МАКС(($A7=$A$7:$A$16)*$B$7:$B$16)=$B7, которая меню Главная/ Цвет свои сообщения и «Окрашен» на Листе1. Риторический. Нельзя либо пользуются сейчас
так написать, чтобы — Автоматически изменять название улицы. Например, значение. Это нам прайса: в списке. ПослеИ рисунке ниже столбец
формулами в обоихДругие цвета основании числового значения определяет максимальную дату
заливки.
удалите то, что 1 строка с (я бы делал
одной из услуг(или одинаковая для всех ширину столбцов при
внес данные в необходимо по причине
excelworld.ru
Произвольный выбор строки из массива по условию
Автоматическую выборку реализует нам небольших изменений, формула(AND):Delivery правилах.(More Colors), выберите одной из ячеек для определенного сотрудника.В файле примера для Вы нацитировали. данной машиной на так) выделять только всеми услугами) , строк была обновлении общую базу, а определения именно первого формула, которая будет для отбору уникальных=И($D2>=5;$D2(столбец F) можетЧтобы упростить контроль выполнения
подходящий и дваждыСоздаём несколько правил форматированияПримечание: пояснения работы механизмаBema
Листе 2 выделялась одну строчку для
либо пользовались ранее200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист1!B$3:G$998;ПОИСКПОЗ(D$4;Лист1!A$3:A$998;);ЕСЛИОШИБКА(ПОИСКПОЗ(D7;Лист1!B$1:G$1;);ПОИСКПОЗ(D7;Лист1!B$2:G$2;)))Бердников Вал. на соответствующем листе наименьшего значения. Реализовывается обладать следующей структурой: с учетом 4-х
=AND($D2>=5,$D2 содержать текст «Urgent, заказа, мы можем
нажмите и для каждого
Если нужно определить выделения строк, создана: Gennyalen, а что определенным цветом. квартиры и в и отключили услуги,mettuon: Пробовал изначально. Меняю эти данные отразились. данная задача с
=ИНДЕКС(диапазон_данных_для_выборки;МИН(ЕСЛИ(диапазон=МИН(диапазон);СТРОКА(диапазон)-СТРОКА(заголовок_столбца);””))) условий выглядит так:Конечно же, в своих
Due in 6 выделить в нашейОК определяем приоритет максимальную дату вне дополнительная таблица с
именно не получается?buchlotnik ней отмечать подключенные/отключенные либо не пользовались
: Спасибо большое ширину строк в Заранее спасибо, извините помощью функции СТРОКА,В месте «диапазон_данных_для_выборки» следует=ЕСЛИОШИБКА(ИНДЕКС($A$7:$A$25;ПОИСКПОЗ(0; формулах Вы можете Hours» (что в таблице различными цветами.Изменяем цвет строки на зависимости от сотрудника, формулой =$C7=$E$9 из правила
Формулу вводите как: используйте услуги? Так искать
никогда. Нужно выбрать_Boroda_ «красноармейская» 20 пикселей, за корявый язык.
она заполняет элементы указать область значенийЕСЛИ((($B$7:$B$25>=$F$7)+($B$7:$B$25<>=$G$7)+($C$7:$C$25 СЧЁТЕСЛИ($I$6:I6;$A$7:$A$25);»»);0));»») использовать не обязательно переводе означает –
строки заказов сТаким же образом на основании текстового значения то формула значительно Условного форматирования для
planetaexcel.ru
массивную?
Отбор строк по заданному значению из таблицы |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного
Фильтра
). Произведем отбор значений из исходной таблицы с помощью
формул массива
. В отличие от применения
Фильтра
(
CTRL+SHIFT+L
или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.
В этой статье рассмотрим наиболее часто встречающиеся запросы, например: отбор строк таблицы, у которых значение из числового столбца попадает в заданный диапазон (интервал); отбор строк, у которых дата принаждежит определенному периоду; задачи с 2-мя текстовыми критериями и другие. Начнем с простых запросов.
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
Один критерий — число
).
Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.
Решить эту и последующие задачи можно легко с помощью
стандартного фильтра
. Для этого выделите заголовки Исходной таблицы и нажмите
CTRL+SHIFT+L
. Через выпадающий список у заголовка Цены выберите
Числовые фильтры…
, затем задайте необходимые условия фильтрации и нажмите ОК.
Будут отображены записи удовлетворяющие условиям отбора.
Другим подходом является использование
формул массива
. В отличие от
фильтра
отобранные строки будут помещены в отдельную таблицу — своеобразный
Отчет
, который, например, можно отформатировать в стиль отличный от Исходной таблицы или производить другие ее модификации.
Критерий (минимальную цену) разместим в ячейке
Е6
, таблицу для отфильтрованных данных — в диапазоне
D10:E19
.
Теперь выделим диапазон
D11:D19
(столбец Товар) и в
Строке формул
введем
формулу массива
:
=ИНДЕКС(A11:A19;НАИМЕНЬШИЙ(ЕСЛИ($E$6<=B11:B19;СТРОКА(B11:B19);»»);СТРОКА()-СТРОКА($B$10))-СТРОКА($B$10))
Вместо
ENTER
нажмите сочетание клавиш
CTRL+SHIFT+ENTER
(формула массива будет
возвращать несколько значений
).
Те же манипуляции произведем с диапазоном
E11:E19
(столбец Цена) куда и введем аналогичную
формулу массива
:
=ИНДЕКС(B11:B19;НАИМЕНЬШИЙ(ЕСЛИ($E$6<=B11:B19;СТРОКА(B11:B19);»»);СТРОКА()-СТРОКА($B$10))-СТРОКА($B$10))
В результате получим новую таблицу, которая будет содержать только товары, у которых цены не меньше, указанной в ячейке
Е6
.
Чтобы показать динамизм полученного Запроса на выборку, введем в
Е6
значение 55. В новую таблицу попадет только 2 записи.
Если в Исходную таблицу добавить новый товар с Ценой 80, то в новую таблицу автоматически будет добавлена новая запись.
Примечание
. Также для вывода отфильтрованных данных можно использовать
Расширенный фильтр
и
Сводные таблицы
. Выбор конкретного инструмента зависит от стоящей перед пользователем задачи.
Если Вам не удобно использовать
формулу массива
, которая возвращает несколько значений, то можно использовать другой подход, который рассмотрен в разделах ниже: 5.а, 7, 10 и 11. В этих случаях используются
формулы массива, возвращающие одно значение
.
2. Два числовых критерия (Выбрать те Товары, у которых цена попадает в диапазон)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
Диапазон Чисел
).
Критерии (нижнюю и верхнюю границы цены) разместим в диапазоне
Е5:Е6
.
Т.е. если Цена Товара попадает в указанный интервал, то такая запись появится в новой таблице Отфильтрованные данные.
В отличие от предыдущей задачи создадим два
Динамических диапазона
: Товары и Цены (без них можно обойтись, но они удобны при написании формул). Соответствующие формулы должны выглядеть в Диспетчере имен ( Формулы/ Определенные имена/ Диспетчер имен ) следующим образом (см. рисунок ниже).
Теперь выделим диапазон
D11:D19
и в
Строке формул
введем
формулу массива
:
=ИНДЕКС(Товары;НАИМЕНЬШИЙ(ЕСЛИ(($E$5<=Цены)*($E$6>=Цены);СТРОКА(Цены);»»);СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10))
Вместо
ENTER
нажмите сочетание клавиш
CTRL+SHIFT+ENTER
.
Те же манипуляции произведем с диапазоном
E11:E19
куда и введем аналогичную
формулу массива
:
=ИНДЕКС(Цены;НАИМЕНЬШИЙ(ЕСЛИ(($E$5<=Цены)*($E$6>=Цены);СТРОКА(Цены);»»);СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10))
В результате получим новую таблицу, которая будет содержать только товары, у которых цены попадают в интервал, указанный в ячейках
Е5
и
Е6
.
Чтобы показать динамизм полученного Отчета (Запроса на выборку) введем в
Е6
значение 65. В новую таблицу будет добавлена еще одна запись из Исходной таблицы, удовлетворяющая новому критерию.
Если в Исходную таблицу добавить новый товар с Ценой в диапазоне от 25 до 65, то в новую таблицу будет добавлена новая запись.
В файле примера также содержатся формулы массива с обработкой ошибок, когда в столбце Цена содержится значение ошибки, например #ДЕЛ/0! (см. лист
Обработка ошибок
).
Следующие задачи решаются аналогичным образом, поэтому не будем их рассматривать так детально.
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Один критерий — Дата
).
Для отбора строк используются формулы массива, аналогичные Задаче1 (вместо критерия <= используется =):
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
4. Два критерия Дата (Выбрать те Товары, у которых Дата поставки попадает в диапазон)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Диапазон Дат
).
Обратите внимание, что столбец Дат НЕ СОРТИРОВАН.
Решение1
: Для отбора строк можно использовать
формулы массива, возвращающие одно значение
.
Введите в ячейку
D12
формулу массива:
=ИНДЕКС(A$12:A$20;НАИБОЛЬШИЙ(($E$6<=$B$12:$B$20)*($E$7>=$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));$J$12-СТРОКА(A12)+СТРОКА($B$11)+1))
Примечание
: После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER. Это сочетание клавиш используется для ввода формул массива.
Скопируйте формулу массива вниз на нужное количество ячеек. Формула вернет только те значения Товаров, которые были поставлены в диапазоне указанных дат. В остальных ячейках будут содержаться ошибки #ЧИСЛО! Ошибки в файле примера (Лист 4.Диапазон Дат)
скрыты с помощью Условного форматирования
.
Аналогичную формулу нужно ввести и для дат в столбец E.
В ячейке
J12
вычислено количество строк исходной таблицы, удовлетворяющих критериям:
=СЧЁТЕСЛИМН(B12:B20;»>=»&$E$6;B12:B20;»<=»&$E$7)
Строки исходной таблицы, которые удовлетворяют критериям,
выделены также Условным форматированием
.
Решение2
: Для отбора строк можно использовать формулы массива, аналогичные Задаче2 (т.е.
формулы массива, возвращающие несколько значений
):
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<=B12:B20)*($E$7>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<=B12:B20)*($E$7>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
Для ввода первой формулы выделите диапазон ячеек
G12:G20
. После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER.
Решение3
: Если столбец Дат СОРТИРОВАН, то можно не использовать формулы массива.
Сначала необходимо вычислить первую и последнюю позиции строк, которые удовлетворяют критериям. Затем вывести строки
с помощью функции СМЕЩ()
.
Этот пример еще раз наглядно демонстрирует насколько
предварительная сортировка данных
облегчает написание формул.
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Один критерий — Дата (не позже)
).
Для отбора строк, дата которых не раньше (включая саму дату), используется формула массива:
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7<=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
Также в файле примера приведены формулы для условий: Не раньше (не включая); Не позже (включая); Не позже (не включая).
Эта формула введена как
формула массив
а, возвращающая множество значений (см. здесь
Формулы массива в MS EXCEL, возвращающие несколько значений
). Эту формулу можно переделать, чтобы
возвращалось только 1 значение
, см. следующую задачу 5а.
5а. Один критерий Дата (Выбрать События, которые Закончились/ не начались/ происходят на заданную дату)
Пусть имеется перечень событий и даты их начала и завершения.
Пользователю требуется найти и вывести в отдельную таблицу события, которые либо уже закончились на заданную дату, либо еще длятся, либо еще не начались.
Т.е. нам потребуется формула, обрабатывающая 3 вышеуказанные ситуации. Можно использовать нижеуказанную формулу, которую нужно ввести в строке для каждого события
= ВЫБОР($C$6;$B$7>C15;И($B$7>=B15;$B$7<=C15);$B$7
Формула возвращает ЛОЖЬ или ИСТИНА в зависимости от того удовлетворят ли Событие указанным критерием. Результат этой формулы мы будем использовать как для
Условного форматирования
, чтобы выделить События, так и для вывода Событий в отдельный диапазон.
Для вывода Событий в соседний диапазон используйте формулу:
= ИНДЕКС(A$15:A$21;НАИМЕНЬШИЙ(ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»);СТРОКА()-СТРОКА($B$14))-СТРОКА($B$14))
Формула делает следующее:
— если Событие удовлетворяет условию, то формула запоминает номер строки этого События: ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»)
—
Функция НАИМЕНЬШИЙ()
сортирует
полученный массив номеров строк: первыми идут номера строк Событий, которые удовлетворяют критерию;
—
Функция ИНДЕКС()
выводит названия Событий из указанный строк.
6. Два критерия: Дата и Текст (Выбрать Товары определенного вида, у которых Дата поставки не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
2 критерия — Дата-Текст
).
В отличие от Задачи 5 будем отбирать строки только того Товара, который указан в критерии. Список дат должен быть
отсортирован
(для каждого из товаров), по товару сортировка не требуется.
Для отбора строк, дата которых не позже (включая саму дату), используется формула массива:
= ИНДЕКС(A13:A21; НАИМЕНЬШИЙ(ЕСЛИ(($E$7=$A$13:$A$21)*($E$8>=$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) -СТРОКА($B$12))
Условие $E$7=$A$13:$A$21 гарантирует, что будут отобраны товары только определенного типа. Условие $E$8>=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания
Условия И
(все 3 критерия должны выполняться для строки одновременно).
Примечание
. Случай, когда список несортирован, рассмотрен в статье
Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список
.
7. Один Текстовый критерий (Выбрать Товары определенного вида)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
Один критерий — Текст
).
Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
.
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
2 критерия — текст (И)
).
Для отбора строк используется формула массива:
= ИНДЕКС($A$11:$A$19; НАИМЕНЬШИЙ(ЕСЛИ(($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19);СТРОКА($A$11:$A$19)-СТРОКА($A$10);30);СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19)))))
Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).
Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует
массив последовательных чисел
{1:2:3:4:5:6:7:8:9}, т.е. номера строк в таблице.
9. Два Текстовых критерия (Выбрать Товары определенных видов)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
2 критерия — текст (ИЛИ)
).
В отличие от Задачи 7 отберем строки с товарами 2-х видов (
Условие ИЛИ
).
Для отбора строк используется формула массива:
= ИНДЕКС(A$11:A$19; НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))
Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания
Условие ИЛИ
(должен быть выполнен хотя бы 1 критерий).
Вышеуказанное выражение вернет массив {0:0:0:0:1:1:1:0:0}. Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10) , т.е. на
массив последовательных чисел
{1:2:3:4:5:6:7:8:9}, получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив {0:0:0:0:5:6:7:0:0}.
С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3. Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1 , которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; … Формула НАИБОЛЬШИЙ(…;3) вернет число 5, НАИБОЛЬШИЙ(…;2) вернет число 6, НАИБОЛЬШИЙ(…;1) вернет число 7, а НАИБОЛЬШИЙ(…;0) и далее вернет ошибку, которую мы скроем
условным форматированием
.
И наконец, с помощью
функции ИНДЕКС()
последовательно выведем наши значения из соответствующих позиций: = ИНДЕКС(A$11:A$19;5) вернет Товар2, = ИНДЕКС(A$11:A$19;6) вернет Товар2, = ИНДЕКС(A$11:A$19;7) вернет Товар3.
10. Отбор значений с учетом повторов
В разделе
Отбор на основании повторяемости
собраны статьи о запросах с группировкой данных. Из повторяющихся данных сначала отбираются уникальные значения, а соответствующие им значения в других столбцах — группируются (складываются, усредняются и пр.).
Наиболее популярные статьи из этого раздела:
Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
Отбор уникальных значений с суммированием по соседнему столбцу в MS EXCEL
Отбор повторяющихся значений в MS EXCEL
Отбор уникальных значений из двух диапазонов в MS EXCEL
Отбор уникальных СТРОК с помощью Расширенного фильтра в MS EXCEL
В качестве примера приведем решения следующей задачи:
Выбрать Товары, цена которых лежит в определенном диапазоне и повторяется заданное количество раз или более.
В качестве исходной возьмем таблицу партий товаров.
Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).
Решением является формула массива:
=НАИМЕНЬШИЙ(СТРОКА($A$14:$A$27)*($C$14:$C$27>=$B$7)*($C$14:$C$27<=$C$7)*($D$14:$D$27>=$B$10);F14+($G$8-$G$9))
Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27<=$C$7)*($D$14:$D$27>=$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.
В файле примера на листе «10.Критерий — колич-во повторов» настроено
Условное форматирование
, которое позволяет визуально определить строки удовлетворяющие критериям, а также
скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!
11. Используем значение критерия (Любой) или (Все)
В фильтре
Сводных таблиц
MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в
выпадающем списке
значений критерия содержится особое значение, которое отменяет сам критерий (см. статью
Отчеты в MS EXCEL
, Отчет №3).
В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.
Формула в этом случае должна содержать функцию ЕСЛИ() . Если выбрано значение (Все), то используется формула для вывода значений без учета данного критерия. Если выбрано любое другое значение, то критерий работает обычным образом.
=ЕСЛИ($C$8=»(Все)»;НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8);F13+($G$6-$G$7));НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8)*($C$13:$C$26=$C$8);F13+($G$6-$G$7)))
Остальная часть формулы аналогична рассмотренным выше.
12. Актуальная цена
Пусть для товара ежедневно заполняется таблица цен (цена может меняться, но не каждый день). Нужно найти актуальнуй цену, т.е. цену на последнюю дату. Если товар всего один, то можно отсортировать по дате и в последней строке будет нужная актуальная цена. Если товаров много, то нужно сначала выбрать Автофильтром нужный товар, затем опять отсортировать по цене.
Чтобы иметь перечень товаров с актуальными ценами придется использовать формулы:
1) сначала сформируем перечень товаров без повторов
Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
2) определяем последнюю (максимальную) дату для каждого товара с помощью формулы массива =МАКС((Таблица1[товар]=E8)*Таблица1[дата])
3) наконец, выводим актуальную цену =СУММЕСЛИМН(Таблица1[цена];Таблица1[товар];E8;Таблица1[дата];F8)
Для товара не должно быть повторов дат, иначе цены будут суммироваться (если повторяется последняя дата).
В файле примера приведено решение на листе 12. Актуальная цена.
Содержание
- Выполнение выборки
- Способ 1: применение расширенного автофильтра
- Способ 2: применение формулы массива
- Способ 3: выборка по нескольким условиям с помощью формулы
- Способ 4: случайная выборка
- Вопросы и ответы
При работе с таблицами Excel довольно часто приходится проводить отбор в них по определенному критерию или по нескольким условиям. В программе сделать это можно различными способами при помощи ряда инструментов. Давайте выясним, как произвести выборку в Экселе, используя разнообразные варианты.
Выполнение выборки
Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.
Способ 1: применение расширенного автофильтра
Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.
- Выделяем область на листе, среди данных которой нужно произвести выборку. Во вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр». Она размещается в блоке настроек «Редактирование». В открывшемся после этого списка выполняем щелчок по кнопке «Фильтр».
Есть возможность поступить и по-другому. Для этого после выделения области на листе перемещаемся во вкладку «Данные». Щелкаем по кнопке «Фильтр», которая размещена на ленте в группе «Сортировка и фильтр».
- После этого действия в шапке таблицы появляются пиктограммы для запуска фильтрования в виде перевернутых острием вниз небольших треугольников на правом краю ячеек. Кликаем по данному значку в заглавии того столбца, по которому желаем произвести выборку. В запустившемся меню переходим по пункту «Текстовые фильтры». Далее выбираем позицию «Настраиваемый фильтр…».
- Активируется окно пользовательской фильтрации. В нем можно задать ограничение, по которому будет производиться отбор. В выпадающем списке для столбца содержащего ячейки числового формата, который мы используем для примера, можно выбрать одно из пяти видов условий:
- равно;
- не равно;
- больше;
- больше или равно;
- меньше.
Давайте в качестве примера зададим условие так, чтобы отобрать только значения, по которым сумма выручки превышает 10000 рублей. Устанавливаем переключатель в позицию «Больше». В правое поле вписываем значение «10000». Чтобы произвести выполнение действия, щелкаем по кнопке «OK».
- Как видим, после фильтрации остались только строчки, в которых сумма выручки превышает 10000 рублей.
- Но в этом же столбце мы можем добавить и второе условие. Для этого опять возвращаемся в окно пользовательской фильтрации. Как видим, в его нижней части есть ещё один переключатель условия и соответствующее ему поле для ввода. Давайте установим теперь верхнюю границу отбора в 15000 рублей. Для этого выставляем переключатель в позицию «Меньше», а в поле справа вписываем значение «15000».
Кроме того, существует ещё переключатель условий. У него два положения «И» и «ИЛИ». По умолчанию он установлен в первом положении. Это означает, что в выборке останутся только строчки, которые удовлетворяют обоим ограничениям. Если он будет выставлен в положение «ИЛИ», то тогда останутся значения, которые подходят под любое из двух условий. В нашем случае нужно выставить переключатель в положение «И», то есть, оставить данную настройку по умолчанию. После того, как все значения введены, щелкаем по кнопке «OK».
- Теперь в таблице остались только строчки, в которых сумма выручки не меньше 10000 рублей, но не превышает 15000 рублей.
- Аналогично можно настраивать фильтры и в других столбцах. При этом имеется возможность сохранять также фильтрацию и по предыдущим условиям, которые были заданы в колонках. Итак, посмотрим, как производится отбор с помощью фильтра для ячеек в формате даты. Кликаем по значку фильтрации в соответствующем столбце. Последовательно кликаем по пунктам списка «Фильтр по дате» и «Настраиваемый фильтр».
- Снова запускается окно пользовательского автофильтра. Выполним отбор результатов в таблице с 4 по 6 мая 2016 года включительно. В переключателе выбора условий, как видим, ещё больше вариантов, чем для числового формата. Выбираем позицию «После или равно». В поле справа устанавливаем значение «04.05.2016». В нижнем блоке устанавливаем переключатель в позицию «До или равно». В правом поле вписываем значение «06.05.2016». Переключатель совместимости условий оставляем в положении по умолчанию – «И». Для того, чтобы применить фильтрацию в действии, жмем на кнопку «OK».
- Как видим, наш список ещё больше сократился. Теперь в нем оставлены только строчки, в которых сумма выручки варьируется от 10000 до 15000 рублей за период с 04.05 по 06.05.2016 включительно.
- Мы можем сбросить фильтрацию в одном из столбцов. Сделаем это для значений выручки. Кликаем по значку автофильтра в соответствующем столбце. В выпадающем списке щелкаем по пункту «Удалить фильтр».
- Как видим, после этих действий, выборка по сумме выручки будет отключена, а останется только отбор по датам (с 04.05.2016 по 06.05.2016).
- В данной таблице имеется ещё одна колонка – «Наименование». В ней содержатся данные в текстовом формате. Посмотрим, как сформировать выборку с помощью фильтрации по этим значениям.
Кликаем по значку фильтра в наименовании столбца. Последовательно переходим по наименованиям списка «Текстовые фильтры» и «Настраиваемый фильтр…».
- Опять открывается окно пользовательского автофильтра. Давайте сделаем выборку по наименованиям «Картофель» и «Мясо». В первом блоке переключатель условий устанавливаем в позицию «Равно». В поле справа от него вписываем слово «Картофель». Переключатель нижнего блока так же ставим в позицию «Равно». В поле напротив него делаем запись – «Мясо». И вот далее мы выполняем то, чего ранее не делали: устанавливаем переключатель совместимости условий в позицию «ИЛИ». Теперь строчка, содержащая любое из указанных условий, будет выводиться на экран. Щелкаем по кнопке «OK».
- Как видим, в новой выборке существуют ограничения по дате (с 04.05.2016 по 06.05.2016) и по наименованию (картофель и мясо). По сумме выручки ограничений нет.
- Полностью удалить фильтр можно теми же способами, которые использовались для его установки. Причем неважно, какой именно способ применялся. Для сброса фильтрации, находясь во вкладке «Данные» щелкаем по кнопке «Фильтр», которая размещена в группе «Сортировка и фильтр».
Второй вариант предполагает переход во вкладку «Главная». Там выполняем щелчок на ленте по кнопке «Сортировка и фильтр» в блоке «Редактирование». В активировавшемся списке нажимаем на кнопку «Фильтр».
При использовании любого из двух вышеуказанных методов фильтрация будет удалена, а результаты выборки – очищены. То есть, в таблице будет показан весь массив данных, которыми она располагает.
Урок: Функция автофильтр в Excel
Способ 2: применение формулы массива
Сделать отбор можно также применив сложную формулу массива. В отличие от предыдущего варианта, данный метод предусматривает вывод результата в отдельную таблицу.
- На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.
- Выделяем все пустые ячейки первой колонки новой таблицы. Устанавливаем курсор в строку формул. Как раз сюда будет заноситься формула, производящая выборку по указанным критериям. Отберем строчки, сумма выручки в которых превышает 15000 рублей. В нашем конкретном примере, вводимая формула будет выглядеть следующим образом:
=ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))
Естественно, в каждом конкретном случае адрес ячеек и диапазонов будет свой. На данном примере можно сопоставить формулу с координатами на иллюстрации и приспособить её для своих нужд.
- Так как это формула массива, то для того, чтобы применить её в действии, нужно нажимать не кнопку Enter, а сочетание клавиш Ctrl+Shift+Enter. Делаем это.
- Выделив второй столбец с датами и установив курсор в строку формул, вводим следующее выражение:
=ИНДЕКС(B2:B29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))
Жмем сочетание клавиш Ctrl+Shift+Enter.
- Аналогичным образом в столбец с выручкой вписываем формулу следующего содержания:
=ИНДЕКС(C2:C29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))
Опять набираем сочетание клавиш Ctrl+Shift+Enter.
Во всех трех случаях меняется только первое значение координат, а в остальном формулы полностью идентичны.
- Как видим, таблица заполнена данными, но внешний вид её не совсем привлекателен, к тому же, значения даты заполнены в ней некорректно. Нужно исправить эти недостатки. Некорректность даты связана с тем, что формат ячеек соответствующего столбца общий, а нам нужно установить формат даты. Выделяем весь столбец, включая ячейки с ошибками, и кликаем по выделению правой кнопкой мыши. В появившемся списке переходим по пункту «Формат ячейки…».
- В открывшемся окне форматирования открываем вкладку «Число». В блоке «Числовые форматы» выделяем значение «Дата». В правой части окна можно выбрать желаемый тип отображения даты. После того, как настройки выставлены, жмем на кнопку «OK».
- Теперь дата отображается корректно. Но, как видим, вся нижняя часть таблицы заполнена ячейками, которые содержат ошибочное значение «#ЧИСЛО!». По сути, это те ячейки, данных из выборки для которых не хватило. Более привлекательно было бы, если бы они отображались вообще пустыми. Для этих целей воспользуемся условным форматированием. Выделяем все ячейки таблицы, кроме шапки. Находясь во вкладке «Главная» кликаем по кнопке «Условное форматирование», которая находится в блоке инструментов «Стили». В появившемся списке выбираем пункт «Создать правило…».
- В открывшемся окне выбираем тип правила «Форматировать только ячейки, которые содержат». В первом поле под надписью «Форматировать только ячейки, для которых выполняется следующее условие» выбираем позицию «Ошибки». Далее жмем по кнопке «Формат…».
- В запустившемся окне форматирования переходим во вкладку «Шрифт» и в соответствующем поле выбираем белый цвет. После этих действий щелкаем по кнопке «OK».
- На кнопку с точно таким же названием жмем после возвращения в окно создания условий.
Теперь у нас имеется готовая выборка по указанному ограничению в отдельной надлежащим образом оформленной таблице.
Урок: Условное форматирование в Excel
Способ 3: выборка по нескольким условиям с помощью формулы
Так же, как и при использовании фильтра, с помощью формулы можно осуществлять выборку по нескольким условиям. Для примера возьмем всю ту же исходную таблицу, а также пустую таблицу, где будут выводиться результаты, с уже выполненным числовым и условным форматированием. Установим первым ограничением нижнюю границу отбора по выручке в 15000 рублей, а вторым условием верхнюю границу в 20000 рублей.
- Вписываем в отдельном столбце граничные условия для выборки.
- Как и в предыдущем способе, поочередно выделяем пустые столбцы новой таблицы и вписываем в них соответствующие три формулы. В первый столбец вносим следующее выражение:
=ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(($D$2=C2:C29);СТРОКА(C2:C29);"");СТРОКА(C2:C29)-СТРОКА($C$1))-СТРОКА($C$1))
В последующие колонки вписываем точно такие же формулы, только изменив координаты сразу после наименования оператора ИНДЕКС на соответствующие нужным нам столбцам, по аналогии с предыдущим способом.
Каждый раз после ввода не забываем набирать сочетание клавиш Ctrl+Shift+Enter.
- Преимущество данного способа перед предыдущим заключается в том, что если мы захотим поменять границы выборки, то совсем не нужно будет менять саму формулу массива, что само по себе довольно проблематично. Достаточно в колонке условий на листе поменять граничные числа на те, которые нужны пользователю. Результаты отбора тут же автоматически изменятся.
Способ 4: случайная выборка
В Экселе с помощью специальной формулы СЛЧИС можно также применять случайный отбор. Его требуется производить в некоторых случаях при работе с большим объемом данных, когда нужно представить общую картину без комплексного анализа всех данных массива.
- Слева от таблицы пропускаем один столбец. В ячейке следующего столбца, которая находится напротив первой ячейки с данными таблицы, вписываем формулу:
=СЛЧИС()
Эта функция выводит на экран случайное число. Для того, чтобы её активировать, жмем на кнопку ENTER.
- Для того, чтобы сделать целый столбец случайных чисел, устанавливаем курсор в нижний правый угол ячейки, которая уже содержит формулу. Появляется маркер заполнения. Протягиваем его вниз с зажатой левой кнопкой мыши параллельно таблице с данными до её конца.
- Теперь у нас имеется диапазон ячеек, заполненный случайными числами. Но, он содержит в себе формулу СЛЧИС. Нам же нужно работать с чистыми значениями. Для этого следует выполнить копирование в пустой столбец справа. Выделяем диапазон ячеек со случайными числами. Расположившись во вкладке «Главная», щелкаем по иконке «Копировать» на ленте.
- Выделяем пустой столбец и кликаем правой кнопкой мыши, вызывая контекстное меню. В группе инструментов «Параметры вставки» выбираем пункт «Значения», изображенный в виде пиктограммы с цифрами.
- После этого, находясь во вкладке «Главная», кликаем по уже знакомому нам значку «Сортировка и фильтр». В выпадающем списке останавливаем выбор на пункте «Настраиваемая сортировка».
- Активируется окно настройки сортировки. Обязательно устанавливаем галочку напротив параметра «Мои данные содержат заголовки», если шапка имеется, а галочки нет. В поле «Сортировать по» указываем наименование того столбца, в котором содержатся скопированные значения случайных чисел. В поле «Сортировка» оставляем настройки по умолчанию. В поле «Порядок» можно выбрать параметр как «По возрастанию», так и «По убыванию». Для случайной выборки это значения не имеет. После того, как настройки произведены, жмем на кнопку «OK».
- После этого все значения таблицы выстраиваются в порядке возрастания или убывания случайных чисел. Можно взять любое количество первых строчек из таблицы (5, 10, 12, 15 и т.п.) и их можно будет считать результатом случайной выборки.
Урок: Сортировка и фильтрация данных в Excel
Как видим, выборку в таблице Excel можно произвести, как с помощью автофильтра, так и применив специальные формулы. В первом случае результат будет выводиться в исходную таблицу, а во втором – в отдельную область. Имеется возможность производить отбор, как по одному условию, так и по нескольким. Кроме того, можно осуществлять случайную выборку, использовав функцию СЛЧИС.
Еще статьи по данной теме:
Помогла ли Вам статья?
Как выделить строки в Excel по условию? Выделение строк с заданными значениями
Каждый лист рабочей книги Excel разбит на строки и столбцы, количество которых зависит от версии приложения. Строки и столбцы можно удалять, добавлять, объединять и перемещать. Ранее уже рассматривалось удаление строк по условию, удаление столбцов по условию и добавление пустых строк в рабочие книги Excel. Ниже будет рассмотрено еще одно действие, совершаемое со строками — выделение.
Как выделить одну строку?
Существует несколько способов для того чтобы выделить строку:
1. Можно в окне открытого листа кликнуть левой кнопкой мыши курсором-стрелкой один раз по номеру нужной строки ;
2. также, в окне открытого листа, можно установить маркер выделения в любую ячейку нужной строки и использовать сочетание клавиш Shift+Space (пробел);
3. и наконец, можно установить маркер выделения в первую ячейку нужной строки и использовать сочетание клавиш Ctrl+Shift+Стрелка вправо. При этом, если в строке есть данные, то первое нажатие этого сочетания клавиш выделит часть строки с даными, а второе — уже всю строку.
Как выделить несколько строк подряд?
1. Выделить первую строку нужного диапазона и не отпуская левую кнопку мыши протащить курсор-стрелку по номерам нужных строк;
2. выделить первую строку нужного диапазона и при нажатой клавише Shift кликнуть по номеру последней строки нужного диапазона;
3. кликнуть курсором ввода текста в адресном окне строки формул, вписать диапазон строк (например 10:20) и нажать клавишу Enter.
Как выделить несколько строк не подряд?
Для выборочного выделения нескольких строк необходимо кликать по номерам нужных строк курсором-стрелкой при нажатой клавише Ctrl.
Как выделить строки по условию?
Если есть необходимость в выборочном выделении строк (для форматирования, копирования или других целей) например, содержащих заданный текст или наоборот, не содержащих определенный текст, можно использовать надстройку, позволяющую ускорить выделение строк по различным условиям. Ниже приведено диалоговое окно, позволяющее оценить возможности этой надстройки.
Надстройка позволяет:
1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;
2. Находить и выделять строки в зависимости от поставленного условия и заданных значений,
возможен ввод сразу нескольких текстовых значений разделенных знаком «;» (точка с запятой);
3. Выбирать одно из восьми условий для строк с искомым значением:
— совпадает с искомым значением;
— не совпадает с искомым значением;
— содержит мскомое значение;
— не содержит искомое значение;
— начинается с искомого значения;
— не начинается с искомого значения;
— заканчивается искомым значением;
— не заканчивается искомым значением.
4. При поиске текста учитывать либо не учитывать регистр (различать заглавные и строчные буквы);
5. При нахождении строки предусмотрена возможность выделять:
а) всю строку по ширине листа;
б) часть строки, ограниченную используемым диапазоном (от первой заполненной до последней заполненной ячейки);
в) часть строки, ограниченную выделенным (выбранным) диапазоном поиска.
6. Выбирать диапазон строк для поиска заданных значений и при необходимости вносить ограничения для выбранного диапазона, устанавливая начальную и конечную строку.
Поиск и выделение ячеек, соответствующих определенным условиям
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Чтобы быстро найти и выделить все ячейки, содержащие определенных типов данных, таких как формулы с помощью команды Перейти. Кроме того, с помощью Перейти к найти только ячейки, которые соответствуют определенным критериям, — например последнюю ячейку на лист, содержащую данные или форматирование.
Начинать, выполнив одно из указанных ниже действий.
Чтобы выполнить поиск определенных ячеек на всем листе, щелкните любую ячейку.
Чтобы выполнить поиск определенных ячеек в пределах области, определенной, выберите диапазон, строк или столбцов, которые должны. Дополнительные сведения читайте в статье Выбор ячеек, диапазонов, строк или столбцов на листе.
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
На вкладке » Главная » нажмите кнопку Найти и выделить > Перейти (в группе » Редактирование «).
Сочетание клавиш: Нажмите клавиши CTRL + G.
Нажмите кнопку Дополнительный.
В диалоговом окне Выделить группу ячеек выберите один из указанных ниже вариантов.
Запрос на выборку данных (формулы) в MS EXCEL
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.
В этой статье рассмотрим наиболее часто встречающиеся запросы, например: отбор строк таблицы, у которых значение из числового столбца попадает в заданный диапазон (интервал); отбор строк, у которых дата принаждежит определенному периоду; задачи с 2-мя текстовыми критериями и другие. Начнем с простых запросов.
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — число ).
Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.
Решить эту и последующие задачи можно легко с помощью стандартного фильтра. Для этого выделите заголовки Исходной таблицы и нажмите CTRL+SHIFT+L. Через выпадающий список у заголовка Цены выберите Числовые фильтры. , затем задайте необходимые условия фильтрации и нажмите ОК.
Будут отображены записи удовлетворяющие условиям отбора.
Другим подходом является использование формул массива. В отличие от фильтра отобранные строки будут помещены в отдельную таблицу — своеобразный Отчет, который, например, можно отформатировать в стиль отличный от Исходной таблицы или производить другие ее модификации.
Критерий (минимальную цену) разместим в ячейке Е6, таблицу для отфильтрованных данных — в диапазоне D10:E19.
Теперь выделим диапазон D11:D19 (столбец Товар) и в Строке формул введем формулу массива:
Вместо ENTER нажмите сочетание клавиш CTRL+SHIFT+ENTER.
Те же манипуляции произведем с диапазоном E11:E19 куда и введем аналогичную формулу массива:
В результате получим новую таблицу, которая будет содержать только товары, у которых цены попадают в интервал, указанный в ячейках Е5 и Е6.
Чтобы показать динамизм полученного Отчета (Запроса на выборку) введем в Е6 значение 65. В новую таблицу будет добавлена еще одна запись из Исходной таблицы, удовлетворяющая новому критерию.
Если в Исходную таблицу добавить новый товар с Ценой в диапазоне от 25 до 65, то в новую таблицу будет добавлена новая запись.
В файле примера также содержатся формулы массива с обработкой ошибок, когда в столбце Цена содержится значение ошибки, например #ДЕЛ/0! (см. лист Обработка ошибок).
Следующие задачи решаются аналогичным образом, поэтому не будем их рассматривать так детально.
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата).
Для отбора строк используются формулы массива, аналогичные Задаче1 (вместо критерия =$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));
$J$12-СТРОКА(A12)+СТРОКА($B$11)+1))
Примечание: После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER. Это сочетание клавиш используется для ввода формул массива.
Скопируйте формулу массива вниз на нужное количество ячеек. Формула вернет только те значения Товаров, которые были поставлены в диапазоне указанных дат. В остальных ячейках будут содержаться ошибки #ЧИСЛО! Ошибки в файле примера (Лист 4.Диапазон Дат) скрыты с помощью Условного форматирования.
Аналогичную формулу нужно ввести и для дат в столбец E.
В ячейке J12 вычислено количество строк исходной таблицы, удовлетворяющих критериям:
Для ввода первой формулы выделите диапазон ячеек G12:G20. После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER.
Решение3: Если столбец Дат СОРТИРОВАН, то можно не использовать формулы массива.
Сначала необходимо вычислить первую и последнюю позиции строк, которые удовлетворяют критериям. Затем вывести строки с помощью функции СМЕЩ().
Этот пример еще раз наглядно демонстрирует насколько предварительная сортировка данных облегчает написание формул.
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата (не позже) ).
Для отбора строк, дата которых не раньше (включая саму дату), используется формула массива:
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7 C15;И($B$7>=B15;$B$7 =$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12))
-СТРОКА($B$12))
Условие $E$7=$A$13:$A$21 гарантирует, что будут отобраны товары только определенного типа. Условие $E$8>=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания Условия И (все 3 критерия должны выполняться для строки одновременно).
7. Один Текстовый критерий (Выбрать Товары определенного вида)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — Текст).
Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск.
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (И) ).
Для отбора строк используется формула массива:
Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).
Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив последовательных чисел <1:2:3:4:5:6:7:8:9>, т.е. номера строк в таблице.
9. Два Текстовых критерия (Выбрать Товары определенных видов)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (ИЛИ)).
В отличие от Задачи 7 отберем строки с товарами 2-х видов (Условие ИЛИ).
Для отбора строк используется формула массива:
= ИНДЕКС(A$11:A$19;
НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))
Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания Условие ИЛИ (должен быть выполнен хотя бы 1 критерий).
Вышеуказанное выражение вернет массив <0:0:0:0:1:1:1:0:0>. Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10) , т.е. на массив последовательных чисел <1:2:3:4:5:6:7:8:9>, получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив <0:0:0:0:5:6:7:0:0>.
С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3. Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1 , которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; . Формула НАИБОЛЬШИЙ(. ;3) вернет число 5, НАИБОЛЬШИЙ(. ;2) вернет число 6, НАИБОЛЬШИЙ(. ;1) вернет число 7, а НАИБОЛЬШИЙ(. ;0) и далее вернет ошибку, которую мы скроем условным форматированием.
И наконец, с помощью функции ИНДЕКС() последовательно выведем наши значения из соответствующих позиций: = ИНДЕКС(A$11:A$19;5) вернет Товар2, = ИНДЕКС(A$11:A$19;6) вернет Товар2, = ИНДЕКС(A$11:A$19;7) вернет Товар3.
10. Отбор значений с учетом повторов
В разделе Отбор на основании повторяемости собраны статьи о запросах с группировкой данных. Из повторяющихся данных сначала отбираются уникальные значения, а соответствующие им значения в других столбцах — группируются (складываются, усредняются и пр.).
Наиболее популярные статьи из этого раздела:
В качестве примера приведем решения следующей задачи: Выбрать Товары, цена которых лежит в определенном диапазоне и повторяется заданное количество раз или более.
В качестве исходной возьмем таблицу партий товаров.
Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).
Решением является формула массива:
Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27 =$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.
В файле примера на листе «10.Критерий — колич-во повторов» настроено Условное форматирование, которое позволяет визуально определить строки удовлетворяющие критериям, а также скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!
11. Используем значение критерия (Любой) или (Все)
В фильтре Сводных таблиц MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в выпадающем списке значений критерия содержится особое значение, которое отменяет сам критерий (см. статью Отчеты в MS EXCEL, Отчет №3).
В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.
Формула в этом случае должна содержать функцию ЕСЛИ() . Если выбрано значение (Все), то используется формула для вывода значений без учета данного критерия. Если выбрано любое другое значение, то критерий работает обычным образом.
Остальная часть формулы аналогична рассмотренным выше.
Выделить строки в Excel по условию
Условное форматирование в Excel позволяет делать формат ячеек меняющимся в зависимости от их содержания. Например, Вы можете заставить ячейку изменять цвет, если в ней содержится значение меньше 100, или, если в этой ячейке находится определённый текст. Но как сделать так, чтобы выделенной стала не только одна ячейка, а вся строка, которая ее содержит?
Как же быть, если необходимо выделить другие ячейки в зависимости от значения какой-то одной? На скриншоте, расположенном чуть выше, видно таблицу с кодовыми наименованиями различных версий Ubuntu. Один из них — выдуманный. Когда я ввёл No в столбце Really?, вся строка изменила цвет фона и шрифта. Читайте дальше, и Вы узнаете, как это делается.
Создаём таблицу
Первым делом, создаём простую таблицу и наполняем её данными. Позже мы эти данные отформатируем. Данные могут быть любого типа: текст, числа или формулы. На этом этапе таблица вовсе не имеет никакого форматирования:
Придаём таблице более приятный вид
Следующий этап — делаем формат таблицы более лёгким для восприятия информации, используя простые инструменты форматирования Excel. Настройте формат только тех областей таблицы, которые не будут затронуты условным форматированием. В нашем случае мы нарисуем рамку таблицы и отформатируем строку, содержащую заголовки. Думаю, с этой частью Вы справитесь самостоятельно. В итоге у Вас должно получиться что-то подобное (или, возможно, немного посимпатичнее):
Создаём правила условного форматирования в Excel
Выберите начальную ячейку в первой из тех строк, которые Вы планируете форматировать. Кликните Conditional Formatting (Условное Форматирование) на вкладке Home (Главная) и выберите Manage Rules (Управление Правилами).
В открывшемся диалоговом окне Conditional Formatting Rules Manager (Диспетчер правил условного форматирования) нажмите New Rule (Создать правило).
В диалоговом окне New Formatting Rule (Создание правила форматирования) выберите последний вариант из списка — Use a formula to determine which cells to format (Использовать формулу для определения форматируемых ячеек). А сейчас — главный секрет! Ваша формула должна выдавать значение TRUE (ИСТИНА), чтобы правило сработало, и должна быть достаточно гибкой, чтобы Вы могли использовать эту же формулу для дальнейшей работы с Вашей таблицей.
Давайте проанализируем формулу, которую я сделал в своём примере:
G — это столбец, который управляет работой правила (столбец Really? в таблице). Заметили знак доллара перед G? Если не поставить этот символ и скопировать правило в следующую ячейку, то в правиле адрес ячейки сдвинется. Таким образом, правило будет искать значение Yes, в какой-то другой ячейке, например, H15 вместо G15. В нашем же случае надо зафиксировать в формуле ссылку на столбец ($G), при этом позволив изменяться строке (15), поскольку мы собираемся применить это правило для нескольких строк.
=»Yes» — это значение ячейки, которое мы ищем. В нашем случае условие проще не придумаешь, ячейка должна говорить Yes. Условия можно создавать любые, какие подскажет Вам Ваша фантазия!
Говоря человеческим языком, выражение, записанное в нашей формуле, принимает значение TRUE (ИСТИНА), если ячейка, расположенная на пересечении заданной строки и столбца G, содержит слово Yes.
Теперь давайте займёмся форматированием. Нажмите кнопку Format (Формат). В открывшемся окне Format Cells (Формат ячеек) полистайте вкладки и настройте все параметры так, как Вы желаете. Мы в своём примере просто изменим цвет фона ячеек.
Когда Вы настроили желаемый вид ячейки, нажмите ОК. То, как будет выглядеть отформатированная ячейка, можно увидеть в окошке Preview (Образец) диалогового окна New Formatting Rule (Создание правила форматирования).
Нажмите ОК снова, чтобы вернуться в диалоговое окно Conditional Formatting Rules Manager (Диспетчер правил условного форматирования), и нажмите Apply (Применить). Если выбранная ячейка изменила свой формат, значит Ваша формула верна. Если форматирование не изменилось, вернитесь на несколько шагов назад и проверьте настройки формулы.
Теперь, когда у нас есть работающая формула в одной ячейке, давайте применим её ко всей таблице. Как Вы заметили, форматирование изменилось только в той ячейке, с которой мы начали работу. Нажмите на иконку справа от поля Applies to (Применяется к), чтобы свернуть диалоговое окно, и, нажав левую кнопку мыши, протяните выделение на всю Вашу таблицу.
Когда сделаете это, нажмите иконку справа от поля с адресом, чтобы вернуться к диалоговому окну. Область, которую Вы выделили, должна остаться обозначенной пунктиром, а в поле Applies to (Применяется к) теперь содержится адрес не одной ячейки, а целого диапазона. Нажмите Apply (Применить).
Теперь формат каждой строки Вашей таблицы должен измениться в соответствии с созданным правилом.
Вот и всё! Теперь осталось таким же образом создать правило форматирования для строк, в которых содержится ячейка со значением No (ведь версии Ubuntu с кодовым именем Chipper Chameleon на самом деле никогда не существовало). Если же в Вашей таблице данные сложнее, чем в этом примере, то вероятно придётся создать большее количество правил. Пользуясь этим методом, Вы легко будете создавать сложные наглядные таблицы, информация в которых буквально бросается в глаза.
Урок подготовлен для Вас командой сайта office-guru.ru Источник: http://www.howtogeek.com/howto/45670/how-to-highlight-a-row-in-excel-using-conditional-formatting/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft 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 для этой цели можно успешно использовать формулу в массиве.
Как сделать выборку в 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:
Как в Excel выбрать первое минимальное значение кроме нуля:
Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.
Скачать пример выборки из таблицы в Excel.
Теперь Вас ни что не ограничивает. Один раз разобравшись с принципами действия формул в массиве Вы сможете легко модифицировать их под множество условий и быстро решать много вычислительных задач.
С помощью автофилеров или встроенных операторов сравнения, таких как «больше» и «10 лучших» в Excel вы можете показать нужные данные и скрыть остальные. После фильтрации данных в диапазоне ячеек или таблице вы можете повторно использовать фильтр, чтобы получить последние результаты, или очистить фильтр, чтобы повторно отфильтровать все данные.
Используйте фильтры, чтобы временно скрывать некоторые данные в таблице и видеть только те, которые вы хотите.
Фильтрация диапазона данных
-
Выберите любую ячейку в диапазоне данных.
-
Выберите Фильтр> данных.
-
Выберите стрелку в столбце .
-
Выберите Текстовые фильтры или Числовое фильтры, а затем выберите сравнение, например Между.
-
Введите условия фильтрации и нажмите кнопку ОК.
Фильтрация данных в таблице
При вводе данных в таблицу в заголовки ее столбцов автоматически добавляются элементы управления фильтрацией.
-
Выберите стрелку в столбца, который вы хотите отфильтровать.
-
Сберем (Выберите все) и выберем поля, которые вы хотите отобрать.
-
Нажмите кнопку ОК.
Стрелка загона столбца меняется на фильтра. Щелкните этот значок, чтобы изменить или очистить фильтр.
Статьи по теме
Excel Учебный курс. Фильтрация данных в таблице
Рекомендации и примеры для сортировки и фильтрации данных по цвету
Фильтрация данных в сводной таблице
Использование расширенных условий фильтрации
Удаление фильтра
Отфильтрованные данные отображают только строки, которые соответствуют условия и скрывают строки, которые отображать не нужно. Фильтруя данные, вы можете копировать, находить, изменять, форматирование, диаграммы и печатать подмножество отфильтрованных данных, не меняя их оголовье и не перемещая.
Вы также можете отфильтровать несколько столбцов. Фильтры являются аддитивно, то есть каждый дополнительный фильтр основан на текущем фильтре и дополнительно уменьшает подмножество данных.
Примечание: При использовании диалогового окна Найти для поиска отфильтрованных данных поиск ведется только по отображаемой информации. данные, которые не отображаются, не поиск не ведется. Чтобы найти все данные, очистка всех фильтров.
Два типа фильтров
С помощью автофильтра можно создать два типа фильтров: по значению списка или по условиям. Каждый из этих типов фильтров является взаимоисключающими для каждого диапазона ячеек или таблицы столбцов. Например, можно отфильтровать значения по списку чисел или по критерию, но не по обоим критериям. можно фильтровать по значкам или по настраиваемой фильтрации, но не по обоим.
Повторное присвоение фильтра
Чтобы определить, применяется ли фильтр, обратите внимание на значок в заголовке столбца:
-
Стрелка вниз означает, что фильтрация включена, но не применена.
Если наведите курсор на заголовок столбца с включенной фильтрацией, но не примененной, на экране появляется подсказка «(Отображает все)».
-
Кнопка Фильтр означает, что применяется фильтр.
Когда вы наводите курсор на заголовок отфильтрованного столбца, на подсказке отображается примененный к этому столбец фильтр, например «Равно красному цвету ячейки» или «Больше 150».
При повторном его повторном анализе отображаются разные результаты по следующим причинам:
-
Данные были добавлены, изменены или удалены в диапазон ячеек или столбец таблицы.
-
значения, возвращаемые формулой, изменились, и лист был пересчитан.
Не смешивать типы данных
Для лучших результатов не смешивайте типы данных, такие как текст и число, число и дата в одном столбце, так как для каждого столбца доступна только одна команда фильтра. Если имеется сочетание типов данных, отображаемая команда является самым распространенным типом данных. Например, если столбец содержит три значения, сохраненные как число, и четыре значения как текст, отображается команда Текстовые фильтры.
Фильтрация данных в таблице
При вводе данных в таблицу в заголовки ее столбцов автоматически добавляются элементы управления фильтрацией.
-
Выделите данные, которые нужно отфильтровать. На вкладке Главная нажмите кнопку Форматировать как таблицу и выберите команду Форматировать как таблицу.
-
В диалоговом окне Создание таблицы можно выбрать, есть ли в таблице заглавные таблицы.
-
Выберите Таблица с заголовками, чтобы преобразовать верхнюю строку в заголовки таблицы. Данные в этой строке не будут фильтроваться.
-
Не выбирайте этот пункт, если вы хотите Excel в Интернете в таблицу под данными таблицы, которые можно переименовать.
-
-
Нажмите кнопку ОК.
-
Чтобы применить фильтр, щелкните стрелку в заголовке столбца и выберите параметр фильтрации.
Фильтрация диапазона данных
Если вы не хотите форматирование данных в виде таблицы, вы также можете применить фильтры к диапазону данных.
-
Выделите данные, которые нужно отфильтровать. Для лучшего результата столбцы должны иметь заголовки.
-
На вкладке Данные выберите фильтр.
Параметры фильтрации для таблиц или диапазонов
Можно применить общий фильтр, выбрав пункт Фильтр, или настраиваемый фильтр, зависящий от типа данных. Например, при фильтрации чисел отображается пункт Числовые фильтры, для дат отображается пункт Фильтры по дате, а для текста — Текстовые фильтры. Применяя общий фильтр, вы можете выбрать для отображения нужные данные из списка существующих, как показано на рисунке:
Выбрав параметр Числовые фильтры вы можете применить один из перечисленных ниже настраиваемых фильтров.
В этом примере, чтобы отобрать регионы, в которых сумма продаж за март была меньше 6000, можно применить настраиваемый фильтр:
Вот как это сделать.
-
Щелкните стрелку фильтра в ячейке со словом «Март», выберите пункт Числовые фильтры и условие Меньше и введите значение 6000.
-
Нажмите кнопку ОК.
Excel в Интернете применяет фильтр и отображает только регионы с продажами ниже 6000 рублей.
Аналогичным образом можно применить фильтры по дате и текстовые фильтры.
Очистка фильтра из столбца
-
Нажмите кнопку Фильтр рядом с заголовком столбца и выберите очистить фильтр <«Имя столбца»>.
Удаление всех фильтров из таблицы или диапазона
-
Выберите любую ячейку в таблице или диапазоне и на вкладке Данные нажмите кнопку Фильтр.
При этом фильтры будут удаляться из всех столбцов таблицы или диапазона и вывести все данные.
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На вкладке Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр щелкните Выберите один из вариантов и введите условия фильтра.
Примечания:
-
Фильтры можно применить только к одному диапазону ячеек на листе за раз.
-
Когда фильтр применяется к столбцу, в других столбцах в качестве фильтров можно использовать только значения, видимые в текущем отфильтрованном диапазоне.
-
В окне фильтра отображаются только первые 10 000 уникальных записей списка.
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На вкладке Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр щелкните Выберите один из вариантов и введите условия фильтра.
-
В поле рядом с всплывающим меню введите число, которое хотите использовать.
-
В зависимости от сделанного выбора вам может быть предложено выбрать дополнительные условия.
Примечания:
-
Фильтры можно применить только к одному диапазону ячеек на листе за раз.
-
Когда фильтр применяется к столбцу, в других столбцах в качестве фильтров можно использовать только значения, видимые в текущем отфильтрованном диапазоне.
-
В окне фильтра отображаются только первые 10 000 уникальных записей списка.
-
Вместо фильтрации можно использовать условное форматирование, которое позволяет четко выделить верхние или нижние числовые значения среди данных.
Данные можно быстро фильтровать на основании визуальных условий, таких как цвет шрифта, цвет ячейки или наборы значков. Можно также фильтровать ячейки по наличию в них формата, примененных стилей или условного форматирования.
-
В диапазоне ячеек или столбце таблицы щелкните ячейку с определенным цветом, цветом шрифта или значком, по которому вы хотите выполнить фильтрацию.
-
На вкладке Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр во всплывающем меню По цвету щелкните Цвет ячейки, Цвет шрифта или Значок ячейки и выберите цвет.
Это возможно только в случае, если фильтруемый столбец содержит пустую ячейку.
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На панели инструментов Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В области (Выделить все) прокрутите список вниз и установите флажок (Пустые).
Примечания:
-
Фильтры можно применить только к одному диапазону ячеек на листе за раз.
-
Когда фильтр применяется к столбцу, в других столбцах в качестве фильтров можно использовать только значения, видимые в текущем отфильтрованном диапазоне.
-
В окне фильтра отображаются только первые 10 000 уникальных записей списка.
-
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На вкладке Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр щелкните Выберите один из вариантов и во всплывающем меню выполните одно из указанных ниже действий.
Цель фильтрации диапазона
Операция
Строки с определенным текстом
Содержит или Равно.
Строки, не содержащие определенный текст
Не содержит или Не равно.
-
В поле рядом с всплывающим меню введите текст, которое хотите использовать.
-
В зависимости от сделанного выбора вам может быть предложено выбрать дополнительные условия.
Задача
Операция
Фильтрация столбца или выделенного фрагмента таблицы при истинности обоих условий
И.
Фильтрация столбца или выделенного фрагмента таблицы при истинности одного из двух или обоих условий
Или.
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На панели инструментов Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр щелкните Выберите один из вариантов и во всплывающем меню выполните одно из указанных ниже действий.
Условие фильтрации
Операция
Начало строки текста
Начинается с.
Окончание строки текста
Заканчивается на.
Ячейки, которые содержат текст, но не начинаются с букв
Не начинаются с.
Ячейки, которые содержат текст, но не оканчиваются буквами
Не заканчиваются.
-
В поле рядом с всплывающим меню введите текст, которое хотите использовать.
-
В зависимости от сделанного выбора вам может быть предложено выбрать дополнительные условия.
Задача
Операция
Фильтрация столбца или выделенного фрагмента таблицы при истинности обоих условий
И.
Фильтрация столбца или выделенного фрагмента таблицы при истинности одного из двух или обоих условий
Или.
При создании условий можно использовать подстановочные знаки.
-
Щелкните ячейку в диапазоне или таблице, которую хотите отфильтровать.
-
На панели инструментов Данные щелкните Фильтр.
-
Щелкните стрелку в столбце с содержимым, которое вы хотите отфильтровать.
-
В разделе Фильтр щелкните Выберите один из вариантов и выберите вариант.
-
В текстовом поле введите свои условия, используя подстановочные знаки.
Например, чтобы в результате фильтрации найти оба слова «год» и «гид», введите г?д.
-
Выполните одно из указанных ниже действий.
Используемый знак
Чтобы найти
? (вопросительный знак)
Любой символ
Пример: условию «стро?а» соответствуют результаты «строфа» и «строка»
Звездочка (*)
Любое количество символов
Пример: условию «*-восток» соответствуют результаты «северо-восток» и «юго-восток»
Тильда (~)
Вопросительный знак или звездочка
Например, там~? находит «там?»
Выполните одно из указанных ниже действий.
Задача |
Действие |
---|---|
Удаление определенных условий фильтрации |
Щелкните стрелку столбце, который содержит фильтр, и выберите очистить фильтр. |
Удаление всех фильтров, примененных к диапазону или таблице |
Выделите столбцы диапазона или таблицы, к которым применяются фильтры, а затем на вкладке Данные щелкните Фильтр. |
Удаление или повторное применение стрелок фильтра в диапазоне или таблице |
Выделите столбцы диапазона или таблицы, к которым применяются фильтры, а затем на вкладке Данные щелкните Фильтр. |
При фильтрации данных появляются только данные, которые соответствуют вашим условиям. Данные, которые не соответствуют этому критерию, скрыты. После фильтрации данных можно копировать, находить, изменять, форматирование, диаграммы и печатать подмножество отфильтрованных данных.
Таблица с примененным фильтром «4 самых верхних элементов»
Фильтры забавляются. Это означает, что каждый дополнительный фильтр основан на текущем фильтре и дополнительно уменьшает подмножество данных. Сложные фильтры можно отфильтровать по одному значению, по одному формату или по одному критерию. Например, можно отфильтровать все числа больше 5, которые также ниже среднего. Но некоторые фильтры (десять верхних и нижних, выше и ниже среднего) основаны на исходном диапазоне ячеек. Например, при фильтрации десяти лучших значений вы увидите десять лучших значений всего списка, а не десять лучших значений подмножество последнего фильтра.
В Excel можно создавать фильтры трех типов: по значениям, по формату или по условиям. Но каждый из этих типов фильтров является взаимоисключающими. Например, можно отфильтровать значения по цвету ячейки или по списку чисел, но не по обоим. Вы можете фильтровать по значкам или по настраиваемой фильтрации, но не по обоим.
Фильтры скрывают лишние данные. Таким образом можно сосредоточиться на том, что вы хотите видеть. С другой стороны, при сортировке данных их порядок будет меняться. Дополнительные сведения о сортировке см. в списке сортировки данных.
При фильтрации рассмотрите следующие рекомендации:
-
В окне фильтра отображаются только первые 10 000 уникальных записей списка.
-
Можно отфильтровать несколько столбцов. Когда фильтр применяется к столбцу, в других столбцах в качестве фильтров можно использовать только значения, видимые в текущем отфильтрованном диапазоне.
-
Фильтры можно применить только к одному диапазону ячеек на листе за раз.
Примечание: При использовании поиска найти для поиска отфильтрованных данных поиск ведется только по отображаемой информации; данные, которые не отображаются, не поиск не ведется. Чтобы найти все данные, очистка всех фильтров.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Во второй части нашего учебника по функции ВПР (VLOOKUP) в Excel мы разберём несколько примеров, которые помогут Вам направить всю мощь ВПР на решение наиболее амбициозных задач Excel.
Примеры подразумевают, что Вы уже имеете базовые знания о том, как работает эта функция. Если нет, возможно, Вам будет интересно начать с первой части этого учебника, в которой объясняются синтаксис и основное применение ВПР.
Что ж, давайте приступим.
Поиск в Excel по нескольким критериям
Функция ВПР в Excel – это действительно мощный инструмент для выполнения поиска определённого значения в базе данных. Однако, есть существенное ограничение – её синтаксис позволяет искать только одно значение. Как же быть, если требуется выполнить поиск по нескольким условиям? Решение Вы найдёте далее.
Пример 1: Поиск по 2-м разным критериям
Предположим, у нас есть список заказов и мы хотим найти Количество товара (Qty.), основываясь на двух критериях – Имя клиента (Customer) и Название продукта (Product). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:
- Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара Sweets, заказанное покупателем Jeremy Hill, запишите вот такую формулу:
- =VLOOKUP(B1,$A$5:$C$14,3,FALSE)
=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ) - – эта формула вернет результат 15, соответствующий товару Apples, так как это первое совпадающее значение.
Есть простой обходной путь – создать дополнительный столбец, в котором объединить все нужные критерии.
В нашем примере это столбцы Имя клиента (Customer) и Название продукта (Product).
Не забывайте, что объединенный столбец должен быть всегда крайним левым в диапазоне поиска, поскольку именно левый столбец функция ВПР просматривает при поиске значения.
Итак, Вы добавляете вспомогательный столбец в таблицу и копируете по всем его ячейкам формулу вида: =B2&C2. Если хочется, чтобы строка была более читаемой, можно разделить объединенные значения пробелом: =B2&” “&C2. После этого можно использовать следующую формулу:
- =VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)
=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ) - или
- =VLOOKUP(B1,$A$7:$D$18,4,FALSE)
=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)
Где ячейка B1 содержит объединенное значение аргумента lookup_value (искомое_значение), а 4 – аргумент col_index_num (номер_столбца), т.е. номер столбца, содержащего данные, которые необходимо извлечь.
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
Если Вам необходимо обновить основную таблицу (Main table), добавив данные из второй таблицы (Lookup table), которая находится на другом листе или в другой рабочей книге Excel, то Вы можете собрать искомое значение непосредственно в формуле, которую вставляете в основную таблицу.
Как и в предыдущем примере, Вам понадобится в таблице поиска (Lookup table) вспомогательный столбец с объединенными значениями. Этот столбец должен быть крайним левым в заданном для поиска диапазоне.
Итак, формула с ВПР может быть такой:
=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE)
=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)
Здесь в столбцах B и C содержатся имена клиентов и названия продуктов соответственно, а ссылка Orders!$A&$2:$D$2 определяет таблицу для поиска на другом листе.
Чтобы сделать формулу более читаемой, Вы можете задать имя для просматриваемого диапазона, и тогда формула станет выглядеть гораздо проще:
=VLOOKUP(B2&» «&C2,Orders,4,FALSE)
=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)
Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (B2&” “&C2).
Запомните! Функция ВПР ограничена 255 символами, она не может искать значение, состоящее из более чем 255 символов. Имейте это ввиду и следите, чтобы длина искомого значения не превышала этот лимит.
Соглашусь, добавление вспомогательного столбца – не самое изящное и не всегда приемлемое решение. Вы можете сделать то же самое без вспомогательного столбца, но в таком случае потребуется гораздо более сложная формула с комбинацией функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ).
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
Вы уже знаете, что ВПР может возвратить только одно совпадающее значение, точнее – первое найденное. Но как быть, если в просматриваемом массиве это значение повторяется несколько раз, и Вы хотите извлечь 2-е или 3-е из них? А что если все значения? Задачка кажется замысловатой, но решение существует!
Предположим, в одном столбце таблицы записаны имена клиентов (Customer Name), а в другом – товары (Product), которые они купили. Попробуем найти 2-й, 3-й и 4-й товары, купленные заданным клиентом.
Простейший способ – добавить вспомогательный столбец перед столбцом Customer Name и заполнить его именами клиентов с номером повторения каждого имени, например, John Doe1, John Doe2 и т.д. Фокус с нумерацией сделаем при помощи функции COUNTIF (СЧЁТЕСЛИ), учитывая, что имена клиентов находятся в столбце B:
=B2&COUNTIF($B$2:B2,B2)
=B2&СЧЁТЕСЛИ($B$2:B2;B2)
После этого Вы можете использовать обычную функцию ВПР, чтобы найти нужный заказ. Например:
- Находим 2-й товар, заказанный покупателем Dan Brown:
=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE)
=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ) - Находим 3-й товар, заказанный покупателем Dan Brown:
=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE)
=ВПР(«Dan Brown3»;$A$2:$C$16;3;ЛОЖЬ)
На самом деле, Вы можете ввести ссылку на ячейку в качестве искомого значения вместо текста, как представлено на следующем рисунке:
- Если Вы ищите только 2-е повторение, то можете сделать это без вспомогательного столбца, создав более сложную формулу:
- =IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»»)
=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»») - В этой формуле:
- $F$2 – ячейка, содержащая имя покупателя (она неизменна, обратите внимание – ссылка абсолютная);
- $B$ – столбец Customer Name;
- Table4 – Ваша таблица (на этом месте также может быть обычный диапазон);
- $C16 – конечная ячейка Вашей таблицы или диапазона.
Эта формула находит только второе совпадающее значение. Если же Вам необходимо извлечь остальные повторения, воспользуйтесь предыдущим решением.
Если Вам нужен список всех совпадений – функция ВПР тут не помощник, поскольку она возвращает только одно значение за раз – и точка. Но в Excel есть функция INDEX (ИНДЕКС), которая с легкостью справится с этой задачей. Как будет выглядеть такая формула, Вы узнаете в следующем примере.
Извлекаем все повторения искомого значения
- Как упоминалось выше, ВПР не может извлечь все повторяющиеся значения из просматриваемого диапазона.
Чтобы сделать это, Вам потребуется чуть более сложная формула, составленная из нескольких функций Excel, таких как INDEX (ИНДЕКС), SMALL (НАИМЕНЬШИЙ) и ROW (СТРОКА)
- Например, формула, представленная ниже, находит все повторения значения из ячейки F2 в диапазоне B2:B16 и возвращает результат из тех же строк в столбце C.
- {=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)}
{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)}
Введите эту формулу массива в несколько смежных ячеек, например, в ячейки F4:F8, как показано на рисунке ниже. Количество ячеек должно быть равным или большим, чем максимально возможное число повторений искомого значения. Не забудьте нажать Ctrl+Shift+Enter, чтобы правильно ввести формулу массива.
Если Вам интересно понять, как она работает, давайте немного погрузимся в детали формулы:
Часть 1:
IF($F$2=B2:B16,ROW(C2:C16)-1,»»)
ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»)
$F$2=B2:B16 – сравниваем значение в ячейке F2 с каждым из значений диапазона B2:B16. Если найдено совпадение, то выражение СТРОКА(C2:C16)-1 возвращает номер соответствующей строки (значение -1 позволяет не включать строку заголовков). Если совпадений нет, функция IF (ЕСЛИ) возвращает пустую строку.
Результатом функции IF (ЕСЛИ) окажется вот такой горизонтальный массив: {1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»}
Часть 2:
ROW()-3
СТРОКА()-3
Здесь функция ROW (СТРОКА) действует как дополнительный счётчик. Так как формула скопирована в ячейки F4:F9, мы вычитаем число 3 из результата функции, чтобы получить значение 1 в ячейке F4 (строка 4, вычитаем 3), чтобы получить 2 в ячейке F5 (строка 5, вычитаем 3) и так далее.
Часть 3:
SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))
НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))
Функция SMALL (НАИМЕНЬШИЙ) возвращает n-ое наименьшее значение в массиве данных. В нашем случае, какую по счёту позицию (от наименьшего) возвращать – определено функцией ROW (СТРОКА) (смотри Часть 2).
Так, для ячейки F4 функция НАИМЕНЬШИЙ({массив};1) возвращает 1-й (наименьший) элемент массива, то есть 1.
Для ячейки F5 возвращает 2-й наименьший элемент массива, то есть 3, и так далее.
Часть 4:
INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))
ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))
Функция INDEX (ИНДЕКС) просто возвращает значение определённой ячейки в массиве C2:C16. Для ячейки F4 функция ИНДЕКС($C$2:$C$16;1) возвратит Apples, для F5 функция ИНДЕКС($C$2:$C$16;3) возвратит Sweets и так далее.
Часть 5:
IFERROR()
ЕСЛИОШИБКА()
В завершение, мы помещаем формулу внутрь функции IFERROR (ЕСЛИОШИБКА), поскольку вряд ли Вас обрадует сообщение об ошибке #N/A (#Н/Д) в случае, если количество ячеек, в которые скопирована формула, будет меньше, чем количество повторяющихся значений в просматриваемом диапазоне.
Двумерный поиск по известным строке и столбцу
Выполнение двумерного поиска в Excel подразумевает поиск значения по известному номеру строки и столбца. Другими словами, Вы извлекаете значение ячейки на пересечении конкретной строки и столбца.
Итак, давайте обратимся к нашей таблице и запишем формулу с функцией ВПР, которая найдет информацию о стоимости проданных в марте лимонов.
Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.
Функции ВПР и ПОИСКПОЗ
Вы можете использовать связку из функций ВПР (VLOOKUP) и ПОИСКПОЗ (MATCH), чтобы найти значение на пересечении полей Название продукта (строка) и Месяц (столбец) рассматриваемого массива:
=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)
=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)
Формула выше – это обычная функция ВПР, которая ищет точное совпадение значения “Lemons” в ячейках от A2 до A9. Но так как Вы не знаете, в каком именно столбце находятся продажи за март, то не сможете задать номер столбца для третьего аргумента функции ВПР. Вместо этого используется функция ПОИСКПОЗ, чтобы определить этот столбец.
MATCH(«Mar»,$A$1:$I$1,0)
ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)
В переводе на человеческий язык, данная формула означает:
- Ищем символы “Mar” – аргумент lookup_value (искомое_значение);
- Ищем в ячейках от A1 до I1 – аргумент lookup_array (просматриваемый_массив);
- Возвращаем точное совпадение – аргумент match_type (тип_сопоставления).
Использовав в третьем аргументе, Вы говорите функции ПОИСКПОЗ искать первое значение, в точности совпадающее с искомым значением. Это равносильно значению FALSE (ЛОЖЬ) для четвёртого аргумента ВПР.
Вот так Вы можете создать формулу для поиска по двум критериям в Excel, что также известно, как двумерный поиск или поиск в двух направлениях.
Функция СУММПРОИЗВ
Функция СУММПРОИЗВ (SUMPRODUCT) возвращает сумму произведений выбранных массивов:
=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9)
=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9)
Функции ИНДЕКС и ПОИСКПОЗ
В следующей статье я буду объяснять эти функции во всех деталях, так что сейчас можете просто скопировать эту формулу:
=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0))
=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0))
Именованные диапазоны и оператор пересечения
Если Вы не в восторге от всех этих сложных формул Excel, Вам может понравиться вот такой наглядный и запоминающийся способ:
- Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
- Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.
- В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:
=Lemons Mar
… или наоборот:=Mar Lemons
Источник: https://office-guru.ru/excel/prodvinutye-primery-s-funkciei-vpr-167.html
Выборка данных в Microsoft Excel
При работе с таблицами Excel довольно часто приходится проводить отбор в них по определенному критерию или по нескольким условиям. В программе сделать это можно различными способами при помощи ряда инструментов. Давайте выясним, как произвести выборку в Экселе, используя разнообразные варианты.
Выполнение выборки
Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.
Способ 1: применение расширенного автофильтра
Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.
- Выделяем область на листе, среди данных которой нужно произвести выборку. Во вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр». Она размещается в блоке настроек «Редактирование». В открывшемся после этого списка выполняем щелчок по кнопке «Фильтр».
Есть возможность поступить и по-другому. Для этого после выделения области на листе перемещаемся во вкладку «Данные». Щелкаем по кнопке «Фильтр», которая размещена на ленте в группе «Сортировка и фильтр».
- После этого действия в шапке таблицы появляются пиктограммы для запуска фильтрования в виде перевернутых острием вниз небольших треугольников на правом краю ячеек. Кликаем по данному значку в заглавии того столбца, по которому желаем произвести выборку. В запустившемся меню переходим по пункту «Текстовые фильтры». Далее выбираем позицию «Настраиваемый фильтр…».
- Активируется окно пользовательской фильтрации. В нем можно задать ограничение, по которому будет производиться отбор. В выпадающем списке для столбца содержащего ячейки числового формата, который мы используем для примера, можно выбрать одно из пяти видов условий:
- равно;
- не равно;
- больше;
- больше или равно;
- меньше.
Давайте в качестве примера зададим условие так, чтобы отобрать только значения, по которым сумма выручки превышает 10000 рублей. Устанавливаем переключатель в позицию «Больше». В правое поле вписываем значение «10000». Чтобы произвести выполнение действия, щелкаем по кнопке «OK».
- Как видим, после фильтрации остались только строчки, в которых сумма выручки превышает 10000 рублей.
- Но в этом же столбце мы можем добавить и второе условие. Для этого опять возвращаемся в окно пользовательской фильтрации. Как видим, в его нижней части есть ещё один переключатель условия и соответствующее ему поле для ввода. Давайте установим теперь верхнюю границу отбора в 15000 рублей. Для этого выставляем переключатель в позицию «Меньше», а в поле справа вписываем значение «15000».
Кроме того, существует ещё переключатель условий. У него два положения «И» и «ИЛИ». По умолчанию он установлен в первом положении. Это означает, что в выборке останутся только строчки, которые удовлетворяют обоим ограничениям.
Если он будет выставлен в положение «ИЛИ», то тогда останутся значения, которые подходят под любое из двух условий. В нашем случае нужно выставить переключатель в положение «И», то есть, оставить данную настройку по умолчанию.
После того, как все значения введены, щелкаем по кнопке «OK».
- Теперь в таблице остались только строчки, в которых сумма выручки не меньше 10000 рублей, но не превышает 15000 рублей.
- Аналогично можно настраивать фильтры и в других столбцах. При этом имеется возможность сохранять также фильтрацию и по предыдущим условиям, которые были заданы в колонках. Итак, посмотрим, как производится отбор с помощью фильтра для ячеек в формате даты. Кликаем по значку фильтрации в соответствующем столбце. Последовательно кликаем по пунктам списка «Фильтр по дате» и «Настраиваемый фильтр».
Источник: https://lumpics.ru/how-to-make-a-sample-in-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:
Как в Excel выбрать первое минимальное значение кроме нуля:
Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.
Скачать пример выборки из таблицы в Excel.
Теперь Вас ни что не ограничивает. Один раз разобравшись с принципами действия формул в массиве Вы сможете легко модифицировать их под множество условий и быстро решать много вычислительных задач.
Источник: https://exceltable.com/formuly/vyborka-iz-tablicy-po-usloviyu
Поиск и подстановка по нескольким условиям
89123 01.05.2015 Скачать пример
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать).
Для тех, кто понимает, рекламировать ее не нужно 🙂 — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра.
А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы: Простой способ, знакомая функция, работает с любыми данными.
Минусы: Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007.
По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям.
Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы: Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
- Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ.
Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение.
По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).
Ссылки по теме
Источник: https://www.planetaexcel.ru/techniques/2/224/
Запрос на выборку данных (формулы) в MS EXCEL
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или ) отобранные строки будут помещены в отдельную таблицу.
В этой статье рассмотрим наиболее часто встречающиеся запросы, например: отбор строк таблицы, у которых значение из числового столбца попадает в заданный диапазон (интервал); отбор строк, у которых дата принаждежит определенному периоду; задачи с 2-мя текстовыми критериями и другие. Начнем с простых запросов.
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — число).
Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.
Решить эту и последующие задачи можно легко с помощью стандартного фильтра. Для этого выделите заголовки Исходной таблицы и нажмите CTRL+SHIFT+L. Через выпадающий список у заголовка Цены выберите Числовые фильтры…, затем задайте необходимые условия фильтрации и нажмите ОК.
Будут отображены записи удовлетворяющие условиям отбора.
Другим подходом является использование формул массива. В отличие от фильтра отобранные строки будут помещены в отдельную таблицу — своеобразный Отчет, который, например, можно отформатировать в стиль отличный от Исходной таблицы или производить другие ее модификации.
Критерий (минимальную цену) разместим в ячейке Е6, таблицу для отфильтрованных данных — в диапазоне D10:E19.
Теперь выделим диапазон D11:D19 (столбец Товар) и в Строке формул введем формулу массива:
=ИНДЕКС(A11:A19;НАИМЕНЬШИЙ(ЕСЛИ($E$6=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания Условия И (все 3 критерия должны выполняться для строки одновременно).
Примечание. Случай, когда список несортирован, рассмотрен в статье Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список.
7. Один Текстовый критерий (Выбрать Товары определенного вида)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — Текст).
Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск.
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (И)).
- Для отбора строк используется формула массива:
- =ИНДЕКС($A$11:$A$19;НАИМЕНЬШИЙ(ЕСЛИ(($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19);СТРОКА($A$11:$A$19)-СТРОКА($A$10);30);СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19)))))
- Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).
Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив последовательных чисел {1:2:3:4:5:6:7:8:9}, т.е. номера строк в таблице.
9. Два Текстовых критерия (Выбрать Товары определенных видов)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (ИЛИ)).
- В отличие от Задачи 7 отберем строки с товарами 2-х видов (Условие ИЛИ).
- Для отбора строк используется формула массива:
- =ИНДЕКС(A$11:A$19;НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))
Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания Условие ИЛИ (должен быть выполнен хотя бы 1 критерий).
Вышеуказанное выражение вернет массив {0:0:0:0:1:1:1:0:0}. Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10), т.е. на массив последовательных чисел {1:2:3:4:5:6:7:8:9}, получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив {0:0:0:0:5:6:7:0:0}.
С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3.
Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1, которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; … Формула НАИБОЛЬШИЙ(…;3) вернет число 5, НАИБОЛЬШИЙ(…
;2) вернет число 6, НАИБОЛЬШИЙ(…;1) вернет число 7, а НАИБОЛЬШИЙ(…;0) и далее вернет ошибку, которую мы скроем условным форматированием.
И наконец, с помощью функции ИНДЕКС() последовательно выведем наши значения из соответствующих позиций: =ИНДЕКС(A$11:A$19;5) вернет Товар2, =ИНДЕКС(A$11:A$19;6) вернет Товар2, =ИНДЕКС(A$11:A$19;7) вернет Товар3.
10. Отбор значений с учетом повторов
В разделе Отбор на основании повторяемости собраны статьи о запросах с группировкой данных. Из повторяющихся данных сначала отбираются уникальные значения, а соответствующие им значения в других столбцах — группируются (складываются, усредняются и пр.).
- Наиболее популярные статьи из этого раздела:
- Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
- Отбор уникальных значений с суммированием по соседнему столбцу в MS EXCEL
- Отбор повторяющихся значений в MS EXCEL
- Отбор уникальных значений из двух диапазонов в MS EXCEL
- Отбор уникальных СТРОК с помощью Расширенного фильтра в MS EXCEL
- В качестве примера приведем решения следующей задачи: Выбрать Товары, цена которых лежит в определенном диапазоне и повторяется заданное количество раз или более.
- В качестве исходной возьмем таблицу партий товаров.
Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).
- Решением является формула массива:
- =НАИМЕНЬШИЙ(СТРОКА($A$14:$A$27)*($C$14:$C$27>=$B$7)*($C$14:$C$27=$B$10);F14+($G$8-$G$9))
- Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
- Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27=$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.
В файле примера на листе «10.Критерий — колич-во повторов» настроено Условное форматирование, которое позволяет визуально определить строки удовлетворяющие критериям, а также скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!
11. Используем значение критерия (Любой) или (Все)
В фильтре Сводных таблиц MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в выпадающем списке значений критерия содержится особое значение, которое отменяет сам критерий (см. статью Отчеты в MS EXCEL, Отчет №3).
В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.
Формула в этом случае должна содержать функцию ЕСЛИ(). Если выбрано значение (Все), то используется формула для вывода значений без учета данного критерия. Если выбрано любое другое значение, то критерий работает обычным образом.
- =ЕСЛИ($C$8=»(Все)»;НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8);F13+($G$6-$G$7));
- НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8)*($C$13:$C$26=$C$8);F13+($G$6-$G$7)))
- Остальная часть формулы аналогична рассмотренным выше.
Источник: https://excel2.ru/articles/zapros-na-vyborku-dannyh-formuly-v-ms-excel
Excel выборка данных из таблицы
Смотрите также новый формат. Чтобы выпадающего списка. НамЗадача №2 – выбрать строка таблицы будет из таблицы (например, своеобразный отчет, который. условным форматированием. Установим.
в позицию положение результатов, которые удовлетворяют со строки 11) этого События: ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»): После ввода формулы вместо которая возвращает несколько
Суть запроса на выборку формат присваивался для нужны все Фамилии из исходной таблицы на 5 меньше текстовых), из которых можно форматировать вАктивируется окно настройки сортировки. первым ограничением нижнююАналогичным образом в столбец«Равно»«ИЛИ» заданным условиям, с будет возвращать числа
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
- Функция НАИМЕНЬШИЙ() сортирует клавиши ENTER (ВВОД) значений, то можно – выбрать из целой строки, а клиентов из столбца
товары, которые поступили чем соответственная строка функция ИНДЕКС выберет стиль отличный от Обязательно устанавливаем галочку границу отбора по
с выручкой вписываем. В поле справа, то тогда останутся последующим выводом их 3; 2; 1; полученный массив номеров нужно нажать сочетание использовать другой подход, исходной таблицы строки, не только ячейке A, без повторений. в продажу 20.09.2015. листа.
одно результирующие значение. исходной таблицы. В
напротив параметра выручке в 15000 формулу следующего содержания: от него вписываем значения, которые подходят на листе отдельным 0; -1; -2; строк: первыми идут клавиш CTRL+SHIFT+ENTER. Это который рассмотрен в удовлетворяющие определенным критериям в столбце A,
Перед тем как выбрать То есть критерийПосле того как будут Аргумент «диапазон» означает этот отчет можно«Мои данные содержат заголовки» рублей, а вторым=ИНДЕКС(C2:C29;НАИМЕНЬШИЙ(ЕСЛИ(15000
слово под любое из списком или в … Формула НАИБОЛЬШИЙ(…;3) вернет номера строк Событий,
- сочетание клавиш используется разделах ниже: 5.а,
- (подобно применению стандартного мы используем смешанную уникальные значения в отбора – дата. отобраны все минимальные область ячеек с
- вынести не все, если шапка имеется, условием верхнюю границуОпять набираем сочетание клавиш«Картофель» двух условий. В
исходном диапазоне. число 5, НАИБОЛЬШИЙ(…;2) вернет
которые удовлетворяют критерию; для ввода формул 7, 10 и Фильтра). Произведем отбор значений ссылку в формуле Excel, подготовим данные Для удобства искомую значения и сопоставлены
числовыми значениями, из столбцы, а только а галочки нет. в 20000 рублей.Ctrl+Shift+Enter. Переключатель нижнего блока нашем случае нужно
Наиболее простым способом произвести число 6, НАИБОЛЬШИЙ(…;1) вернет- Функция ИНДЕКС() выводит массива. 11. В этих из исходной таблицы
=$A4. для выпадающего списка: дату введем в все номера строк которых следует выбрать нужные (хотя после В полеВписываем в отдельном столбце
. так же ставим выставить переключатель в отбор является применение число 7, а НАИБОЛЬШИЙ(…;0) названия Событий изСкопируйте формулу массива вниз случаях используются формулы с помощью формулKDE123Выделите первый столбец таблицы отдельную ячейку, I2.
2. Два числовых критерия (Выбрать те Товары, у которых цена попадает в диапазон)
таблицы функция МИН первое наименьшее число. применения фильтра ненужные«Сортировать по» граничные условия для
Во всех трех случаях в позицию положение расширенного автофильтра. Рассмотрим, и далее вернет
указанный строк. на нужное количество массива, возвращающие одно массива. В отличие: Помогите, пожалуйста! A1:A19.
Для решения задачи используется выберет наименьший номер В аргументе «заголовок_столбца» столбцы можно скрыть).указываем наименование того выборки. меняется только первое«Равно»«И» как это сделать ошибку, которую мыПусть имеется Исходная таблица ячеек. Формула вернет
значение. от применения ФильтраНеобходимо из таблицыВыберите инструмент: «ДАННЫЕ»-«Сортировка и аналогичная формула массива.
- строки. Эта же для второй функцииОсновной недостаток – сложность
- столбца, в котором
Как и в предыдущем значение координат, а. В поле напротив, то есть, оставить на конкретном примере.
- скроем условным форматированием. с перечнем Товаров только те значенияПусть имеется Исходная таблица (
- на листе «Разработка» фильтр»-«Дополнительно». Только вместо критерия
- строка будет содержать
- СТРОКА, следует указать реализации трехуровневого Связанного содержатся скопированные значения способе, поочередно выделяем в остальном формулы него делаем запись данную настройку поВыделяем область на листе,
И наконец, с помощью и Датами поставки Товаров, которые были с перечнем ТоваровCTRL+SHIFT+L выбрать строки дляВ появившемся окне «Расширенный }. первое наименьшее число, ссылку на ячейку
списка. Но, единожды случайных чисел. В пустые столбцы новой полностью идентичны. – умолчанию. После того, среди данных которой функции ИНДЕКС() последовательно
(см. файл примера, поставлены в диапазоне и Ценами (см.или Данные/ Сортировка которых состояние «Вып» фильтр» включите «скопироватьПодобные формулы вводятся и которое встречается в
с заголовком столбца, его создав и поле таблицы и вписываем
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
- Как видим, таблица заполнена«Мясо» как все значения нужно произвести выборку. выведем наши значения лист 2 критерия
- указанных дат. В файл примера, лист и фильтр/ Фильтр)
- и дата разработки
- результат в другое
4. Два критерия Дата (Выбрать те Товары, у которых Дата поставки попадает в диапазон)
- в другие столбцы столбце B6:B18. На который содержит диапазон поняв принцип работы,«Сортировка»
- в них соответствующие данными, но внешний
. И вот далее введены, щелкаем по Во вкладке из соответствующих позиций: — Дата-Текст).
остальных ячейках будут Диапазон Чисел). отобранные строки будут
находится в пределах место», а в
(принцип см. выше).
основании этого номера числовых значений. этот недостаток воставляем настройки по три формулы. В вид её не мы выполняем то, кнопке
«Главная» =ИНДЕКС(A$11:A$19;5) вернет Товар2, =ИНДЕКС(A$11:A$19;6) вернет Товар2, =ИНДЕКС(A$11:A$19;7) вернет Товар3.
В отличие от Задачи содержаться ошибки #ЧИСЛО!Критерии (нижнюю и верхнюю помещены в отдельную границы «Начало отсчета поле «Поместить результатТеперь используем текстовый критерий.
строки функции ИНДЕКСЕстественно эту формулу следует достаточной мере компенсируется. умолчанию. В поле
- первый столбец вносим совсем привлекателен, к чего ранее не
- «OK»щелкаем по кнопкеВ разделе Отбор на 5 будем отбирать Ошибки в файле примера
- границы цены) разместим
- таблицу. — Конец отсчета» в диапазон:» укажите
- Вместо даты в выберет соответствующее значение выполнять в массиве.Алгоритм создания запроса на«Порядок» следующее выражение:
- тому же, значения
- делали: устанавливаем переключатель
.«Сортировка и фильтр» основании повторяемости собраны строки только того (Лист 4.Диапазон Дат) скрыты в диапазонеВ этой статье рассмотрим
(Столбец L). Выбранные $F$1. ячейку I2 введем из таблицы A6:A18. Поэтому для подтверждения
- выборку следующий:можно выбрать параметр=ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(($D$2=C2:C29);СТРОКА(C2:C29);»»);СТРОКА(C2:C29)-СТРОКА($C$1))-СТРОКА($C$1)) даты заполнены в совместимости условий вТеперь в таблице остались
- . Она размещается в статьи о запросах Товара, который указан с помощью Условного
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
- Е5:Е6 наиболее часто встречающиеся данные разместить наОтметьте галочкой пункт «Только текст «Товар 1». В итоге формула ее ввода следует
- ШАГ 1 какВ последующие колонки вписываем ней некорректно. Нужно
- позицию
только строчки, в блоке настроек с группировкой данных. в критерии. Список форматирования..
запросы, например: отбор новом листе. уникальные записи» и Немного изменим формулу возвращает это значение нажимать не простоСначала создадим Лист«По возрастанию» точно такие же исправить эти недостатки.«ИЛИ»
5а. Один критерий Дата (Выбрать События, которые Закончились/ не начались/ происходят на заданную дату)
которых сумма выручки«Редактирование» Из повторяющихся данных
дат должен бытьАналогичную формулу нужно ввестиТ.е. если Цена Товара строк таблицы, уХотелось бы все нажмите ОК. массива: {}. в ячейку B3
- клавишу Enter, аСписки, так и формулы, только изменив Некорректность даты связана. Теперь строчка, содержащая не меньше 10000
- . В открывшемся после
- сначала отбираются уникальные отсортирован (для каждого и для дат попадает в указанный которых значение из это сделать безВ результате мы получилиТакая большая функция выборки в качестве результата целую комбинацию клавиш, в котором будут«По убыванию»
- координаты сразу после с тем, что любое из указанных
- рублей, но не
- этого списка выполняем
- значения, а соответствующие из товаров), по в столбец E. интервал, то такая
числового столбца попадает макросов. список данных с в Excel. вычисления.
CTRL+SHIFT+Enter. Если все содержаться перечень дирекций. Для случайной выборки
6. Два критерия: Дата и Текст (Выбрать Товары определенного вида, у которых Дата поставки не позже заданной)
- наименования оператора формат ячеек соответствующего условий, будет выводиться превышает 15000 рублей.
щелчок по кнопке им значения в
- товару сортировка неВ ячейке запись появится в в заданный диапазонАлексей К уникальными значениями (фамилииПоняв принцип действия формулы, сделано правильно в и названия отделов
- это значения неИНДЕКС столбца общий, а на экран. Щелкаем
- Аналогично можно настраивать фильтры«Фильтр»
- других столбцах -
требуется.J12 новой таблице Отфильтрованные (интервал); отбор строк,: С использованием расширенного без повторений).Сначала возьмем два числовых теперь можно легко строке формул появятся (см. файл примера). имеет. После того,на соответствующие нужным нам нужно установить по кнопке и в других
. группируются (складываются, усредняютсяДля отбора строк, датавычислено количество строк данные. у которых дата фильтра во вложении.
7. Один Текстовый критерий (Выбрать Товары определенного вида)
критерия: ее модифицировать и фигурные скобки.Перечень дирекций (столбец как настройки произведены, нам столбцам, по
формат даты. Выделяем«OK» столбцах. При этомЕсть возможность поступить и и пр.). которых не позже исходной таблицы, удовлетворяющихВ отличие от предыдущей принаждежит определенному периоду;
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
- KDE123Теперь нам необходимо немногоЗадача – отобрать товары, настраивать под другиеОбратите внимание ниже наА
- жмем на кнопку аналогии с предыдущим
- весь столбец, включая.
- имеется возможность сохранять по-другому. Для этогоНаиболее популярные статьи из
- (включая саму дату), критериям: задачи создадим два задачи с 2-мя
9. Два Текстовых критерия (Выбрать Товары определенных видов)
: Здорово! Спасибо! модифицировать нашу исходную которые стоят меньше условия. Например, формулу рисунок, где в) будет извлекаться формулой
- «OK» способом. ячейки с ошибками,Как видим, в новой
- также фильтрацию и после выделения области
- этого раздела: используется формула массива:
=СЧЁТЕСЛИМН(B12:B20;»>=»&$E$6;B12:B20;» Динамических диапазона: Товары текстовыми критериями иПоясни как работает. таблицу. Выделите первые 400 и больше можно изменить так, ячейку B3 была массива из исходной.
Каждый раз после ввода и кликаем по выборке существуют ограничения по предыдущим условиям, на листе перемещаемсяОтбор уникальных значений (убираем=ИНДЕКС(A13:A21;Строки исходной таблицы, которые и Цены (без
другие. Начнем с Как обновить результаты 2 строки и 200 рублей.
Объединим чтобы выбрать первое введена данная формула таблицы с перечнемПосле этого все значения не забываем набирать выделению правой кнопкой по дате (с которые были заданы во вкладку повторы из списка)НАИМЕНЬШИЙ(ЕСЛИ(($E$7=$A$13:$A$21)*($E$8>=$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) удовлетворяют критериям, выделены также них можно обойтись, простых запросов. отбора, изменив критерии выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Вставить» условия знаком «*».
максимальное значение в в массиве: сотрудников: таблицы выстраиваются в сочетание клавиш
10. Отбор значений с учетом повторов
Источник: https://my-excel.ru/tablicy/excel-vyborka-dannyh-iz-tablicy.html
Как упростить выборку данных из нескольких однотипных отчетов в Excel
На руках несколько отчетов об оплатах поставок. Каждый представляет собой отдельный файл с таблицей, содержащей информацию о поквартальной динамике расчетов с конкретным поставщиком в разные периоды.
Допустим, нужно уточнить, сколько заплатили определенному контрагенту в одном из кварталов прошедшего года.
Чтобы упростить поиск и выборку таких значений, создадим еще один файл в Excel, в который скопируем все исходные однотипные таблицы из одиночных файлов.
В новом файле будет три вида листов. Первый предназначен для оглавления. Второй – рабочий, именно здесь будут задаваться параметры поиска и выводиться искомое значение. Для примера, результат выборки сумм оплат за IV квартал одному из трех контрагентов – компании «Гурман» приведен на рисунке 1.
Что касается третьей группы листов, здесь размещается вся исходная информация в однотипных таблицах (одинаковая структура, порядок размещения данных, единые единицы измерения). В нашем случае – те самые отчеты об оплатах поставщикам (по одному листу-таблице для каждого контрагента).
Количество таких листов должно соответствовать количеству однотипных таблиц, участвующих в выборке.
Рисунок 1. Рабочий лист Скачать
Создаем лист «Оглавление книги». Здесь нужно будет перечислить имена листов с исходными данными. Имена вносятся вручную начиная с ячейки А3.
- Например, для трех контрагентов это может выглядеть как на рисунке 2.
- Рисунок 2. Оглавление
Далее каждой исходной таблице необходимо присвоить имя, соответствующее названию листа. Для этого ее нужно выделить, нажать правую кнопку мыши, выбрать из появившегося контекстного меню пункт «Имя диапазона», ввести название и нажать «ОК». Например, это может выглядеть как на рисунке 3. Лист исходных данных.
- Рисунок 3. Лист исходных данных
- Кстати, имя таблице можно назначить, воспользовавшись вкладкой меню «Формулы» – в группе «Определенные имена» выбрать «Диспетчер имен» (аналогично комбинации клавиш Ctrl + F3), далее – «Создать», ввести название и нажать «ОК».
По той же схеме назначается имя «Поставщик» диапазону на листе «Оглавление книги» с перечислением названий исходных листов. Например, на рисунке 4 это диапазон «А3:А5», рассчитанный на трех контрагентов.
Рисунок 4. Название пунктов оглавления
Остается на рабочем листе создать блок для ввода параметров поиска. Допустим, их будет два: поставщик и квартал. Нет смысла вводить имя поставщика вручную, когда потребуется найти по нему информацию. Ведь даже незаметная глазу опечатка приведет к ошибкам выборки.
Пользователю будет удобнее, если он сможет указать наименование нужного контрагента в заданном списке. Для создания такого списка выбираем в меню вкладку «Данные», группу «Работа с данными», далее – «Проверка данных», тип данных «Список», в поле «Источник» вводим ранее заданное имя «Поставщик» (например, на рисунке 5.
Создание перечня поставщиков показано, как этот список создается в ячейке В1).
Рисунок 5. Создание перечня поставщиков
Для параметра «Период» также создается раскрывающийся список, но возможные значения вводятся вручную через точку с запятой в соответствующей ячейке: I;II;III;IV. Например, на рисунке 6. Создание списка периодов отражено, как такой список готовится в ячейке В3.
Рисунок 6. Создание списка периодов
Наконец задается формула, которая будет искать нужные данные по заданным параметрам. Она вводится в ячейку, в которой они должны отражаться. Например, на рисунке 7. Ввод формулы, связующей условия выборки данных это ячейка В5, а формула выглядит так: «=ВПР($B$3;ДВССЫЛ($B$1);2;ЛОЖЬ)», где:
Рисунок 7. Ввод формулы, связующей условия выборки данных
Сергей Изотов, руководитель направления финансовой и нематериальной мотивации персонала ГК «Блок»
При выборке по данным из десятков контрагентов рабочий файл Excel следует дополнить специальным макросом.
Для этого нужно открыть редактор Visual Basic Editor (комбинация клавиш «Alt+F11» или кликнуть правой кнопкой мыши на ярлык любого листа и выбрать «Исходный текст» или же в группе «Код» вкладки меню «Разработчик» щелкнуть по пункту «Visual Basic») и вставить в проект стандартный модуль. А в этот модуль добавить два кода программы (см. рисунок 8. Код программы) – ListSheet и NameAdded.
Рисунок 8. Код программы
С помощью макроса ListSheet на листе «Оглавление книги» создается список, состоящий из гиперссылок на листы с исходными данными (см. перечень контрагентов в оглавлении книги). Текст макроса выглядит так:
Поскольку оглавление по умолчанию формируется из всех листов файла (по порядку, слева направо), а нужно первые два по порядку – «Оглавление книги» и «Рабочий лист» – в нем пропустить, предпоследней строкой программы удаляются данные из диапазона ячеек A1:A2, куда попадут названия этих служебных листов («Sheets(«Оглавление книги»).Range(«A1:A2»).ClearContents»).
Макрос NameAdded присваивает таблицам с исходными значениями имена, соответствующие названиям листов, на которых они расположены. Внимание! Последние не должны содержать пробелов.
Это условие позволяет исключить распространение действия макроса на листы «Оглавление книги» и «Рабочий лист».
Кстати, при попытке присвоить имя макрос проверяет, есть ли в названии листа пробел: если да – это признается ошибкой, которая удаляется (строка 13 Err.Clear).
Сам макрос приведен ниже:
При копировании кода второй программы следует учесть несколько моментов. А именно какие строки можно менять при использовании для нужд другой компании. В частности, четвертая строка (nm.
Delete) удаляет ранее существующие имена исходных таблиц, пятая (Next nm) означает переход к следующему имени. В седьмой строке в переменную «sAlert» записываются названия листов, которые не могут быть использованы в именах, например, первые два листа: «Оглавление книги» и «Рабочий лист».
В 10 строке (Names.Add Name:=wks.Name, RefersTo:=wks.Range) указывается диапазон, которому следует присвоить имя.
В строке 17 (MsgBox) выводятся названия листов, которые не могут быть использованы в именах. В строке 18 (Names.Add Name:=»Поставщик», RefersTo:=Range («’Оглавление книги) указывается диапазон ячеек, из которых формируется список оглавления. Например, это может быть диапазон A3:A5.
Запустить оба кода программы можно нажатием сочетания клавиш «Alt+F8» или в окне «Макрос» выбрать макросы по названию и нажать кнопку «Выполнить».
В результате работы макросов получится готовый к работе файл.
Источник: https://www.fd.ru/recommend/2351-kak-uprostit-vyborku-dannyh-iz-neskolkih-odnotipnyh-otchetov-s-pomoshchyu-excel
Самый быстрый ВПР
Если в ваших таблицах всего лишь несколько десятков строк, то, скорее всего, эта статья не будет для вас актуальной. На таких небольших объемах данных любой способ будет работать достаточно шустро, чтобы вы этого не замечали. Если же число строк в ваших списках измеряется тысячами, да и самих таблиц не одна-две, то время мучительного ожидания на пересчете формул в Excel может доходить до нескольких минут.
В этом случае, правильный выбор функции, применяемой для связывания таблиц, играет решающую роль — разница в производительности между ними, как мы увидим далее, может составлять более 20 раз!
Когда я писал свою первую книжку пять лет назад, то уже делал сравнительный скоростной тест различных способов поиска и подстановки данных функциями ВПР, ИНДЕКС+ПОИСКПОЗ, СУММЕСЛИ и др. С тех пор сменилось три версии Office, появились надстройки Power Query и Power Pivot, кардинально изменившие весь процесс работы с данными. А в прошлом году ещё и обновился вычислительный движок Excel, получив поддержку динамических массивов и новые функции ПРОСМОТРХ, ФИЛЬТР и т.п.
Так что пришла пора снова взяться за секундомер и выяснить — кто же самый быстрый. Ну и, заодно, проверить — какие способы поиска и подстановки данных в Excel вы знаете 🙂
Подопытный кролик
Тест будем проводить на следующем примере:
Это книга Excel с одним листом, где расположены две таблицы: отгрузки (500 000 строк) и прайс-лист (600 строк). Наша задача — подставить цены из прайс-листа в таблицу отгрузок. Для каждого способа будем вводить формулу в ячейку С2 и копировать вниз на весь столбец, замеряя время, которое потребуется Excel, чтобы просчитать весь столбец из полумиллиона ячеек. Полученные значения, безусловно, зависят от множества факторов (поколение процессора, объем оперативной памяти, текущая загрузка системы, версия Office и т.д.), но нам важны не конкретные цифры, а, скорее, их сравнение друг с другом. Важно понимать прожорливость каждого способа и их ограничения.
Способ 1. ВПР
Сначала — классика 🙂 Легендарная функция вертикального просмотра — ВПР (VLOOKUP) , которая приходит в голову первой в подобных ситуациях:
- B2 — искомое значение, т.е. название товара, который мы хотим найти в прайс-листе
- $G$2:$H$600 — закреплённая знаками доллара (чтобы не сползала при копировании формулы вниз) абсолютная ссылка на прайс
- 2 — номер столбца в прайс-листе, откуда мы хотим взять цену
- 0 или ЛОЖЬ — переключение в режим поиска точного соответствия, когда любое некорректное название товара (например, ФОНЕРА) в столбце B в таблице отгрузок приведёт к появлению ошибки #Н/Д как результата работы функции.
Время вычисления = 4,3 сек.
Способ 2. ВПР с выделением столбцов целиком
Многие пользователи, применяя ВПР, во втором аргументе этой функции, где нужно задать поисковую таблицу (прайс), выделяют не ограниченный диапазон ( $G$2:$H$600 ), а сразу столбцы G:H целиком. Это проще, быстрее, позволяет не думать про F4 и то, что завтра прайс-лист может быть на несколько строк больше. Формула в этом случае выглядит тоже компактнее:
В старых версиях Excel такое выделение не сильно влияло на скорость вычислений, но сейчас (неожиданно для меня, признаюсь) результат получился в разы хуже предыдущего.
Время вычисления = 14,5 сек.
Способ 3. ИНДЕКС и ПОИСКПОЗ
Следующей после ВПР ступенью эволюции для многих пользователей Microsoft Excel обычно является переход на использование связки функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) . Выглядит эта формула так:
Функция ИНДЕКС извлекает из заданного в первом аргументе диапазона (столбца $H$2:$H$600 с ценами в прайс-листе) содержимое ячейки с заданным номером. А номер этот, в свою очередь, определяется функцией ПОИСКПОЗ, у которой три аргумента:
- Что нужно найти — название товара из B2
- Где мы это ищем — столбец с названиями товаров в прайсе ( $G$2:$G$600 )
- Режим поиска: 0 — точный, 1 или -1 — приблизительный с округлением в меньшую или большую сторону, соответственно.
Формула выходит чуть сложнее, но, при этом имеет несколько ощутимых преимуществ перед классической ВПР, а именно:
- Не нужно отсчитывать номер столбца (как в третьем аргументе ВПР).
- Можно извлекать данные, которые находятся левее столбца, где просходит поиск.
По скорости, однако же, этот способ проигрывает ВПР почти в два раза:
Время вычисления = 7,8 сек.
Если же, вдобавок, полениться и выделять не ограниченные диапазоны, а столбцы целиком:
. то результат получается совсем печальный:
Время вычисления = 28,5 сек.
28 секунд, Карл! В 6 раз медленнее ВПР!
Способ 4. СУММЕСЛИ
Если нужно найти не текстовые, а именно числовые данные (как в нашем случае — цену), то вместо ВПР вполне можно использовать функцию СУММЕСЛИ (SUMIF) . Изначально она задумывалась как инструмент для выборочного суммирования данных по условию (найди и сложи мне все продажи кабелей, например), но можно заставить её искать нужный нам товар и в прайс-листе. Если грузы в нём не повторяются, то суммировать будет не с чем и эта функция просто выведет искомое значение:
- Первый аргумент СУММЕСЛИ — это диапазон проверяемых ячеек, т.е. названия товаров в прайсе ( $G$2:$G$600 ).
- Второй аргумент ( B2 ) — что мы ищем.
- Третий аргумент — диапазон ячеек с ценами $H$2:$H$600 , числа из которых мы хотим просуммировать, если в соседних ячейках проверяемого диапазона есть искомое значение.
Очевидным минусом такого подхода является то, что он работает только с числами. Также этот способ не удобен, если прайс-лист находится в отдельном файле — придется всё время держать его открытым, т.к. функция СУММЕСЛИ не умеет брать данные из закрытых книг, в отличие от ВПР, для которой это не проблема.
В плюсы же можно записать удобство при поиске сразу по нескольким столбцам — для этого идеально подходит более продвинутая версия этой функции — СУММЕСЛИМН (SUMIFS) . Скорость вычислений же, при этом, весьма посредственная:
Время вычисления = 12,8 сек.
При выделении столбцов целиком, т.е. использовании формулы вида =СУММЕСЛИ( G:G ; B2 ; H:H ) всё ещё хуже:
Время вычисления = 41,7 сек.
Это самый плохой результат в нашем тесте.
Способ 5. СУММПРОИЗВ
Этот подход сейчас встречается не часто, но всё ещё достаточно регулярно. Обычно так любят извращаться пользователи старой школы, ещё хорошо помнящие те времена, когда в Excel было всего 255 столбцов и 56 цветов 🙂
Суть этого метода заключается в использовании функции СУММПРОИЗВ (SUMPRODUCT) , изначально предназначенной для поэлементного перемножения нескольких диапазонов с последующим суммированием полученных произведений. В нашем случае, вместо одного из массивов будет выступать условие, а вторым будут цены:
Выражение ($G$2:$G$600=B2) , по сути, проверяет каждое название груза в прайс-листе на предмет соответствия искомому значению (ФАНЕРА ПР). Результатом каждого сравнения будет логическое значение ИСТИНА (TRUE ) или ЛОЖЬ (FALSE) , что в Excel интерпретируется как 1 и 0, соответственно. Последующее умножение этих нулей и единиц на цены оставит в живых цену только того товара, который нам, в данном случае, и нужен.
Эта формула является, по сути, формулой массива, но не требует нажатия обычного для них сочетания клавиш Ctrl + Shift + Enter , т.к. функция СУММПРОИЗВ поддерживает массивы уже сама по себе. Возможно, по этой же причине (формулы массива всегда медленнее, чем обычные) такой скорость пересчёта такой формулы — не очень:
Время вычисления = 11,8 сек.
- Совместимость с любыми, самыми древними версиями Excel.
- Возможность задавать сложные условия (и несколько)
- Способность этой формулы работать с данными из закрытых файлов, если добавить перед ней двойное бинарное отрицание (два подряд знака «минус»). СУММЕСЛИМН таким похвастаться не может.
Способ 6. ПРОСМОТР
Ещё один относительно экзотический способ поиска и подстановки данных, наравне с ВПР — это использование функции ПРОСМОТР (LOOKUP) . Только не перепутайте её с новой, буквально, на днях появившейся функцией ПРОСМОТРХ (XLOOKUP) — про неё мы поговорим дальше особо. Функция ПРОСМОТР существовала в Excel начиная с самых ранних версий и тоже вполне может решить нашу задачу:
- B2 — название груза, которое мы ищем
- $G$2:$G$600 — одномерный диапазон-вектор (столбец или строка), где мы ищем совпадение
- $H$2:$H$600 — такого же размера диапазон, откуда нужно вернуть найденный результат (цену)
На первый взгляд всё выглядит очень удобно и логично, но всю картину портят два неочевидных момента:
- Эта функция требует обязательной сортировки прайс-листа по возрастанию (алфавиту) и без этого не работает.
- Если в таблице отгрузок искомое значение будет написано с опечаткой (например, АГ Е ДОЛ вместо АГИДОЛ), то функция ПРОСМОТР выдаст не ошибку #Н/Д, а цену для ближайшего предыдущего товара:
При работе с неидеальными данными в реальном мире это гарантированно создаст проблемы, как вы понимаете.
Скорость же вычислений у функции ПРОСМОТР (LOOKUP) весьма приличная:
Время вычисления = 7,6 сек.
Способ 7. Новая функция ПРОСМОТРХ
Эта функция пришла с одним из недавних обновлений пока только пользователям Office 365 и пока отсутствует во всех остальных версиях (Excel 2010, 2013, 2016, 2019). По сравнению с классической ВПР у этой функции есть масса преимуществ (упрощенный синтаксис, возможность искать не только сверху-вниз, возможность сразу задать значение вместо #Н/Д и т.д.) Формула для решения нашей задачи будет выглядеть в этом случае так:
Если не брать в расчёт необязательные 4,5,6 аргументы, то синтаксис этой функции полностью совпадает с её предшественником — функцией ПРОСМОТР (LOOKUP) . Скорость вычислений при тестировании на наши 500000 строк тоже оказалась аналогичной:
Время вычисления = 7,6 сек.
Почти в два раза медленнее, чем у ВПР, вместо которой Microsoft предлагает теперь использовать ПРОСМОТРХ. Жаль.
И, опять же, если полениться и выделить диапазоны в прайс-листе целыми столбцами:
. то скорость падает до совершенно неприличных уже значений:
Время вычисления = 28,3 сек.
А если на динамических массивах?
Прошлогоднее (осень 2019) обновление вычислительного движка Microsoft Excel добавило ему поддержку динамических массивов (Dynamic Arrays), о которых я уже писал. Это принципиально новый подход к работе с данными, который можно использовать почти с любыми классическими функциями Excel. На примере ВПР это будет выглядеть так:
Разница с классическим вариантом в том, что первым аргументом ВПР здесь выступает не одно искомое значение (а формулу потом нужно копировать вниз на остальные строки), а сразу весь массив из полумиллиона грузов B2:B500000, цены для которых мы хотим найти. Формула при этом сама распространяется вниз, занимая требуемое количество ячеек.
Скорость пересчета в таком варианте меня, откровенно говоря, ошеломила — пауза между нажатием на Enter после ввода формулы и получением результатов почти отсутствовала.
Время вычисления = 1 сек.
Что интересно, и новая ПРОСМОТРХ, и старая ПРОСМОТР, и связка ИНДЕКС+ПОИСКПОЗ в таком режиме тоже были очень быстрыми — время вычислений не больше 1 секунды! Фантастика.
А вот олдскульные подходы на основе СУММПРОИЗВ и СУММЕСЛИ(МН) с динамическими массивами работать отказались 🙁
Что с умными таблицами?
Обрадовавшись фантастическим результатам, полученным на динамических массивах, я решил вдогон попробовать протестировать разницу в скорости при работе с обычными и «умными» таблицами. Я имею ввиду те самые «красивые таблицы», в которые вы можете преобразовать ваш диапазон с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .
Если предварительно превратить наши отгрузки и прайс в «умные» (по умолчанию они получат имена Таблица1 и Таблица2, соответственно), то формула с той же ВПР будет выглядеть как:
- [@Груз] — ссылка на ячейку B2, означающая, в данном случае, что нужно взять значение из той же строки из столбца Груз текущей умной таблицы.
- Таблица2 — ссылка на прайс-лист
Жирным плюсом такого подхода будет возможность легко добавлять данные в наши таблицы в будущем. При дописывании новых строк в отгрузки или к прайс-листу, наши «умные» таблицы будут растягиваться автоматически.
Скорость же, как выяснилось, тоже вырастает очень значительно и примерно равна скорости работы на динамических массивах:
Время вычисления = 1 сек.
У меня есть подозрение, что дело тут не в самих «умных» таблицах, а всё в том же обновлении вычислительного движка, т.к. на старых версиях Excel такого прироста в скорости на умных таблицах я не помню.
Бонус. Запрос Power Query
Замерять, так замерять! Давайте, для полноты картины, сравним наши перечисленные способы еще и с запросом Power Query, который тоже может решить нашу задачу. Кто-то скажет, что некорректно сравнивать пересчёт формул с механизмом обновления запроса, но мне, откровенно говоря, просто самому было интересно — кто быстрее?
- Превращаем обе наши таблицы в «умные» с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .
- По очереди загружаем таблицы в Power Query с помощью команды Данные — Из таблицы / диапазона (Data — From Table/Range) .
- После загрузки в Power Query возвращаемся обратно в Excel, оставляя загруженные данные как подключение. Для этого в окне Power Query выбираем Главная — Закрыть и загрузить — Закрыть и загрузить в. — Только создать подключение (Home — Close&Load — Close&Load to. — Only create connection) .
- После того, как обе исходные таблицы будут загружены как подключения, создадим ещё один, третий запрос, который будет объединять их между собой, подставляя цены из прайса в отгрузки. Для этого на вкладке Данные выберем Получить данные / Создать запрос — Объединить запросы — Объединить (Get Data / New Query — Merge queries — Merge) :
В отличие от формул, запросы Power Query не обновляются автоматически «на лету», а требуют щелчка правой кнопкой мыши по таблице (или запросу в правой панели) и выбору команды Обновить (Refresh) . Также можно воспользоваться командой Обновить все (Refresh All) на вкладке Данные (Data) .
Время обновления = 8,2 сек.
Итоговая таблица и выводы
Если вы честно дочитали до этого места, то какие-то выводы, наверное, уже сделали самостоятельно. Если же пропустили все детали и сразу перешли к итогам, то вот вам общая результирующая таблица по скорости всех методов:
Само-собой, у каждого из нас свои предпочтения, задачи и тараканы, но для себя я сформулировал выводы после этого тестирования так:
ВПР с несколькими условиями: 5 примеров.
Очень часто наши требования к поиску данных не ограничиваются одним условием. К примеру, нам нужна выручка по магазину за определенный месяц, количество конкретного товара, проданного определенному покупателю и т.д. Обычными средствами функции ВПР эту задачу решить сложно и даже не всегда возможно. Ведь там предусмотрено использование только одного критерия поиска.
Мы предложим вам несколько вариантов решения проблемы поиска по нескольким условиям.
ВПР по нескольким условиям с использованием дополнительного столбца.
Задачу, рассмотренную в предыдущем примере, можно решить и другим способом – без использования формулы массива. Ведь работа с массивами многим представляется сложной и недоступной для понимания. Дополнительный столбец для поиска по нескольким условиям будет в определенном отношении более простым вариантом.
Итак, необходимо выбрать значение выручки за определенный месяц, год и по нужному магазину. В итоге имеем 3 условия отбора.
Сразу по трем столбцам функция ВПР искать не может. Поэтому нам нужно объединить их в один. И, поскольку поиск производится всегда в крайнем левом (первом) столбце, то нужно добавить его в нашу таблицу тоже слева.
Вставляем перед таблицей с данными дополнительный столбец A. Затем при помощи оператора & объединяем в нем содержимое B,C и D. Записываем в А7
и копируем в находящиеся ниже ячейки.
Формула поиска в D4 будет выглядеть:
В диапазон поиска включаем и наш дополнительный столбец. Критерий поиска – также объединение 3 значений. И извлекаем результат из 5 колонки.
Все работает, однако вид несколько портит дополнительный столбец. В крайнем случае, его можно скрыть, используя контекстное меню по нажатию правой кнопки мыши.
Вид станет приятнее, а на результаты это никак не повлияет.
ВПР по двум условиям при помощи формулы массива.
У нас есть таблица, в которой записана выручка по каждому магазину за день. Мы хотим быстро найти сумму продаж по конкретному магазину за определенный день.
Для этого в верхней части нашего листа запишем критерии поиска: дата и магазин. В ячейке B3 будем выводить сумму выручки.
Формула в B3 выглядит следующим образом:
Обратите внимание на фигурные скобки, которые означают, что это формула массива. То есть наша функция ВПР работает не с отдельными значениями, а разу с массивами данных.
Разберем процесс подробно.
Мы ищем дату, записанную в ячейке B1. Но вот только разыскивать мы ее будем не в нашем исходном диапазоне данных, а в немного видоизмененном. Для этого используем условие
То есть, в том случае, если наименование магазина совпадает с критерием в ячейке B2, мы оставляем исходные значения из нашего диапазона. А если нет – заменяем их на пробелы. И так по каждой строке.
В результате получим вот такой виртуальный массив данных на основе нашей исходной таблицы:
Как видите, строки, в которых ранее был «Магазин 1», заменены на пустые. И теперь искать нужную дату мы будем только среди информации по «Магазин 2». И извлекать значения выручки из третьей колонки.
С такой работой функция ВПР вполне справится.
Такой ход стал возможен путем применения формулы массива. Поэтому обратите особое внимание: круглые скобки в формуле писать руками не нужно! В ячейке B3 вы записываете формулу
И затем нажимаете комбинацию клавиш CTRL+Shift+Enter. При этом Excel поймет, что вы хотите ввести формулу массива и сам подставит скобки.
Таким образом, функция ВПР поиск по двум столбцам производит в 2 этапа: сначала мы очищаем диапазон данных от строк, не соответствующих одному из условий, при помощи функции ЕСЛИ и формулы массива. А затем уже в этой откорректированной информации производим обычный поиск по одному только второму критерию при помощи ВПР.
Чтобы упростить работу в будущем и застраховать себя от возможных ошибок при добавлении новой информации о продажах, мы рекомендуем использовать «умную» таблицу. Она автоматически подстроит свой размер с учетом добавленных строк, и никакие ссылки в формулах не нужно будет менять.
Вот как это будет выглядеть.
ВПР по нескольким критериям с применением массивов — способ 2.
Выше мы уже рассматривали, как при помощи формулы массива можно организовать поиск ВПР с несколькими условиями. Предлагаем еще один способ.
Условия возьмем те же, что и в предыдущем примере.
Формулу в С4 введем такую:
Естественно, не забываем нажать CTRL+Shift+Enter.
Теперь давайте пошагово разберем, как это работает.
Наше задача здесь – также создать дополнительный столбец для работы функции ВПР. Только теперь мы создаем его не на листе рабочей книги Excel, а виртуально.
Как и в предыдущем примере, мы ищем текст из объединенных в одно целое условий поиска.
Далее определяем данные, среди которых будем искать.
Конструкция вида A7:A20&B7:B20&C7:C20;D7:D20 создает 2 элемента. Первый – это объединение колонок A, B и C из исходных данных. Если помните, то же самое мы делали в нашем дополнительном столбце. Второй D7:D20 – это значения, одно из которых нужно в итоге выбрать.
Функция ВЫБОР позволяет из этих элементов создать массив. как раз и означает, что нужно взять сначала первый элемент, затем второй, и объединить их в виртуальную таблицу – массив.
В первой колонке этой виртуальной таблицы мы будем искать, а из второй – извлекать результат.
Таким образом, для работы функции ВПР с несколькими условиями мы вновь используем дополнительный столбец. Только создаем его не реально, а виртуально.
Двойной ВПР при помощи ИНДЕКС + ПОИСКПОЗ
Далее речь у нас пойдет уже не о функции ВПР, но задачу мы будем решать ту же самую. В качестве критерия поиска нам опять нужно использовать несколько условий.
Формула в С4 теперь выглядит так:
И не забываем при вводе нажать CTRL+Shift+Enter! Это формула массива.
Теперь давайте разбираться, как это работает.
Функция ИНДЕКС в нашем случае позволяет извлечь элемент из списка по его порядковому номеру. Список – это диапазон D7:D20, где записаны суммы выручки. А вот порядковый номер, который нужно извлечь, мы определяем при помощи ПОИСКПОЗ.
Синтаксис здесь следующий:
ПОИСКПОЗ(что_ищем; где_ищем; тип_поиска)
Тип поиска ставим 0, то есть точное совпадение. В нашем случае мы будем искать 1. Далее мы определим массив, в котором будем работать.
Выражение (A7:A20=C1)*(B7:B20=C2)*(C7:C20=C3) позволит создать виртуальную таблицу примерно такого вида:
Как видите, первоначально мы последовательно сравниваем каждое значение с нашим критерием отбора. В столбце А у нас записаны месяцы – сравниваем их с месяцем-критерием из ячейки C1. В случае совпадения получаем ИСТИНА, иначе – ЛОЖЬ. Аналогично последовательно проверяем год и название магазина. А затем просто перемножаем значения. Поскольку логические переменные для Excel – это либо 0, либо 1, то произведение их может быть равно 1 только в том случае, если мы имеем по каждой колонке ИСТИНА (то есть,1). Во всех остальных случаях получаем 0.
Убеждаемся, что цифра 1 встречается только единожды.
При помощи ПОИСКПОЗ определяем, на какой позиции она находится. На какой позиции находится 1, на той же позиции находится в массиве и искомая сумма выручки. В нашем случае это 10-я.
Далее при помощи ИНДЕКС извлекаем 10-ю по счету выручку.
Таким образом мы выбрали значение по нескольким условиям без использования функции ВПР.
Достойная замена – функция СУММПРОИЗВ.
У нас есть данные о продажах нескольких менеджеров в различных регионах. Нужно сделать выборку по дате, менеджеру и региону.
Работает как формула массива, хотя по факту таковой не является. В этом заключается замечательное свойство функции СУММПРОИЗВ, о которой мы еще много будем говорить в других статьях.
Последовательно по каждой строке диапазона от 2-й до 27-й она проверяет совпадение каждого соответствующего значения с критерием поиска. Эти результаты перемножаются между собой и в итоге еще умножаются на сумму выручки. Если среди трех условий будет хотя бы одно несовпадение, то итогом будет 0. В случае совпадения сумма выручки трижды умножится на 1.
Затем все эти 27 произведений складываются, и результатом будет выручка нужного менеджера в каком-то регионе за определенную дату.
В качестве бонуса можно продолжить этот пример и рассчитать общую сумму продаж менеджера в определенном регионе.
Для этого из формулы просто уберем сравнение по дате.
Кстати, возможен и другой вариант расчета с этой же функцией:
Итак, мы рассмотрели примеры использования функции ВПР с двумя и с несколькими условиями. А также обнаружили, что этой ценной функции есть замечательная альтернатива.
Примеры использования функции ВПР:
Как объединить две или несколько таблиц в Excel — В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах. Как часто при анализе в Excel вся необходимая информация собирается на одном…
2 способа извлечь данные из разных таблиц при помощи ВПР. — Задача: Данные, которые нужно найти и извлечь при помощи функции ВПР, находятся в нескольких таблицах. Эти таблицы имеют одинаковую структуру (то есть, одни и те же столбцы, расположенные в одном…
/> Вычисление номера столбца для извлечения данных в ВПР — Задача: Наиболее простым способом научиться указывать тот столбец, из которого функция ВПР будет извлекать данные. При этом мы не будем изменять саму формулу, поскольку это может привести в случайным ошибкам.…
4 способа, как сделать левый ВПР в Excel. — Функция ВПР – одна из самых популярных, когда нужно найти и извлечь из таблицы какие-либо данные. Но при этом она имеет один существенный недостаток. Поиск она производит в крайнем левом…
Формула ВПР в Excel для сравнения двух таблиц — 4 способа — Сравнение таблиц – это задача, которую в Excel приходится довольно часто решать. Например, у нас есть старый прайс-лист и его новая версия. Нужно просмотреть, цены на какие товары изменились и…
Почему не работает ВПР в Excel? — Функция ВПР – это очень мощный инструмент поиска. Но если он по каким-то причинам завершился неудачно, то вы получите сообщение об ошибке #Н/Д (#N/A в английском варианте). Давайте постараемся вместе…
Функция ВПР в Excel: пошаговая инструкция с 5 примерами — ВПР — это функция Excel для поиска и извлечения данных из определенного столбца в таблице. Она поддерживает приблизительное и точное сопоставление, а также подстановочные знаки (* и ?). Значения поиска…
Формула ВПР в Excel — 22 факта, которые нужно знать. — В процессе работы в Excel часто возникает задача извлечения нужных данных из рабочих таблиц. Для этой цели в Excel предусмотрена формула ВПР (VLOOKUP в английском варианте). И хотя ВПР относительно…
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра ). Произведем отбор значений из исходной таблицы с помощью формул массива . В отличие от применения Фильтра ( CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.
В этой статье рассмотрим наиболее часто встречающиеся запросы, например: отбор строк таблицы, у которых значение из числового столбца попадает в заданный диапазон (интервал); отбор строк, у которых дата принаждежит определенному периоду; задачи с 2-мя текстовыми критериями и другие. Начнем с простых запросов.
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — число ).
Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.
Решить эту и последующие задачи можно легко с помощью стандартного фильтра . Для этого выделите заголовки Исходной таблицы и нажмите CTRL+SHIFT+L . Через выпадающий список у заголовка Цены выберите Числовые фильтры. , затем задайте необходимые условия фильтрации и нажмите ОК.
Будут отображены записи удовлетворяющие условиям отбора.
Другим подходом является использование формул массива . В отличие от фильтра отобранные строки будут помещены в отдельную таблицу — своеобразный Отчет , который, например, можно отформатировать в стиль отличный от Исходной таблицы или производить другие ее модификации.
Критерий (минимальную цену) разместим в ячейке Е6 , таблицу для отфильтрованных данных — в диапазоне D10:E19 .
Теперь выделим диапазон D11:D19 (столбец Товар) и в Строке формул введем формулу массива :
Вместо ENTER нажмите сочетание клавиш CTRL+SHIFT+ENTER .
Те же манипуляции произведем с диапазоном E11:E19 куда и введем аналогичную формулу массива :
В результате получим новую таблицу, которая будет содержать только товары, у которых цены попадают в интервал, указанный в ячейках Е5 и Е6 .
Чтобы показать динамизм полученного Отчета (Запроса на выборку) введем в Е6 значение 65. В новую таблицу будет добавлена еще одна запись из Исходной таблицы, удовлетворяющая новому критерию.
Если в Исходную таблицу добавить новый товар с Ценой в диапазоне от 25 до 65, то в новую таблицу будет добавлена новая запись.
В файле примера также содержатся формулы массива с обработкой ошибок, когда в столбце Цена содержится значение ошибки, например #ДЕЛ/0! (см. лист Обработка ошибок ).
Следующие задачи решаются аналогичным образом, поэтому не будем их рассматривать так детально.
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата ).
Для отбора строк используются формулы массива, аналогичные Задаче1 (вместо критерия =$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));$J$12-СТРОКА(A12)+СТРОКА($B$11)+1))
Примечание : После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER. Это сочетание клавиш используется для ввода формул массива.
Скопируйте формулу массива вниз на нужное количество ячеек. Формула вернет только те значения Товаров, которые были поставлены в диапазоне указанных дат. В остальных ячейках будут содержаться ошибки #ЧИСЛО! Ошибки в файле примера (Лист 4.Диапазон Дат) скрыты с помощью Условного форматирования .
Аналогичную формулу нужно ввести и для дат в столбец E.
В ячейке J12 вычислено количество строк исходной таблицы, удовлетворяющих критериям:
Решение2 : Для отбора строк можно использовать формулы массива, аналогичные Задаче2 (т.е. формулы массива, возвращающие несколько значений ):
Для ввода первой формулы выделите диапазон ячеек G12:G20 . После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER.
Решение3 : Если столбец Дат СОРТИРОВАН, то можно не использовать формулы массива.
Сначала необходимо вычислить первую и последнюю позиции строк, которые удовлетворяют критериям. Затем вывести строки с помощью функции СМЕЩ() .
Этот пример еще раз наглядно демонстрирует насколько предварительная сортировка данных облегчает написание формул.
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата (не позже) ).
Для отбора строк, дата которых не раньше (включая саму дату), используется формула массива:
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7 C15;И($B$7>=B15;$B$7 =$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) -СТРОКА($B$12))
Условие $E$7=$A$13:$A$21 гарантирует, что будут отобраны товары только определенного типа. Условие $E$8>=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания Условия И (все 3 критерия должны выполняться для строки одновременно).
Примечание . Случай, когда список несортирован, рассмотрен в статье Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список .
7. Один Текстовый критерий (Выбрать Товары определенного вида)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — Текст ).
Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск .
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (И) ).
Для отбора строк используется формула массива:
Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).
Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив последовательных чисел , т.е. номера строк в таблице.
9. Два Текстовых критерия (Выбрать Товары определенных видов)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (ИЛИ) ).
В отличие от Задачи 7 отберем строки с товарами 2-х видов ( Условие ИЛИ ).
Для отбора строк используется формула массива:
= ИНДЕКС(A$11:A$19; НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))
Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания Условие ИЛИ (должен быть выполнен хотя бы 1 критерий).
Вышеуказанное выражение вернет массив . Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10) , т.е. на массив последовательных чисел , получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив .
С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3. Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1 , которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; . Формула НАИБОЛЬШИЙ(. ;3) вернет число 5, НАИБОЛЬШИЙ(. ;2) вернет число 6, НАИБОЛЬШИЙ(. ;1) вернет число 7, а НАИБОЛЬШИЙ(. ;0) и далее вернет ошибку, которую мы скроем условным форматированием .
И наконец, с помощью функции ИНДЕКС() последовательно выведем наши значения из соответствующих позиций: = ИНДЕКС(A$11:A$19;5) вернет Товар2, = ИНДЕКС(A$11:A$19;6) вернет Товар2, = ИНДЕКС(A$11:A$19;7) вернет Товар3.
10. Отбор значений с учетом повторов
В разделе Отбор на основании повторяемости собраны статьи о запросах с группировкой данных. Из повторяющихся данных сначала отбираются уникальные значения, а соответствующие им значения в других столбцах — группируются (складываются, усредняются и пр.).
Наиболее популярные статьи из этого раздела:
В качестве примера приведем решения следующей задачи: Выбрать Товары, цена которых лежит в определенном диапазоне и повторяется заданное количество раз или более.
В качестве исходной возьмем таблицу партий товаров.
Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).
Решением является формула массива:
Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27 =$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.
В файле примера на листе «10.Критерий — колич-во повторов» настроено Условное форматирование , которое позволяет визуально определить строки удовлетворяющие критериям, а также скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!
11. Используем значение критерия (Любой) или (Все)
В фильтре Сводных таблиц MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в выпадающем списке значений критерия содержится особое значение, которое отменяет сам критерий (см. статью Отчеты в MS EXCEL , Отчет №3).
В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.
Формула в этом случае должна содержать функцию ЕСЛИ() . Если выбрано значение (Все), то используется формула для вывода значений без учета данного критерия. Если выбрано любое другое значение, то критерий работает обычным образом.
Остальная часть формулы аналогична рассмотренным выше.
12. Актуальная цена
Пусть для товара ежедневно заполняется таблица цен (цена может меняться, но не каждый день). Нужно найти актуальнуй цену, т.е. цену на последнюю дату. Если товар всего один, то можно отсортировать по дате и в последней строке будет нужная актуальная цена. Если товаров много, то нужно сначала выбрать Автофильтром нужный товар, затем опять отсортировать по цене.
Чтобы иметь перечень товаров с актуальными ценами придется использовать формулы:
2) определяем последнюю (максимальную) дату для каждого товара с помощью формулы массива =МАКС((Таблица1[товар]=E8)*Таблица1[дата])
3) наконец, выводим актуальную цену =СУММЕСЛИМН(Таблица1[цена];Таблица1[товар];E8;Таблица1[дата];F8)
Для товара не должно быть повторов дат, иначе цены будут суммироваться (если повторяется последняя дата).