caustic Пользователь Сообщений: 342 |
Добрый день! подскажите пожалуйста, как выбирая в ячейке A1 («лист1«) ключ, получить список всех значений в колонках G:H из таблицы на вкладке «лист2» соответствующих заданному параметру? файл с примером прикладываю с уважением Изменено: caustic — 09.03.2013 12:43:12 |
caustic Пользователь Сообщений: 342 |
PS: в ячейке А1 выпадающий список из уникальных значений колонки A из второго листа. Изменено: caustic — 09.03.2013 12:45:55 |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#3 09.03.2013 13:39:38
Неужели ничего не нашлось в «Приемах»?!. Там — и одно- много- разовый ВПР, и ИДЕКС с ПОИСКПОЗ, и сводные, и расширенный и прочий супер- фильтры… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
caustic Пользователь Сообщений: 342 |
Z,, выпадающий список перестает работать при конвертации файла в формат Excel 2003 по поводу ВПР, Индекс и других функций — о них знаю. но таблица большая и перерасчет при смене значения (ключа) в ячейке A1 происходит очень долго с этими функциями. Поэтому прошу помощи в реализации этого процесса с помощью макроса. в самом файле уже забито в качестве примера в ячейке А1 значение «33» и рядом в таблице (G:H) все значения найденные на втором листе с тем же самым ключом (33). |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#5 09.03.2013 13:52:59
Будьте проще, caustic! — что стоило вам в самом начале и в теме указать «Напишите мне макрос!» … «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
ikki Пользователь Сообщений: 9709 |
#6 09.03.2013 13:56:42
а в первом посте об этом где написано? Изменено: ikki — 09.03.2013 13:56:55 фрилансер Excel, VBA — контакты в профиле |
||
Hugo Пользователь Сообщений: 23249 |
caustic, весь процесс опишите подробнее. Изменено: Hugo — 09.03.2013 16:25:45 |
ikki Пользователь Сообщений: 9709 |
ну и зачем с такой простой задачей метаться по всем форумам? http://www.cyberforum.ru/vba/thread803864.html фрилансер Excel, VBA — контакты в профиле |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#9 09.03.2013 17:16:31
))) |
||
Kuzmich Пользователь Сообщений: 7998 |
Посмотрите файл, макрос Лист1 |
caustic Пользователь Сообщений: 342 |
Kuzmich, спасибо! именно то что надо. ikki , в первом посте было использовано обращение «подскажите пожалуйста» и тема была создана на форуме VBA, следственно подразумевается что помощь нужна по макросам Hugo, честно не знаю что такое UDF, но процесс следующий: всех значений таблицы на лист2, у которых есть тот же самый ключ в первой колонке, что выбран был в ячейке A1. На примере Kuzmich, вы можете посмотреть как это работает. спасибо всем за отклики! Изменено: caustic — 09.03.2013 21:11:01 |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#12 09.03.2013 21:14:12
С чего Вы это взяли? Где такое написано? |
||
caustic Пользователь Сообщений: 342 |
Юрий М, да, обознался. прошу прощения |
Hugo Пользователь Сообщений: 23249 |
Ну вот UDF. |
caustic Пользователь Сообщений: 342 |
#15 10.03.2013 08:27:44 Hugo, может такое описание процесса нужно: в ячейке A1 выбирается ключ, на основе которого в таблице в колонках J:K (опираясь на ваш пример) формируется список всех значений с таким ключем с лист2. спасибо за файл, сравню какой шустрее работает Изменено: caustic — 10.03.2013 08:29:05 caustic |
Выбор всех значений, соответствующих одному условию |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.
Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.
Поиск значений в списке по вертикали по приблизительному совпадению
Для этого используйте функцию ВПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.
Дополнительные сведения можно найти в разделе функция ВПР.
Поиск значений по вертикали в списке неизвестного размера с точным соответствием
Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.
Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.
C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).
Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.
1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.
Поиск значений в списке по горизонтали по точному совпадению
Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.
Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения можно найти в разделе функции ГПР.
Поиск значений в списке по горизонтали с использованием приблизительного совпадения
Для выполнения этой задачи используется функция ГПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.
Дополнительные сведения можно найти в разделе функции ГПР.
Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )
Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).
В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.
Щелкните ячейку в диапазоне.
На вкладке формулы в группе решения нажмите кнопку Подстановка .
Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.
Загрузка программы-надстройки «Мастер подстановок»
Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Выборка значений из таблицы Excel по условию
Если приходиться работать с большими таблицами определенно найдете в них дублирующийся суммы разбросаны вдоль целого столбца. В тоже время у вас может возникнуть необходимость выбрать данные из таблицы с первым наименьшим числовым значением, которое имеет свои дубликаты. Нужна автоматическая выборка данных по условию. В Excel для этой цели можно успешно использовать формулу в массиве.
Как сделать выборку в Excel по условию
Чтобы определить соответствующие значение первому наименьшему числу нужна выборка из таблицы по условию. Допустим мы хотим узнать первый самый дешевый товар на рынке из данного прайса:
Автоматическую выборку реализует нам формула, которая будет обладать следующей структурой:
В месте «диапазон_данных_для_выборки» следует указать область значений A6:A18 для выборки из таблицы (например, текстовых), из которых функция ИНДЕКС выберет одно результирующие значение. Аргумент «диапазон» означает область ячеек с числовыми значениями, из которых следует выбрать первое наименьшее число. В аргументе «заголовок_столбца» для второй функции СТРОКА, следует указать ссылку на ячейку с заголовком столбца, который содержит диапазон числовых значений.
Естественно эту формулу следует выполнять в массиве. Поэтому для подтверждения ее ввода следует нажимать не просто клавишу Enter, а целую комбинацию клавиш CTRL+SHIFT+Enter. Если все сделано правильно в строке формул появятся фигурные скобки.
Обратите внимание ниже на рисунок, где в ячейку B3 была введена данная формула в массиве:
Выборка соответственного значения с первым наименьшим числом:
С такой формулой нам удалось выбрать минимальное значение относительно чисел. Далее разберем принцип действия формулы и пошагово проанализируем весь порядок всех вычислений.
Как работает выборка по условию
Ключевую роль здесь играет функция ИНДЕКС. Ее номинальное задание – это выбирать из исходной таблицы (указывается в первом аргументе – A6:A18) значения соответственные определенным числам. ИНДЕКС работает с учетом критериев определённых во втором (номер строки внутри таблицы) и третьем (номер столбца в таблице) аргументах. Так как наша исходная таблица A6:A18 имеет только 1 столбец, то третий аргумент в функции ИНДЕКС мы не указываем.
Чтобы вычислить номер строки таблицы напротив наименьшего числа в смежном диапазоне B6:B18 и использовать его в качестве значения для второго аргумента, применяется несколько вычислительных функций.
Функция ЕСЛИ позволяет выбрать значение из списка по условию. В ее первом аргументе указано где проверяется каждая ячейка в диапазоне B6:B18 на наличие наименьшего числового значения: ЕСЛИB6:B18=МИНB6:B18. Таким способом в памяти программы создается массив из логических значений ИСТИНА и ЛОЖЬ. В нашем случаи 3 элемента массива будут содержат значение ИСТИНА, так как минимальное значение 8 содержит еще 2 дубликата в столбце B6:B18.
Следующий шаг – это определение в каких именно строках диапазона находится каждое минимальное значение. Это нам необходимо по причине определения именно первого наименьшего значения. Реализовывается данная задача с помощью функции СТРОКА, она заполняет элементы массива в памяти программы номерами строк листа. Но сначала от всех этих номеров вычитается номер на против первой строки таблицы – B5, то есть число 5. Это делается потому, что функция ИНДЕКС работает с номерами внутри таблицы, а не с номерами рабочего листа Excel. В тоже время функция СТРОКА умеет возвращать только номера строк листа. Чтобы не получилось смещение необходимо сопоставить порядок номеров строк листа и таблицы с помощи вычитанием разницы. Например, если таблица находится на 5-ой строке листа значит каждая строка таблицы будет на 5 меньше чем соответственная строка листа.
После того как будут отобраны все минимальные значения и сопоставлены все номера строк таблицы функция МИН выберет наименьший номер строки. Эта же строка будет содержать первое наименьшее число, которое встречается в столбце B6:B18. На основании этого номера строки функции ИНДЕКС выберет соответствующее значение из таблицы A6:A18. В итоге формула возвращает это значение в ячейку B3 в качестве результата вычисления.
Как выбрать значение с наибольшим числом в Excel
Поняв принцип действия формулы, теперь можно легко ее модифицировать и настраивать под другие условия. Например, формулу можно изменить так, чтобы выбрать первое максимальное значение в Excel:
Если необходимо изменить условия формулы так, чтобы можно было в Excel выбрать первое максимальное, но меньше чем 70:
=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>
Как в Excel выбрать первое минимальное значение кроме нуля:
Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.
Теперь Вас ни что не ограничивает. Один раз разобравшись с принципами действия формул в массиве Вы сможете легко модифицировать их под множество условий и быстро решать много вычислительных задач.
Вывод отобранных значений в отдельный диапазон в Excel. Бесплатные примеры и статьи.
Пять последних значений в MS EXCEL
Найдем, формулу возвращающую ссылку на диапазон, содержащий 5 последних значений. Если столбец со значениями постоянно заполняется, то эта задача перестает быть тривиальной.
Удаляем в MS EXCEL пропуски в списке (формулы)
Если список значений содержит пропуски (пустые ячейки), то это может существенно затруднить его дальнейший анализ. С помощью сортировки уберем пустые ячейки из списка, сформировав формулами список в соседнем столбце.
Запрос на выборку данных (формулы) в MS EXCEL
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.
Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
Имея список с повторяющимися значениями, создадим список, состоящий только из уникальных значений. При добавлении новых значений в исходный список, список уникальных значений должен автоматически обновляться.
Вывод итогов столбцов по строкам в MS EXCEL
Пусть имеется 5 столбцов с данными. В каждом столбце по 10 чисел, необходимо найти сумму чисел в каждом столбце. Обычно итоговое значение выводится внизу столбца или над его заголовком, поэтому все итоговые значения располагаются в одной строке. Но когда столбцов слишком много, то удобнее итоговые значения столбцов выводить в один отдельный столбец, а не располагать их под данными. Напишем формулу, которая помогает сделать это преобразование.
Отбор неповторяющихся значений со значениями из соседнего столбца в MS EXCEL
Имея список с повторяющимися текстовыми значениями, создадим список, состоящий только из неповторяющихся значений. А из столбца соседнего с исходным, выведем соответствующие им числовые значения.
Отбор неповторяющихся значений в MS EXCEL
Имея список с повторяющимися значениями, создадим список, состоящий только из значений, которые не повторяются.
Отбор повторяющихся значений в MS EXCEL
Из исходной таблицы с повторяющимися значениями отберем только те значения, которые имеют повторы. Теперь при добавлении новых значений в исходный список, новый список будет автоматически содержать только те значения, которые повторяются.
Динамическое разнесение данных по столбцам
Пусть имеется таблица, состоящая из двух столбцов: наименование организации и ее тип (юридическое лицо, индивидуальный предприниматель, физическое лицо). Необходимо разнести организации по разным столбцам в зависимости от типа: Юрлица, ИП и ФЛ должны быть каждый в своем отдельном столбце.При добавлении новых строк в исходную таблицу организации должны динамически попадать в нужный столбец.
Отбор уникальных значений в MS EXCEL с условиями
Продолжим идеи, изложенные в статье Отбор уникальных значений в MS EXCEL. Сначала отберем из таблицы только те строки, которые удовлетворяют заданным условиям, затем из этих строк выберем только уникальные значения из первого столбца. При добавлении новых строк в таблицу, список уникальных значений будет автоматически обновляться.
Запрос на выборку данных в MS EXCEL (на основе элементов управления формы)
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению фильтра). В отличие от фильтра отобранные строки будут помещены в отдельную таблицу.
Отбор неповторяющихся значений из двух диапазонов в MS EXCEL
Имея два списка с однотипными повторяющимися значениями, создадим список, состоящий только из неповторяющихся значений.
Отбор уникальных значений из двух диапазонов в MS EXCEL
Имея два списка с однотипными повторяющимися значениями, создадим из них список, содержащий только уникальные значения.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Критерии заданы с использованием подстановочных знаков. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию с учетом РЕгиСТРА. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Отбор уникальных значений с сортировкой в MS EXCEL
Из исходной таблицы отберем только уникальные значения и выведем их в отдельный диапазон с сортировкой по возрастанию. Отбор и сортировку сделаем с помощью одной формулой массива. Формула работает как для текстовых (сортировка от А до Я), так и для числовых значений (сортировка от мин до макс).
Поиск ЧИСЛОвых значений и вывод соответствующих значений в отдельный список в MS EXCEL
Найдем числовые значения, равные заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск нескольких значений с максимальной длиной строки в MS EXCEL
Найдем в исходном списке текстовые значения, которые имеют максимальную длину строки, и выведем их в отдельный диапазон.
Отбор повторяющихся значений (дубликатов) со значениями из соседнего столбца в MS EXCEL
Имея список с повторяющимися текстовыми значениями, создадим список, состоящий только из дубликатов. А из соседнего столбца, выведем соответствующие числовые значения.
ВПР с возвратом всех значений
Все, кто сталкивался с функцией ВПР знают, что она умеет возвращать исключительно одно значений — первое найденное. Но что делать, когда надо видеть все значения? К примеру имеется такая таблица:
И из этой таблицы необходимо получить фамилии(поле ФИО) всех сотрудников из отдела Сбыта:
Тут два варианта:
-
Вариант 1: все значения необходимо получить в одной ячейке через разделитель(скажем запятую). Такое возможно только через использование VBA(на момент написания статьи). Такую функцию я написал давно: Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли
. В результате получим что-то вроде: Александров Иван,Александров Петр,Андреев Алексей .
Здесь надо сразу оговориться — при помощи непосредственно ВПР (VLookup) это сделать ну никак не получится. Но это можно сделать при помощи её родственников — связки ИНДЕКС(ПОИСКПОЗ) (INDEX(MATCH)) . Плюс еще пара функций. В сборе функция выглядит так:
=ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1)
=INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1)
где:
- $A$12:$G$111 — таблица с ФИО и всеми данными
- $I$12 — ячейка с названием отдела
- $C$12:$C$111 — столбец с названиями отделов в таблице $A$12:$G$111
А теперь начнем разбирать формулу по кусочкам
Предлагаю сразу скачать пример файла с данными и формулами — тогда понять будет проще:
Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)
- Первое и самое главное — формула вводится в ячейку как формула массива. Это значит, что для приложенного к статье примера необходимо будет выделить ячейку J12 , записать в неё формулу и завершить ввод нажатием сразу трех клавиш: Ctrl+Shift+Enter. После этого скопировать ячейку, выделить диапазон J13:J39 и вставить туда скопированную ячейку.
- За отбор ФИО указанного отдела отвечает этот кусок: ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11)
IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11)
Как видно здесь идет сравнение отдела, записанного в $I$12 со всеми отделами в таблице: $C$12:$C$111 . Если отдел совпадает, то функция возвращает номер строки СТРОКА( $C$12:$C$111 ) . Но нам нужен не номер строки на листе, а номер строки внутри таблицы(потому что в формулу ИНДЕКС (INDEX) у нас передан диапазон $A$12:$G$111 и если передать в его второй аргумент( номер_строки ) 14, то получим не Александров Иван , а Андреев Олег ). Поэтому отнимаем от номера строки 11, чтобы было возвращено число 3(а не 14). Т.к. формула записана формулой массива — ЕСЛИ (IF) возвращает массив из номеров строк и логического ЛОЖЬ (FALSE) (если отдел не совпадает):
шаг 1: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<12:13: 14 :15:16: 17 :18:19:20>-11)
шаг 2: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<1:2: 3 :4:5: 6 :7:8:9>)
шаг 3: - Т.к. ЕСЛИ (IF) в данном случае возвращает массив значений, включая ненужные нам ЛОЖЬ (FALSE) — применяем НАИМЕНЬШИЙ (SMALL) , которая будет брать только числа (сначала 3, затем 6 и т.д.), а логические значения ЛОЖЬ (FALSE) будет игнорировать:
НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
SMALL(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;ROW(A1))
Функция НАИМЕНЬШИЙ (SMALL) отбирает из указанного массива чисел наименьшее. При этом можно отобрать по рангу — первое наименьшее, второе наименьшее, третье наименьшее и т.д.
- с первым аргументом разобрались — это уже отобранные записи, где число — строка в таблице с нужной ФИО и ненужные нам логические ЛОЖЬ (FALSE) .
- второй аргумент СТРОКА(A1) для каждой следующей строки будет меняться. В приложенном примере первая ячейка с формулой — J12 . В ней СТРОКА(A1) равна 1, т.е. НАИМЕНЬШИЙ (SMALL) вернет первое наименьшее из массива чисел — 3 . В ячейке J13 это уже будет СТРОКА(A2) и она равна 2, а значит НАИМЕНЬШИЙ (SMALL) вернет второе наименьшее из массива чисел — 6 . И т.д. Когда все числа закончатся — НАИМЕНЬШИЙ (SMALL) вернет значение ошибки #ЧИСЛО! (#NUM!)
ячейка J12
шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;1)
шаг 3: НАИМЕНЬШИЙ( 3 )
ячейка J13
шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A2))
шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;2)
шаг 3: НАИМЕНЬШИЙ( 6 )
ячейка J12
шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 3 );1)
шаг 2: =ИНДЕКС( $A$12:$G$111 ;3;1)
шаг 3: Александров Иван
ячейка J13
шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 6 );1)
шаг 2: =ИНДЕКС( $A$12:$G$111 ;6;1)
шаг 3: Александров Петр
И в довершение неплохо бы убрать ошибку в случае, если ни одно значение не соответствует критерию или значений больше, чем ячеек с формулами. Более подробно подобное решение я описывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0
Для всех версий Excel:
=ЕСЛИ(ЕОШ(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1));»»;ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1))
=IF(ISERR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1));»»;INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1))
Для Excel 2007 и выше:
=ЕСЛИОШИБКА(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1);»»)
=IFERROR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1);»»)
Плюс к этому в приложенном к статье файле я привел формулу, которая возвращает список всех сотрудников выбранного отдела без повторений и формулу с возможностью просто поменять заголовок в результирующем столбце(в файле это столбец K, ячейка K11 ) на любой из исходной таблицы и данные будут отображены из этого столбца.
Например, если вместо столбца ФИО записать в K11 Адрес — будут отображены все адреса сотрудников выбранного отдела. Если записать Телефон — все телефоны сотрудников выбранного отдела.
Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно 🙂 — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы : Простой способ, знакомая функция, работает с любыми данными.
Минусы : Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).
Вывод отобранных значений в отдельный диапазон в Excel. Бесплатные примеры и статьи.
Смотрите также из тех, гдекарандаши=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2) точках: же присваивает новый (постоянный)не тот, буду: Вторая лучше в данные – «Хлеб». дням.. Производим клик по«OK» указанной области будутследует ввести адресСЧЁТЕСЛИМН( диапазон поиска содержит
excel2.ru
Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца
Суть запроса на выборку товар был,ФункцияФормула рассчитывает выручку в формат для соответствующих разбираться, а что таком виде:А в ячейкеПередвигаемся во вкладку кнопке.
отражены в окне. строки, в которой. Она также относится«равно» повторяющиеся значения, то – выбрать из
Задача
БумагаручкиПОИСКПОЗ магазине, заданном пользователем. ячеек. Новый формат такое 100000 -=ИНДЕКС(C6:C101;B3+ЕСЛИ(B2=»м»;48)-17)
Решение
F3 (сумма) пишем
- «Главная»«OK»Запускается окно аргументов функции
- Далее устанавливаем курсор в расположены данные по
- к статистической группе), второй столбец из
исходной таблицы строки,, т.к. ЛОЖЬ функцией), а диапазоном дляищет в столбце В ячейке А8 заранее определен пользователем значение в формуле?SerjVorotilov формулу, которая посчитает. Клацаем по пиктограмме.СУММЕСЛИ поле выручке Магазина 1
операторов. Задачей |
«<>» таблицы выше поясняет |
удовлетворяющие определенным критериям |
МИН выборки — столбецD1:D13 |
можно изменить номер |
в параметрах правила подскажите…плиз…: Смотри прикрепленный файл. |
все заказы Иванова |
«Условное форматирование»Производится запуск окошка аргументов. В нём имеется |
«Условие1» |
за неделю. ДляСЧЁТЕСЛИМН( |
какое значение будет |
(подобно применению стандартногоигнорируется. При желании, с ценами.значение артикула из торговой точки –ВЫБОР условного форматирования (зеленая |
davaispoem |
Условия задачи: |
на хлеб. Формула |
, размещенной в блоке |
оператора, наименование которого |
три поля, соответствующих |
. Тут нам нужно этого ставим курсорявляется подсчет ячеек«не равно» выведено (обычно возвращается Фильтра). Произведем отбор значений можно выделить мышьюДля будущего удобства, конвертируем ячейки вернет для функции заливка).: Все заработало и
1. В таблице такая.«Стили» было указано выше. аргументам указанного оператора. указать нижнюю границу в поле и в указанном массиве,). Например, если задать первое значение, удовлетворяющее из исходной таблицы всю функцию ЕСЛИ(…) исходный диапазон сC16 СУММ ссылку наФункция ВЫБОР находит и протянулось, большое спасибо 1 столбец B1:B5
=СУММ((A2:A9=F2)*(B2:B9=F1)*C2:C9)на ленте. ОткрываетсяУстанавливаем курсор в полеВ поле значений в ячейках, выделяем соответствующую строку которые удовлетворяют определенному выражение
критерию). с помощью формул в строке формул ценами в «умную. Последний аргумент функции другой интервал. Если возвращает значение из вам. и строка C3:G3В первых скобках список действий. Клацаем«Диапазон суммирования»«Диапазон»
которые будут принимать в таблице. Координаты набору условий. Именно«, то при подсчетеЕсли диапазон поиска содержит
excel2.ru
Использование критериев в Microsoft Excel
массива. В отличие… и нажать на таблицу». Для этого 0 — означает поставить в ячейке списка аргументов, используяGuest = const, а формулы указан диапазон в нём по. В отличие отвводим область таблицы, участие в подсчете. отображаются в окне. тот факт, что будут учитываться только повторяющиеся значения и
от применения Фильтра клавиатуре
Применение критериев
выделите его и поиск точного (а А8 цифру 2, номер индекса. Может: Максимально возможное число. диапазон C4:G8 заполняется всех товаров, из позиции последующих аргументов, этот в которой будут Указываем выражениеУчитывая, что для Магазина можно задать не элементы, заданные аргументом требуется вернуть не (F9 выберите на вкладке не приблизительного) соответствия. формула подсчитает выручку обработать до 254 Для поиска последней пользователем, при этом которого нужно выбрать«Создать правило…» единственный в своем располагаться значения, проверяемые
СЧЁТЕСЛИ
«>14000» 1 дневная норма один, а несколько«Диапазон» одно, а всеCTRL+SHIFT+L, чтобы наглядно увидетьГлавная — Форматировать как
Функция выдает порядковый
для второго магазина значений. Имеет простой заполненной ячейки. в каждом отдельном товар, написанный в. роде и указывает
на соблюдение условий.. выручки составляет 14000 параметров, и отличает, в которых находятся значения, удовлетворяющие критерию,или Данные/ Сортировка тот самый результирующий таблицу (Home - номер найденного значения (результат СУММ для синтаксис, но достаточноПочему 100000? Дата столбце значения (в ячейке F2 (хлеб).Активируется окошко генерации правила на тот массив В нашем случаеВ поле рублей, то в этого оператора от числовые значения менее то читайте статью и фильтр/ Фильтр) массив, из которого Format as Table) в диапазоне, т.е. диапазона В2:В5). широкие возможности. Рассмотрим в числовом выражении данном примере -Во вторых скобках форматирования. В области значений, где будет это будет строка«Диапазон условия2» поле предыдущего. Синтаксис следующий: 50. Использование данных Запрос на основе отобранные строки будут потом функцияили нажмите фактически номер строки,С помощью функции ВЫБОР
лучшие из них пятизначна (например, 01.01.12=40909), от 1 до указан диапазон всех
выбора типа правила производиться суммирование подошедших дат. Ставим курсорвводим тот же«Условие 1»=СЧЁТЕСЛИМН(диапазон_условия1;условие1;диапазон_условия2;условие2;…) знаков для указания Элементов управления формы. помещены в отдельнуюМИН
- Ctrl+T где найден требуемыый можно задать аргумент на конкретных практических а задача функции 5) не повторяются. заказчиков, из которого
- выделяем наименование под указанные критерии в данное поле адрес тем жевписываем выражение«Диапазон условия» параметров будут актуальнымиСовет таблицу.и выбирает минимальное. Наша «поумневшая» таблица артикул.
- для функции СУММ примерах. ПРОСМОТР() в данном2. В таблице нужно выбрать заказчика,«Форматировать только ячейки, которые данных. Затем выделяем и выделяем все способом, который вводили«>14000»является идентичным первому и для всех: Если в диапазонДля нахождения позиции значения значение: автоматически получит имяФункция так, чтобы получитьСинтаксис функции: =ВЫБОР(номер индекса; случае — найти 2 ячейка J3
написанного в ячейке содержат» область строки ячейки, в которых в поле. аргументу предыдущего оператора. других вариантов, о поиска постоянно вводятся в столбце, сЭтот вариант использует малоизвестнуюТаблица1ИНДЕКС результат подсчета 2,
знач. 1; знач. дату в строке позволяет из раскрывающегося F1 (Иванов).. В первом поле
- «Магазин1» содержатся даты.«Диапазон условия1»В поля То есть, он которых пойдет речь новые значения, то последующим выводом соответствующего (и многими, к, а к столбцамвыбирает из диапазона 3, 4 и 2; …). 5. списка выбрать определеннуюВ третьих скобках блока условий из, в которой размещеныТак как нам нужно, то есть, опять
«Диапазон условия2 (3,4,5)» представляет собой ссылку
СЧЁТЕСЛИМН
в данном уроке для исключения ввода значения из соседнего сожалению, недооцененную) функцию можно будет, соответственно,A1:G13 т.д. первых значенийАргументы:Например, для столбца дату, лежащую строго суммируются выбранные данные. списка возможных вариантов значения выручки по сложить только суммы вносим координаты ячеекследует внести координаты на область, в
ниже.
дубликатов следует наложить столбца в EXCEL,ДМИН (DMIN) обращаться по ихзначение, находящееся на диапазона:Номер индекса – порядковый G можно было в интервале значенийНО, нажимаем не выбираем соответствующей торговой точке.
выручки, начиная с со значениями выручки строк с недельной которой будет производитьсяА теперь давайте на определенные ограничения (см. существует специальная функцияиз категории именам, используя выражения пересечении заданной строкиФормула суммирует диапазон А1:А4. номер выбираемого аргумента дать прямую ссылку строки C3:G3. просто «Enter», а«Значение ячейки»После того, как адрес 11 марта, то
по первой торговой выручкой соответственно Магазина подсчет ячеек, удовлетворяющих конкретном примере посмотрим, статью Ввод неповторяющихся ВПР(), но дляРабота с базой данных типа (номер строки с Вторая часть диапазона из списка значений. на G4. Для3. В таблице ТРИ кнопки: «Ctrl». В следующем поле отобразился в окне, в поле точке. 2, Магазина 3, указанным условиям. Данный
как работает данный значений). Для визуальной ее решения можно (Database)Таблица1[Товар] артикулом выдает функция функции СУММ задана Может быть числом следующего столбца Н4=»», 2 диапазон I4:I8 + «Shift» + выбираем позицию
- переходим к полю«Критерий»
- В поле Магазина 4 и
- оператор позволяет задать оператор на практике.
- проверки наличия дубликатов использовать также и
- и требует небольшогоили
- ПОИСКПОЗ с помощью функции от 1 до поэтому нужно найти строго соответствует диапазону «Enter». Только тогда«Больше»«Диапазон условия1»вбиваем значение
- «Условие2» Магазина 5. Действие сразу несколько такихИтак, имеется таблица, где можно использовать Условное другие функции. Рассмотрим изменения результирующей таблицы:Таблица1[Цена]) и столбца (нам ВЫБОР. 254, ссылкой на ячейку, в которой J4:J8, то есть будет формула считать.. В последнем —
- . Тут нам нужно«>10.03.2017»указываем верхнюю границу выполняем по тому областей.
представлена выручка по форматирование (см. статью задачу в случаеКак видите, зеленые ячейки. При желании, стандартное нужен регион, т.е.Данная функция хорошо обрабатывает ячейку с числом нужная дата. Вот значению I4 строго Вокруг этой формулы указываем само значение,
будет отобразить координаты. отбора: же алгоритму, что«Условие» пяти магазинам за Выделение повторяющихся значений). текстовых значений. с результатами транспонированы
имя второй столбец). в качестве значений от 1 до здесь приходит на соответствует J4, I5 появятся фигурные скобки. больше которого требуется строки с датами.В поле«. и для первого
представляет собой критерий, неделю. Нам нужноДля организации динамической сортировкиПусть в диапазоне из столбца вТаблица1enzo простые списки чисел. 254, массивом или помощь ПРОСМОТР(). — J5, и Так обозначаются формулы отформатировать элементы таблицы. Производим зажим левой«Диапазон суммирования»После того, как все аргумента данной группы. который определяет, какие узнать количество дней пополняемого диапазона поискаА4:В15
строку и надможно подкорректировать на: Уважаемые, добрый день! Поэтому с ее формулой.vikttur т.д.
- массива Excel. Подробнее У нас это кнопки мыши инужно указать область, указанные действия произведены,В поля элементы из соответствующего за этот период, можно использовать идеиимеется таблица с ними добавлена мини-таблица
вкладке Есть у меня помощью можно вычислитьЗнач. 1; знач. 2;: Это я выше.Вопрос: о формулах массива, 14000. Чтобы выбрать
- выделяем все даты значения которой, отвечающие клацаем по кнопке«Условие2» массива данных войдут в которых в из статьи Сортированный перечнем сотрудников и
- (F4:H5) с условиями.Конструктор (Design) таблица перечня позиций. по номеру месяца … — список Выпал.Подскажите, пожалуйста, формулу, читайье в статье тип форматирования, клацаем в таблице. указанным критериям, будут«OK», в подсчет, а Магазине 2 доход список.
- их зарплат (фамилии Логика работы этой, которая появляется, если Я беру фильтром финансовый квартал. аргументов от 1В таблице находятся данные возвращающую: «Формулы массива Excel». по кнопкеСтавим курсор в поле суммироваться. В нашем.«Условие3» какие не войдут. от реализации превысилПрограмма Microsoft Excel является сотрудников не повторяются). функции следующая:
щелкнуть в любую выбираю определенное условиеТаблица с номерами месяцев до 254, из по продажам отсортированные1. В ячейку Получилось так.«Формат…»«Условие1» случае это значенияПрограмма выдает результат расчета.
, Каждой заданной области 15000 рублей. не просто табличнымТребуется, введя в ячейкуБаза_данных ячейку нашей «умной» (столбец постоянный к и кварталов: которого выбирается значение по возрастанию относительно К4 — фамилию
Так можно выбирать и.. Первым условием является выручки строки Как видим, итоговое
«Условие4» данных нужно указыватьВыделяем элемент листа, в редактором, а ещёD4
- - вся наша таблицы. Подробнее о примеру «Группа крови»Так как финансовый год или действие, соответствующее даты транзакции. Необходимо из диапазона B1:B5, складывать любые данныеАктивируется окно форматирования. Передвигаемся то, что нами
СУММЕСЛИ
«Магазин1» значение равно 5.и условие отдельно, даже который оператор будет и мощнейшим приложениемфамилию сотрудника, вывести таблица вместе с таких таблицах и = 2) , начался в апреле,
номеру индекса. Первое
определить в какие получающуюся на пересечении из таблицы, любого во вкладку будут суммироваться данные. Выделяем соответствующий массив Это значит, что«Условие5» в том случае, выводить результат вычисления. для различных вычислений. в другой ячейке
заголовками. их скрытых возможностях и вывожу список месяцы 4, 5 значение – обязательный дни сумма транзакции даты, выбираемой пользователем диапазона.«Заливка» не ранее 09 элементов листа. в 5 днях
вносим соответственно значения если оно совпадает. После этого щелкаем Не в последнюю его зарплату. РешениеПоле можно почитать здесь. для распечатки. Делал и 6 попали аргумент. Последующие – превысила 5000. Следует в ячейке J3,В Excel есть. Из предложенных вариантов
марта. Поэтому вводимПосле того, как произведено из исследуемых семи«>15000 Обязательно требуется, чтобы по пиктограмме очередь такая возможность приведено в файле- название столбцаНачиная с версии Excel
- это фильтром , в первый квартал. нет. Список аргументов-значений выбрать все суммы и значения ячейки функции, которые считают
- цветов заливки выбираем значение введение всех указанных выручка в первом», все массивы, используемые«Вставить функцию» появилась благодаря встроенным примера. из шапки таблицы,
- 2016 в наборе потом копировал значения При введении аргументов – числа, ссылки по условию и
I4, находящегося в не все ячейки, синий, щелкая по«>08.03.2017» данных, жмем на магазине была в«>24000» в качестве областей. функциям. С помощьюАлгоритм решения задачи следующий: из которого выбирается функции Microsoft Excel
удалял столбцы… Попросили функции, номера кварталов на ячейки, имена, выделить их цветом. Таблице 1 в а выборочно, по нему левой кнопкой. кнопку
интервале от 14000, условия, имели одинаковоеПроизводится запуск некоторых функций (операторов)находим в списке кодов минимальное значение. наконец появились функции, автоматизировать)) Хотят чтобы необходимо вводить в формулы, функции или
Вместо того чтобы тратить столбце выбранной даты; условию, которое мы мыши. После того,Перемещаемся к аргументу«OK»
- до 17000 рублей.«>11000» количество строк иМастера функций можно задавать даже значение, совпадающее сКритерий которые легко решают была ячейка «Группа том порядке, в текст. время на визуальный2. В ячейку напишем в формуле. как выбранный цвет
СУММЕСЛИМН
«Диапазон условия2».Ещё одним оператором, которыйи столбцов.. Совершаем перемещение в условия вычисления, которые критерием;- таблица с нашу задачу -
крови", куда напишут
каком они находятсяЕсли указать номер индекса анализ данных таблицы, К4 — фамилию Например, посчитать сумму отобразился в области
. Тут нужно внестиПосле этого в предварительно использует критерии, является«>32000»Для того, чтобы задать
блок принято называть критериями.определяем номер позиции (строку) условиями отбора, состоящая
это функции цифру 2 и в таблице.
1, то функция будем использовать правило из диапазона B1:B5, заказа определенного покупателя,«Образец» те же координаты, указанный элемент рабочегоСУММЕСЛИ. Как нетрудно догадаться, несколько параметров одной«Статистические» Давайте подробнее узнаем, найденного значения; (минимально) из двухМИНЕСЛИ (MINIFS) из таблицы будетВ ячейку D8 пользователь
- вернет первое значение условного форматирования, которое получающуюся на пересечении итоги конкретного ученика,, клацаем по кнопке
- которые были записаны листа будет выведен. В отличие от эти значения соответствуют и той же. Там находим и каким образом можновыводим значение из соседнего ячеек: названия столбца,и вытягиваться все позиции вводит номер месяца.
- их перечня. Если автоматически определит и даты, выбираемой пользователем
посчитать данные за«OK» в поле результат обработки данных предыдущих функций, он интервалу выручки, превышающую области данных, например, выделяем наименование их использовать при столбца той же по которому идетМАКСЕСЛИ (MAXIFS) с группой 2, В ячейке D9 индекс равен 2 выделит цветом все
в ячейке J3, определенную дату, т.д..«Диапазон условия1» функцией относится к математическому норму для соответствующего чтобы подсчитать количество«СЧЁТЕСЛИ» работе в Экселе. строки.
проверка (. Синтаксис этих функции но с меньшим функция ВЫБОР вычисляет – второе значение. необходимые суммы. Пример и значения ячейки Про одну изАвтоматически происходит возврат к. Делаем это тем
СУММЕСЛИ блоку операторов. Его магазина. ячеек, в которых. Затем следует клацнутьСкачать последнюю версиюРешение практически аналогично поискуТовар очень похож на определенными столбцами. номер финансового квартала.
И так далее. таблицы отображен ниже I5, находящегося в таких функций читайте окну генерации правила же способом, то. В нашем случае задачей является суммированиеПосле того, как был расположены величины больше
по кнопке Excel числового значения из) и критерия (СУММЕСЛИМН (SUMIFS)Пока ломаю головуМожно так же вычислять Если список аргументов
на рисунке: Таблице 1 в в статье «Функция форматирования. В нём есть, путем выделения он равен 47921,53. данных в ячейках, произведен ввод всех определенного числа, но«OK»Критерии представляют собой условия, статьи Поиск позицииБумага, Карандаши, Ручки
: как можно сделать грядущие даты. Эту состоит из конкретных
- Все фактуры отсортированные относительно столбце выбранной даты; «СУММЕСЛИ» в Excel». также в области строчки с датами. Это означает, что которые соответствуют определенному необходимых данных (всего меньше другого числа,. при которых программа ЧИСЛА с выводом
Условное форматирование
).=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2; это… задачу она решает значений, то формула дат транзакций.и т.д.В Excel можно«Образец»Устанавливаем курсор в поле
начиная с 11.03.2017, условию. Синтаксис таков: 10 полей), жмем следует в качестве
- Происходит активация окна аргументов выполняет определенные действия. соответствующего значения изЭто обычная формула (не Условие2 … )
- китин в совокупности с ВЫБОР возвращает одноЧтобы автоматически экспонировать цветомТо есть, дата, написать ссылки наотображается синий цвет.«Условие2» и до конца=СУММЕСЛИ(диапазон;критерий;[диапазон_суммирования]) на кнопку аргумента
- вышеуказанного оператора. В Они применяются в соседнего столбца. Для формула массива), т.е.где: а файл с функцией ДЕНЬНЕД. Например, из значений согласно необходимые суммы, необходимо: выбираемая пользователем в несколько листов в Тут нам нужно. Вторым условием является анализируемого периода, общаяАргумент«OK»«Диапазон условия» поле целом ряде встроенных этого типа задач можно вводить иДиапазон_чисел группой крови на пользователь делает небольшие
- индексу.Выделите диапазон ячеек A2:C14 ячейке J3, определяет большой формуле быстро. произвести одно единственное то, что дни, выручка по Магазину«Диапазон».несколько раз указать«Диапазон» функций. В их в EXCEL существует использовать ее привычным
- - диапазон с рукаве? отчеты о проделаннойЕсли аргументы – ссылки и выберите инструмент: номер столбца, в Например, сложить данные действие: клацнуть по за которые будет 1 составила 47921,53указывает на областьПрограмма производит подсчет и
- один и тотследует указать область названии чаще всего специальная функция ВПР(), образом. Кроме того, числами, из которых
Udik работе и сдает на ячейки, то
«ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило». котором ищется значение
отчетов, расположенных на кнопке суммироваться выручка, должны рубля. ячеек, которые будут выводит результат на же массив. Но ячеек, среди которых присутствует выражение но для ее в той же выбирается минимальное или: без файла сложно их начальнику каждый функция вернет ссылки.В появившемся окне «Создание ячеек диапазона I4:I8, разных листах. Подробнее,«OK» быть не позже
Завершим изучение операторов, которые
lumpics.ru
Сложить выборочно данные из таблицы Excel.
проверяться на соблюдение экран. Как видим, при этом в будет производиться подсчет.«ЕСЛИ» решения можно использовать категории можно найти максимальное отвечать. А так вторник. Можно рассчитатьВЫБОР возвращает ссылку на правила форматирования» выберите нужное для возвращения смотриет в статье.
13 марта. Поэтому используют критерии, остановившись условия. По сути, он равен числу
качестве соответствующих аргументов В нашем случае. К данной группе и другие функции функцииДиапазон_проверки — например, расширенный
дату следующего вторника. интервал В1:В7. А опцию: «Использовать формулу конкретной фамилии в «Ссылки в ExcelПосле выполнения последнего действия,
записываем следующее выражение:
на функции он задается по 3. Это означает,«Условие» следует выделить содержимое операторов, прежде всего,
(про функцию ВПР()БДСУММ (DSUM)- диапазон, который фильтр.В первом столбце вспомогательной функция СУММ использует
для определения форматированных соответствующий диапазон К4:К8
на несколько листов все ячейки выделенного«.СУММЕСЛИМН тому же принципу, что в трехследует указывать разные строки нужно отнести см. эту статью)., проверяется на выполнениеenzo таблицы – номера
этот результат в ячеек».Guest сразу».
массива, где содержитсяПереходим в поле. Задачей данной математической что и одноименный днях из анализируемой критерии.«Магазин 2»СЧЁТЕСЛИРешениеДМАКС (DMAX) условия: Извиняюсь))) прикладываю! дней недели. В качестве аргумента.В поле ввода введите
:PerineiKa число большее, чем«Диапазон условия2» функции является суммирование аргумент функции недели выручка воНа примере все той, в которой расположены,Если несколько значений удовл.
excel-office.ru
автоматический выбор значения из таблицы по двум критериям
,Условиеsboy
третьем столбце –Аргументы-значения могут быть представлены
формулу: 5000′ class=’formula’>Микки: Доброго времени, уважаемые 14000, будут залиты. В данном случае значений указанных областейСЧЁТЕСЛИ всех торговых точках
же таблицы с значения выручки поСЧЁТЕСЛИМН критериюБСЧЁТ (DCOUNT)- критерий отбора: количество дней, которое отдельными значениями:Нажмите на кнопку формат,
: Вам задали Вы Форумчане! синим цветом.
нам нужно выделить таблицы, отобранных по
. превышала установленную для
недельной выручкой магазинов дням. Ставим курсор,=ВПР($D$4;A4:B15;2;ЛОЖЬ), которые используются совершенноНапример, в нашемenzo
нужно прибавить кОсобенности использования функции: чтобы задать цвет
и решайте ВыПрошу неучу в
Более подробно о возможностях тот самый массив, нескольким параметрам. Синтаксис«Критерий» них норму. посмотрим, как это в указанное полеСУММЕСЛИберется аналогично, но умеют случае:
, Очень творческий пример)))) текущей дате, чтобыЕсли индекс представлен дробью,
заливки для ячеек,
же не 35 проблеме:
условного форматирования рассказывается
адрес которого был указанного оператора таков:— является обязательнымТеперь несколько изменим задачу. работает. Нам нужно и, зажав левую,первое находить не толькоПросто, красиво, изящно. Одна улыбался от души)
получить следующий вторник. то функция возвращает например – зеленый. девчонок файл неиз приложенной таблицы в отдельной статье. внесен, как массив
=СУММЕСЛИМН(диапазон_суммирования;диапазон_условия1;условие1;диапазон_условия2;условие2;…) аргументом, задающим параметр Нам следует посчитать узнать количество дней кнопку мыши, выделяемСУММЕСЛИМНсверху минимум, но и
проблема — функции
почему у всех Например, к понедельнику
меньшее целое значение. И нажмите на открывал но похоже по 2 признакамУрок: Условное форматирование в суммирования.«Диапазон суммирования» отбора ячеек из количество дней, в недели, когда доход
соответствующий массив в. Кроме встроенных операторов,=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1) сумму, максимум иМИНЕСЛИ телка Маша? необходимо добавить 1Если индекс – массив всех открытых окнах на ИНДЕКС(ПОИКПОЗ();ПОИСКПОЗ();;) Ройте
(в моем случае
программе ЭксельПосле того, как адрес— это аргумент, указанной области данных, которых Магазин 1 во всех указанных таблице. Адрес выделенного критерии в Excelберется
количество значений пои
китин день, ко вторнику значений, то функция кнопку ОК.SerjVorotilov по возрасту иКак видим, с помощью
указанного массива отобразился являющийся адресом того которые будут суммироваться. получил выручку, превышающую торговых точках достигал массива отобразится в
используются также припервое условию.МАКСЕСЛИ
: формула массива – 7 дней ВЫБОР вычисляет каждый
В результате мы получили: И, все же, полу)найти значение тариф инструментов, использующих при в окне, переходим массива, ячейки в Принципы указания те 14000 рублей, но
установленной для них окне. условном форматировании. РассмотримсверхуЕсли в исходной таблицепоявились только начиная
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(Таблица3[имя];НАИМЕНЬШИЙ(ЕСЛИ(Таблица3[группа крови]=$R$1;СТРОКА(Таблица3[имя])-2);СТРОКА(A1)));»») (до следующего вторника).
аргумент.
желаемый эффект. Все хотелось бы поподробнее, и перенести в своей работе критерии, к полю
котором, отвечающие определенному же, что и меньшую, чем 17000 нормы. Нормы выручкиВ следующем поле
их применение при=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1) очень много строк, с 2016 версииUdikВ ячейку F2 запишемЕсли индекс не совпадает дни, в которых т.к. своего опыта заглавную (ячейка выделена в Экселе можно
«Условие3» критерию, будут складываться. у аналогичных аргументов рублей.
следующие:«Критерий» работе с различнымиберется
но данные меняются Excel. Если у: Расширеный фильтр с текущую дату (СЕГОДНЯ()). с номером аргумента сумма транзакции превышает для решения вопроса красным красным).
решать довольно разноплановые. Учитывая, что в«Диапазон условия» предыдущих операторов, которыеСтавим курсор в элемент,Магазин 1 – 14000как раз нужно инструментами данного табличногопервое не часто, то
вас (или тех, макросом А в ячейку
planetaexcel.ru
Как выбрать суммы по условию в Excel
в списке (меньше 5000 выделились зеленым не хватает.Перечитала почти весь задачи. Это может суммировании будут принимать— аргумент, представляющий были рассмотрены нами где будет произведен рублей;
Как выбрать значения по условию в Excel
задать непосредственный параметр процессора более подробно.сверху удобнее будет использовать кто будет потомenzo F3 – формулу 1 или больше цветом.Алгоритм действий понимаю,
форум, но только быть, как подсчет
участие только значения, собой массив данных,
- выше. вывод на листМагазин 2 – 15000
- отбора. В нашемГлавной задачей оператора=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2)) сводную таблицу, т.к. работать с вашим
- : для расчета даты
- последнего значения), тоВ формуле основную задачу а вот как это нашла: я сумм и значений, величина которых превышает проверяемый на соответствие
«Диапазон суммирования» результатов подсчета. Клацаем рублей; случае нужно подсчитатьСЧЁТЕСЛИберется
формула массива и файлом) более старыекитин следующего вторника: функция выдает ошибку берет на себя его представить формулой или не до так и форматирование, 14000 рублей, вносим условию;— это необязательный по пиктограммеМагазин 3 – 24000 только те элементы, относящегося к статистическойпоследнее функция ДМИН могут версии, то придется, Спасибо то чтоИндекс определяется с помощью #ЗНАЧ!. функция =СУММЕСЛИ(). Она — нет.
конца понимаю тонкости,
Как формула Excel позволяет выбрать значения по условию?
а также выполнение запись следующего характера:«Условие» аргумент. Он указывает«Вставить функцию» рублей; таблицы, в которых группе, является подсчетсверху сильно тормозить Excel. шаманить другими способами. нужно)! функции ДЕНЬНЕД, которая суммирует только теТ.е., формула изначально ну или просто многих других задач.«>14000»— аргумент, представляющий на конкретную область
exceltable.com
Функция ВЫБОР в Excel ее синтаксис и примеры использования
над рабочей площадьюМагазин 4 – 11000 значение превышает 15000. занятых различными значениями=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)Установите активную ячейку вВ английской версии этоenzo возвращает для заданнойФункция ВЫБОР решает задачи значения, которые соответствуют
Аргументы и особенности синтаксиса
должна проверять диапазон не хватает мозга Основными инструментами, работающими
.
- собой критерий отбора массива, в которой листа. рублей; Поэтому с помощью ячеек, которые удовлетворяютесли столбец отсортирован по любое место нашей будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена])):
- даты соответствующего дня по представлению значений определенным критериям в дат C3:G3. для додумать. Простите в данной программеПосле выполнения последнего действия для сложения. будет производиться суммирование.Так как мы совсемМагазин 5 – 32000 клавиатуры вбиваем в определенному заданному условию. возрастанию, то берется
умной таблицы иНе забудьте после вводаsboy недели. из списка в ее аргументах. ВПри обнаружении нужной ели что-то не с критериями, то клацаем по кнопкеДанная функция подразумевает операции Если его опустить недавно применяли формулу
рублей. указанное поле выражение Его синтаксис следующий:
последнее выберите на вкладке этой формулы в, не знаю ,Как использовать функцию
Excel. Например, диапазон первом аргументе указывается
даты (равной дате
- внятно сформулировала!!! есть, с определенными«OK»
- сразу с несколькими и не указывать,СЧЁТЕСЛИМНДля выполнения вышеуказанной задачи,
- «>15000»=СЧЁТЕСЛИ(диапазон;критерий)сверху, если нет,Вставка — Сводная таблица первую зеленую ячейку друг отправил, чтобВПР (VLOOKUP)
А2:А8 содержит номера
Функция ВЫБОР в Excel: примеры
диапазон ячеек где из ячейки J3)Помогите пожалуйста-уж очень условиями, при выполнении. наборами подобных операторов. то по умолчанию, то теперь не выделяем курсором элемент.Как видим, у данного то результат
(Insert — Pivot G4 нажать не сделал я, видимодля поиска и
недели от 1 находятся данные для она, в столбце хочется облегчить работу которых активируется указанноеПрограмма выводит результат наПосмотрим, как данный оператор считается, что он
обязательно переходить в рабочего листа, кудаПосле того, как все оператора два аргумента.непредсказуем Table) Enter, а Ctrl+Shift+Enter, Маша его обидела) выборки нужных значений
до 7. Необходимо сравнения со значением под этой датой,
35 девчёнок!!! действие, является набор лист. Он равен применим для решения равен значению обязательного группу будет выводиться итог вышеуказанные манипуляции произведены,«Диапазон»=СУММПРОИЗВ((A4:A15=D4)*(B4:B15)). В появившемся окне чтобы ввести ееВ Microsoft Excel давно из списка мы
отобразить день недели указанном во втором должна искать значениеGIG_ant встроенных функций, а 62491,38. Это означает, задач в контексте аргумента
«Статистические» обработки данных клацаем по кнопкепредставляет собой адрессоответствующие значения суммируются
нажмите как формулу массива. есть в стандартном недавно разбирали. Если прописью, то есть аргументе. В третьем равное значению ячейки
: =СУММПРОИЗВ((A6:A101=B3)*(B6:B101=B2)*C6:C101) также условное форматирование.
что за период нашей таблицы выручки«Диапазон»Мастера функцийСЧЁТЕСЛИМН«OK» массива элементов на=СУММЕСЛИ(A4:A15;D4;B4:B15)ОК Затем формулу можно наборе функции
вы еще с «понедельник», «вторник», «среда», аргументе указываем суммы I4.PerineiKa
Автор: Максим Тютюшев с 09 по от реализации в.. Наименование данного оператора. Клацаем по иконке. листе, в которыхсоответствующие значения суммируются: скопировать на остальные
СЧЁТЕСЛИ (COUNTIF) ней не знакомы «четверг», «пятница», «суббота», для суммирования. ОбратитеНайдя это значение,: ОГРОМНОЕ СПАСИБО!!!!!Можно 13 марта 2017 торговых точках. НамТеперь, как всегда, рассмотрим можно найти в«Вставить функцию»Программа производит подсчет и
следует произвести подсчет.=БИЗВЛЕЧЬ(A3:B15;2;F15:F16)В конструкторе сводной таблицы товары в ячейки, — загляните сюда,
«воскресенье». внимание на то, мы получим номеря реально 2в Excelсложить выборочно данные
exceltable.com
Поиск нужных данных в диапазоне
года сумма выручки нужно будет подсчитать применение данного оператора категории. выводит результат в«Критерий»возвращается ошибка #ЧИСЛО! перетащите поле G5:G6.СУММЕСЛИ (SUMIF) не пожалейте пятиПо такому же принципу
что в первом строки, в которой дня рыла по из ячеек при сложении её доход, который принес на практике. На«10 недавно использовавшихся»Перейдя в элемент листа, который— это аргумент,Для функции ВПР() требуется,Товар
Давайте разберем логику работыи минут, чтобы сэкономить можно выводить отметки,
и третьем аргументах в параллельном столбце
сайтам и литературе!
. Так можно посчитать, за дни, в Магазин 1 за основе той же. Выделяем его иМастер функций был выделен перед который задаёт условие, чтобы столбец, пов область строк, этой формулы поподробнее.СРЗНАЧЕСЛИ (AVERAGEIF) себе потом несколько баллы, времена года мы используем абсолютные и находится фамилия, Стыдно было за
например, сумму товарного которых она превышает период с 09 таблицы перед нами щелкаем по кнопке, снова перемещаемся в активацией что именно должны которому производится поиск, а Функция ЕСЛИ проверяети их аналоги,
planetaexcel.ru
Как вывести список из таблицы согласно определенному условию (Формулы/Formulas)
часов. прописью. адреса ссылок. В которая нам нужна. свою неграмотность, тут чека, т. д. 14000 рублей, составила по 13 марта стоит задача подсчитать«OK» блокМастера функций содержать ячейки указанной был левее столбца,Цену каждую ячейку массива позволяющие искать количество,Если же вы знакомыТеперь рассмотрим можно склонять то время какПостарался написать максимально почитала и решилась У нас есть
62491,38 рубля. 2017 года. При сумму выручки в
.«Статистические». Как видим, в области, чтобы быть
который используется дляв область значений. из столбца сумму и среднее с ВПР, то
слова с помощью во-втором аргументе применяется
понятно) задать вопрос….. список товаров, вПоследним, описанным нами, инструментом, этом при суммировании Магазине 1 заОткрывается уже знакомое нам
. В перечне следует данном случае результат включенными в подсчет.
вывода. Обойти это Чтобы заставить своднуюТовар
в таблице по — вдогон - Excel. Например, слово смешанная ссылка наСпасибо .
дай Вам Бог котором указаны заказчики. при работе с дохода должны учитываться период, начиная с окошко аргументов оператора отыскать наименование
excelworld.ru
Поиск минимального или максимального значения по условию
равен числу 5. В качестве параметра ограничение позволяет, например, вычислять не суммуна предмет равенства одному или нескольким стоит разобраться с «рубль»: «0 рублей», ячейку.davaispoem всего доброго в Нам нужно узнать, которым используются критерии, только те дни, 11.03.2017.СЧЁТЕСЛИМНСЧЁТЕСЛИМН Это означает, что может быть использовано
вариант с использованием (или количество), а текущему товару ( условиям. Но что похожими функциями:
«1 рубль», «2: Пожалуйста, подскажите как жизни!!!! на какую сумму является условное форматирование. выручка в которыхВыделяем ячейку, в которой. Ставим курсор ви произвести его
в выделенном массиве числовое выражение, текст функций ИНДЕКС() и минимум щелкните правойБумага если нужно найтиИНДЕКС (INDEX) рубля», «3 рубля»,Таким образом Excel проверяет раскидать даты поvikttur конкретный заказчик купил Он выполняет указанный превысила 14000 рублей. будет производиться вывод поле выделение. После выполнения в пяти ячейках или ссылка на ПОИСКПОЗ(). Эквивалентная формула кнопкой мыши по). Если это так, не сумму илии «4 рубля», «5 каждую ячейку в месяцам, в диапазон: =ИНДЕКС((C6:C53;C54:C101);B3-17;;(B2=»м»)+1) конкретный товар. У вид форматирования ячеек,Снова выделяем ячейку для результата. Щелкаем по«Диапазон условия1» указанного действия требуется находятся значения превышающие
Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016
ячейку, в которой приведена в статье любому числу и то выдается соответствующее среднее, а минимумПОИСКПОЗ (MATCH) рублей» и т.д. столбце A и которых они входят?PerineiKa нас есть такая которые отвечают заданным вывода итога и пиктограмме
и, произведя зажим произвести нажатие на
15000. То есть,
- критерий содержится. При о функции ВПР(). выберите в контекстном ему значение из или максимум по
- , владение которыми весьмаС помощью функции ВЫБОР берет из нееvikttur
- : ОГРОМНОЕ СПАСИБО ЗА таблица.
условиям. Взглянем на клацаем по пиктограмме
«Вставить функцию» левой кнопки мыши, кнопку можно сделать вывод, этом, для указанияЗадача подразумевает, что диапазон меню команду столбца условию(ям)? облегчит жизнь любому можно вернуть ссылку критерии для вычисления: Обратите внимание на ПОМОЩЬ!!!! и первая
Способ 2. Формула массива
Мы хотим узнать, сколько пример работы с
«Вставить функцию». выделяем все ячейки,«OK» что в Магазине критерия можно использовать поиска содержит неповторяющиесяИтоги по — МинимумЦенаПредположим, нам нужно найти опытному пользователю Excel.
на диапазон. Это (даты транзакций). Нам диапазон G4:U4 - и вторая формула хлеба заказывал Иванов. условным форматированием..Перейдя в в которых содержится. 2 в пяти следующие знаки: значения. В самом:. В противном случае минимальную цену для Гляньте на следующий
позволяет делать вычисления нужна сумма по форматирование и отсутствие работают!!! Можно снахальничать В пустых ячейкахВыделим те ячейки таблицыВМастер функций выручка по днямВслед за выполнением вышеуказанного днях из анализируемых« ( деле, если критериюВытаскивать данные из сводной
– логическое значение каждого товара в пример: над массивами данных условию, поэтому если объединенных ячеек. и попросить Вашего заполняем другую табличку: синим цветом, гдеМастере функций
Способ 3. Функция баз данных ДМИН
в блоке Магазина 1. Они алгоритма действий открывается семи выручка превысила«меньше»), удовлетворяет сразу несколько в дальнейшие расчеты ЛОЖЬ (FALSE). базе данных по
Необходимо определить регион поставки по заданному пользователем возвращаемый результат функциейdavaispoem совета- не поделитесьВ ячейке F1 значения за день, прежде всего, выполняем
- «Математические» расположены в строке, окно аргументов 15000 рублей.
- «>» значений, то из теперь можно сТаким образом внешняя функция поставщикам:
- по артикулу товара, критерию. Рассмотрим пример (касается конкретного дня): Спасибо, даты начала ссылкой, где для пишем фамилию заказчика превышают 14000 рублей. перемещение в блокнаходим и выделяем которая так иСЧЁТЕСЛИМН
Урок: Мастер функций в( какой строки выводить помощью функцииМИН (MIN)Таким образом, условием будет набранному в ячейку суммирования выручки в является больше чем месяца увидела, формула, «даунов» можно поподробнее – «Иванов», вВыделяем весь массив элементов«Математические» наименование называется. программе Эксель«больше» соответствующее ему значение
Способ 4. Сводная таблица
ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA)выбирает минимальное не наименование товара ( C16. заданном пользователем магазине. 5000, то целая работает, но не почитать на тему ячейке F2 пишем
в таблице, в, а там выделяем«СУММЕСЛИ»«Магазин 1»В полеСледующей функцией, которая оперирует), из соседнего столбца?, которую мы подробно из всех значенийбумага
Задача решается при помощиИмеются данные по выручке формула возвращает значение протягивается для следующих создания подобных формул??? наименование товара, по котором указана выручка пункт под названием. Клацаем по кнопке. После этого координаты«Диапазон условия1» критериями, является«=» Если все же разбирали ранее: цен, а только,
двух функций: в нескольких торговых ИСТИНА и сразу ячеек, возможно гдетоvikttur которому хотим посчитать торговых точек по
planetaexcel.ru
«СУММЕСЛИМН»
Во второй части нашего учебника по функции ВПР (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 следует использовать соответствующий инструмент для анализа данных.
Подбор параметра и решение уравнений в Excel
Данный инструмент следует применять для анализа данных с одним неизвестным (или изменяемым) условием. Например:
2x+1=7
- y=7 является функцией x;
- нам известно значение y, следует узнать при каком значении x мы получим y вычисляемый формулой.
Решим данную задачу встроенными вычислительными инструментами Excel для анализа данных:
- Заполните ячейки листа, так как показано на рисунке:
- Перейдите в ячейку B2 и выберите инструмент, где находится подбор параметра в Excel: «Данные»-«Работа с данными»-«Анализ что если»-«Подбор параметра».
- В появившемся окне заполните поля значениями как показано на рисунке, и нажмите ОК:
В результате мы получили правильное значение 3.
Получили максимально точный результат: 2*3+1=7
Второй пример использования подбора параметра для уравнений
Немного усложним задачу. На этот раз формула выглядит следующим образом:
x2=4
Решение:
- Заполните ячейку B2 формулой как показано на рисунке:
- Выберите встроенный инструмент: «Данные»-«Работа с данными»-«Анализ что если»-«Подбор параметра» и снова заполните его параметрами как на рисунке (в этот раз значение 4):
- Сравните 2 результата вычисления:
Обратите внимание! В первом примере мы получили максимально точный результат, а во втором – максимально приближенный.
Это простые примеры быстрого поиска решений формул с помощью Excel. Сегодня каждый школьник знает, как найти значение x. Например:
x=(7-1)/2
Excel в своих алгоритмах инструментов анализа данных использует более простой метод – подстановки. Он подставляет вместо x разные значения и анализирует, насколько результат вычислений отклоняется от условий указанных в параметрах инструмента. Как только будет, достигнут результат вычисления с максимальной точностью, процесс подстановки прекращается.
По умолчанию инструмент выполняет 100 повторений (итераций) с точностью 0.001. Если нужно увеличить количество повторений или повысить точность вычисления измените настройки: «Файл»-«Параметры»-«Формулы»-«Параметры вычислений»:
Таким образом, если нас не устраивает результат вычислений, можно:
- Увеличить в настройках параметр предельного числа итераций.
- Изменить относительную погрешность.
- В ячейке переменной (как во втором примере, A3) ввести приблизительное значение для быстрого поиска решения. Если же ячейка будет пуста, то Excel начнет с любого числа (рандомно).
Используя эти способы настроек можно существенно облегчить и ускорить процесс поиска максимально точного решения.
О подборе нескольких параметров в Excel узнаем из примеров следующего урока.
Skip to content
В этой статье мы сосредоточимся на функции Excel СЧЕТЕСЛИ (COUNTIF в английском варианте), которая предназначена для подсчета ячеек с определённым условием. Сначала мы кратко рассмотрим синтаксис и общее использование, а затем я приведу ряд примеров и предупрежу о возможных причудах при подсчете по нескольким критериям одновременно или же с определёнными типами данных.
По сути,они одинаковы во всех версиях, поэтому вы можете использовать примеры в MS Excel 2016, 2013, 2010 и 2007.
- Примеры работы функции СЧЕТЕСЛИ.
- Для подсчета текста.
- Подсчет ячеек, начинающихся или заканчивающихся определенными символами
- Подсчет чисел по условию.
- Примеры с датами.
- Как посчитать количество пустых и непустых ячеек?
- Нулевые строки.
- СЧЕТЕСЛИ с несколькими условиями.
- Количество чисел в диапазоне
- Количество ячеек с несколькими условиями ИЛИ.
- Использование СЧЕТЕСЛИ для подсчета дубликатов.
- 1. Ищем дубликаты в одном столбце
- 2. Сколько совпадений между двумя столбцами?
- 3. Сколько дубликатов и уникальных значений в строке?
- Часто задаваемые вопросы и проблемы.
Функция Excel СЧЕТЕСЛИ применяется для подсчета количества ячеек в указанном диапазоне, которые соответствуют определенному условию.
Например, вы можете воспользоваться ею, чтобы узнать, сколько ячеек в вашей рабочей таблице содержит число, больше или меньше указанной вами величины. Другое стандартное использование — для подсчета ячеек с определенным словом или с определенной буквой (буквами).
СЧЕТЕСЛИ(диапазон; критерий)
Как видите, здесь только 2 аргумента, оба из которых являются обязательными:
- диапазон — определяет одну или несколько клеток для подсчета. Вы помещаете диапазон в формулу, как обычно, например, A1: A20.
- критерий — определяет условие, которое определяет, что именно считать. Это может быть число, текстовая строка, ссылка или выражение. Например, вы можете употребить следующие критерии: «10», A2, «> = 10», «какой-то текст».
Что нужно обязательно запомнить?
- В аргументе «критерий» условие всегда нужно записывать в кавычках, кроме случая, когда используется ссылка либо какая-то функция.
- Любой из аргументов ссылается на диапазон из другой книги Excel, то эта книга должна быть открыта.
- Регистр букв не учитывается.
- Также можно применить знаки подстановки * и ? (о них далее – подробнее).
- Чтобы избежать ошибок, в тексте не должно быть непечатаемых знаков.
Как видите, синтаксис очень прост. Однако, он допускает множество возможных вариаций условий, в том числе символы подстановки, значения других ячеек и даже другие функции Excel. Это разнообразие делает функцию СЧЕТЕСЛИ действительно мощной и пригодной для многих задач, как вы увидите в следующих примерах.
Примеры работы функции СЧЕТЕСЛИ.
Для подсчета текста.
Давайте разбираться, как это работает. На рисунке ниже вы видите список заказов, выполненных менеджерами. Выражение =СЧЕТЕСЛИ(В2:В22,»Никитенко») подсчитывает, сколько раз этот работник присутствует в списке:
Замечание. Критерий не чувствителен к регистру букв, поэтому можно вводить как прописные, так и строчные буквы.
Если ваши данные содержат несколько вариантов слов, которые вы хотите сосчитать, то вы можете использовать подстановочные знаки для подсчета всех ячеек, содержащих определенное слово, фразу или буквы, как часть их содержимого.
К примеру, в нашей таблице есть несколько заказчиков «Корона» из разных городов. Нам необходимо подсчитать общее количество заказов «Корона» независимо от города.
=СЧЁТЕСЛИ(A2:A22;»*Коро*»)
Мы подсчитали количество заказов, где в наименовании заказчика встречается «коро» в любом регистре. Звездочка (*) используется для поиска ячеек с любой последовательностью начальных и конечных символов, как показано в приведенном выше примере. Если вам нужно заменить какой-либо один символ, введите вместо него знак вопроса (?).
Кроме того, указывать условие прямо в формуле не совсем рационально, так как при необходимости подсчитать какие-то другие значения вам придется корректировать её. А это не слишком удобно.
Рекомендуется условие записывать в какую-либо ячейку и затем ссылаться на нее. Так мы сделали в H9. Также можно употребить подстановочные знаки со ссылками с помощью оператора конкатенации (&). Например, вместо того, чтобы указывать «* Коро *» непосредственно в формуле, вы можете записать его куда-нибудь, и использовать следующую конструкцию для подсчета ячеек, содержащих «Коро»:
=СЧЁТЕСЛИ(A2:A22;»*»&H8&»*»)
Подсчет ячеек, начинающихся или заканчивающихся определенными символами
Вы можете употребить подстановочный знак звездочку (*) или знак вопроса (?) в зависимости от того, какого именно результата вы хотите достичь.
Если вы хотите узнать количество ячеек, которые начинаются или заканчиваются определенным текстом, независимо от того, сколько имеется других символов, используйте:
=СЧЁТЕСЛИ(A2:A22;»К*») — считать значения, которые начинаются с « К» .
=СЧЁТЕСЛИ(A2:A22;»*р») — считать заканчивающиеся буквой «р».
Если вы ищете количество ячеек, которые начинаются или заканчиваются определенными буквами и содержат точное количество символов, то поставьте вопросительный знак (?):
=СЧЁТЕСЛИ(С2:С22;»????д») — находит количество буквой «д» в конце и текст в которых состоит из 5 букв, включая пробелы.
= СЧЁТЕСЛИ(С2:С22,»??») — считает количество состоящих из 2 символов, включая пробелы.
Примечание. Чтобы узнать количество клеток, содержащих в тексте знак вопроса или звездочку, введите тильду (~) перед символом ? или *.
Например, = СЧЁТЕСЛИ(С2:С22,»*~?*») будут подсчитаны все позиции, содержащие знак вопроса в диапазоне С2:С22.
Подсчет чисел по условию.
В отношении чисел редко случается, что нужно подсчитать количество их, равных какому-то определённому числу. Тем не менее, укажем, что записать нужно примерно следующее:
= СЧЁТЕСЛИ(D2:D22,10000)
Гораздо чаще нужно высчитать количество значений, больших либо меньших определенной величины.
Чтобы подсчитать значения, которые больше, меньше или равны указанному вами числу, вы просто добавляете соответствующий критерий, как показано в таблице ниже.
Обратите внимание, что математический оператор вместе с числом всегда заключен в кавычки .
критерии |
Описание |
|
Если больше, чем |
=СЧЕТЕСЛИ(А2:А10;»>5″) |
Подсчитайте, где значение больше 5. |
Если меньше чем |
=СЧЕТЕСЛИ(А2:А10;»>5″) |
Подсчет со числами менее 5. |
Если равно |
=СЧЕТЕСЛИ(А2:А10;»=5″) |
Определите, сколько раз значение равно 5. |
Если не равно |
=СЧЕТЕСЛИ(А2:А10;»<>5″) |
Подсчитайте, сколько раз не равно 5. |
Если больше или равно |
=СЧЕТЕСЛИ(А2:А10;»>=5″) |
Подсчет, когда больше или равно 5. |
Если меньше или равно |
=СЧЕТЕСЛИ(А2:А10;»<=5″) |
Подсчет, где меньше или равно 5. |
В нашем примере
=СЧЁТЕСЛИ(D2:D22;»>10000″)
Считаем количество крупных заказов на сумму более 10 000. Обратите внимание, что условие подсчета мы записываем здесь в виде текстовой строки и поэтому заключаем его в двойные кавычки.
Вы также можете использовать все вышеприведенные варианты для подсчета ячеек на основе значения другой ячейки. Вам просто нужно заменить число ссылкой.
Замечание. В случае использования ссылки, вы должны заключить математический оператор в кавычки и добавить амперсанд (&) перед ним. Например, чтобы подсчитать числа в диапазоне D2: D9, превышающие D3, используйте =СЧЕТЕСЛИ(D2:D9,»>»&D3)
Если вы хотите сосчитать записи, которые содержат математический оператор, как часть их содержимого, то есть символ «>», «<» или «=», то употребите в условиях подстановочный знак с оператором. Такие критерии будут рассматриваться как текстовая строка, а не числовое выражение.
Например, =СЧЕТЕСЛИ(D2:D9,»*>5*») будет подсчитывать все позиции в диапазоне D2: D9 с таким содержимым, как «Доставка >5 дней» или «>5 единиц в наличии».
Примеры с датами.
Если вы хотите сосчитать клетки с датами, которые больше, меньше или равны указанной вами дате, вы можете воспользоваться уже знакомым способом, используя формулы, аналогичные тем, которые мы обсуждали чуть выше. Все вышеприведенное работает как для дат, так и для чисел.
Позвольте привести несколько примеров:
критерии |
Описание |
|
Даты, равные указанной дате. |
=СЧЕТЕСЛИ(E2:E22;»01.02.2019″) |
Подсчитывает количество ячеек в диапазоне E2:E22 с датой 1 июня 2014 года. |
Даты больше или равные другой дате. |
=СЧЕТЕСЛИ(E2:E22,»>=01.02.2019″) |
Сосчитайте количество ячеек в диапазоне E2:E22 с датой, большей или равной 01.06.2014. |
Даты, которые больше или равны дате в другой ячейке, минус X дней. |
=СЧЕТЕСЛИ(E2:E22,»>=»&H2-7) |
Определите количество ячеек в диапазоне E2:E22 с датой, большей или равной дате в H2, минус 7 дней. |
Помимо этих стандартных способов, вы можете употребить функцию СЧЕТЕСЛИ в сочетании с функциями даты и времени, например, СЕГОДНЯ(), для подсчета ячеек на основе текущей даты.
критерии |
|
Равные текущей дате. |
=СЧЕТЕСЛИ(E2:E22;СЕГОДНЯ()) |
До текущей даты, то есть меньше, чем сегодня. |
=СЧЕТЕСЛИ(E2:E22;»<«&СЕГОДНЯ()) |
После текущей даты, т.е. больше, чем сегодня. |
=СЧЕТЕСЛИ(E2:E22;»>»& ЕГОДНЯ ()) |
Даты, которые должны наступить через неделю. |
= СЧЕТЕСЛИ(E2:E22,»=»&СЕГОДНЯ()+7) |
В определенном диапазоне времени. |
=СЧЁТЕСЛИ(E2:E22;»>=»&СЕГОДНЯ()+30)-СЧЁТЕСЛИ(E2:E22;»>»&СЕГОДНЯ()) |
Как посчитать количество пустых и непустых ячеек?
Посмотрим, как можно применить функцию СЧЕТЕСЛИ в Excel для подсчета количества пустых или непустых ячеек в указанном диапазоне.
Непустые.
В некоторых руководствах по работе с СЧЕТЕСЛИ вы можете встретить предложения для подсчета непустых ячеек, подобные этому:
СЧЕТЕСЛИ(диапазон;»*»)
Но дело в том, что приведенное выше выражение подсчитывает только клетки, содержащие любые текстовые значения. А это означает, что те из них, что включают даты и числа, будут обрабатываться как пустые (игнорироваться) и не войдут в общий итог!
Если вам нужно универсальное решение для подсчета всех непустых ячеек в указанном диапазоне, то введите:
СЧЕТЕСЛИ(диапазон;»<>» & «»)
Это корректно работает со всеми типами значений — текстом, датами и числами — как вы можете видеть на рисунке ниже.
Также непустые ячейки в диапазоне можно подсчитать:
=СЧЁТЗ(E2:E22).
Пустые.
Если вы хотите сосчитать пустые позиции в определенном диапазоне, вы должны придерживаться того же подхода — используйте в условиях символ подстановки для текстовых значений и параметр “” для подсчета всех пустых ячеек.
Считаем клетки, не содержащие текст:
СЧЕТЕСЛИ( диапазон; «<>» & «*»)
Поскольку звездочка (*) соответствует любой последовательности текстовых символов, в расчет принимаются клетки, не равные *, т.е. не содержащие текста в указанном диапазоне.
Для подсчета пустых клеток (все типы значений):
=СЧЁТЕСЛИ(E2:E22;»»)
Конечно, для таких случаев есть и специальная функция
=СЧИТАТЬПУСТОТЫ(E2:E22)
Но не все знают о ее существовании. Но вы теперь в курсе …
Нулевые строки.
Также имейте в виду, что СЧЕТЕСЛИ и СЧИТАТЬПУСТОТЫ считают ячейки с пустыми строками, которые только на первый взгляд выглядят пустыми.
Что такое эти пустые строки? Они также часто возникают при импорте данных из других программ (например, 1С). Внешне в них ничего нет, но на самом деле это не так. Если попробовать найти такие «пустышки» (F5 -Выделить — Пустые ячейки) — они не определяются. Но фильтр данных при этом их видит как пустые и фильтрует как пустые.
Дело в том, что существует такое понятие, как «строка нулевой длины» (или «нулевая строка»). Нулевая строка возникает, когда программе нужно вставить какое-то значение, а вставить нечего.
Проблемы начинаются тогда, когда вы пытаетесь с ней произвести какие-то математические вычисления (вычитание, деление, умножение и т.д.). Получите сообщение об ошибке #ЗНАЧ!. При этом функции СУММ и СЧЕТ их игнорируют, как будто там находится текст. А внешне там его нет.
И самое интересное — если указать на нее мышкой и нажать Delete (или вкладка Главная — Редактирование — Очистить содержимое) — то она становится действительно пустой, и с ней начинают работать формулы и другие функции Excel без всяких ошибок.
Если вы не хотите рассматривать их как пустые, используйте для подсчета реально пустых клеток следующее выражение:
=ЧСТРОК(E2:E22)*ЧИСЛСТОЛБ(E2:E22)-СЧЁТЕСЛИ(E2:E22;»<>»&»»)
Откуда могут появиться нулевые строки в ячейках? Здесь может быть несколько вариантов:
- Он есть там изначально, потому что именно так настроена выгрузка и создание файлов в сторонней программе (вроде 1С). В некоторых случаях такие выгрузки настроены таким образом, что как таковых пустых ячеек нет — они просто заполняются строкой нулевой длины.
- Была создана формула, результатом которой стал текст нулевой длины. Самый простой случай:
=ЕСЛИ(Е1=1;10;»»)
В итоге, если в Е1 записано что угодно, отличное от 1, программа вернет строку нулевой длины. И если впоследствии формулу заменять значением (Специальная вставка – Значения), то получим нашу псевдо-пустую позицию.
Если вы проверяете какие-то условия при помощи функции ЕСЛИ и в дальнейшем планируете производить с результатами математические действия, то лучше вместо «» ставьте 0. Тогда проблем не будет. Нули всегда можно заменить или скрыть: Файл -Параметры -Дополнительно — Показывать нули в позициях, которые содержат нулевые значения.
СЧЕТЕСЛИ с несколькими условиями.
На самом деле функция Эксель СЧЕТЕСЛИ не предназначена для расчета количества ячеек по нескольким условиям. В большинстве случаев я рекомендую использовать его множественный аналог — функцию СЧЕТЕСЛИМН. Она как раз и предназначена для вычисления количества ячеек, которые соответствуют двум или более условиям (логика И). Однако, некоторые задачи могут быть решены путем объединения двух или более функций СЧЕТЕСЛИ в одно выражение.
Количество чисел в диапазоне
Одним из наиболее распространенных применений функции СЧЕТЕСЛИ с двумя критериями является определение количества чисел в определенном интервале, т.е. меньше X, но больше Y.
Например, вы можете использовать для вычисления ячеек в диапазоне B2: B9, где значение больше 5 и меньше или равно 15:
=СЧЁТЕСЛИ(B2:B11;»>5″)-СЧЁТЕСЛИ(B2:B11;»>15″)
Количество ячеек с несколькими условиями ИЛИ.
Когда вы хотите найти количество нескольких различных элементов в диапазоне, добавьте 2 или более функций СЧЕТЕСЛИ в выражение. Предположим, у вас есть список покупок, и вы хотите узнать, сколько в нем безалкогольных напитков.
Сделаем это:
=СЧЁТЕСЛИ(A4:A13;»Лимонад»)+СЧЁТЕСЛИ(A2:A11;»*сок»)
Обратите внимание, что мы включили подстановочный знак (*) во второй критерий. Он используется для вычисления количества всех видов сока в списке.
Как вы понимаете, сюда можно добавить и больше условий.
Использование СЧЕТЕСЛИ для подсчета дубликатов.
Другое возможное использование функции СЧЕТЕСЛИ в Excel — для поиска дубликатов в одном столбце, между двумя столбцами или в строке.
1. Ищем дубликаты в одном столбце
Эта простое выражение СЧЁТЕСЛИ($A$2:$A$24;A2)>1 найдет все одинаковые записи в A2: A24.
А другая формула СЧЁТЕСЛИ(B2:B24;ИСТИНА) сообщит вам, сколько существует дубликатов:
Для более наглядного представления найденных совпадений я использовал условное форматирование значения ИСТИНА.
2. Сколько совпадений между двумя столбцами?
Сравним список2 со списком1. В столбце Е берем последовательно каждое значение из списка2 и считаем, сколько раз оно встречается в списке1. Если совпадений ноль, значит это уникальное значение. На рисунке такие выделены цветом при помощи условного форматирования.
Выражение =СЧЁТЕСЛИ($A$2:$A$24;C2) копируем вниз по столбцу Е.
Аналогичный расчет можно сделать и наоборот – брать значения из первого списка и искать дубликаты во втором.
Для того, чтобы просто определить количество дубликатов, можно использовать комбинацию функций СУММПРОИЗВ и СЧЕТЕСЛИ.
=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:A24;C2:C24)>0)*(C2:C24<>»»))
Подсчитаем количество уникальных значений в списке2:
=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:A24;C2:C24)=0)*(C2:C24<>»»))
Получаем 7 уникальных записей и 16 дубликатов, что и видно на рисунке.
Полезное. Если вы хотите выделить дублирующиеся позиции или целые строки, содержащие повторяющиеся записи, вы можете создать правила условного форматирования на основе формул СЧЕТЕСЛИ, как показано в этом руководстве — правила условного форматирования Excel.
3. Сколько дубликатов и уникальных значений в строке?
Если нужно сосчитать дубликаты или уникальные значения в определенной строке, а не в столбце, используйте одну из следующих формул. Они могут быть полезны, например, для анализа истории розыгрыша лотереи.
Считаем количество дубликатов:
=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:K2;A2:K2)>1)*(A2:K2<>»»))
Видим, что 13 выпадало 2 раза.
Подсчитать уникальные значения:
=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:K2;A2:K2)=1)*(A2:K2<>»»))
Часто задаваемые вопросы и проблемы.
Я надеюсь, что эти примеры помогли вам почувствовать функцию Excel СЧЕТЕСЛИ. Если вы попробовали какую-либо из приведенных выше формул в своих данных и не смогли заставить их работать или у вас возникла проблема, взгляните на следующие 5 наиболее распространенных проблем. Есть большая вероятность, что вы найдете там ответ или же полезный совет.
- Возможен ли подсчет в несмежном диапазоне клеток?
Вопрос: Как я могу использовать СЧЕТЕСЛИ для несмежного диапазона или ячеек?
Ответ: Она не работает с несмежными диапазонами, синтаксис не позволяет указывать несколько отдельных ячеек в качестве первого параметра. Вместо этого вы можете использовать комбинацию нескольких функций СЧЕТЕСЛИ:
Неправильно: =СЧЕТЕСЛИ(A2;B3;C4;»>0″)
Правильно: = СЧЕТЕСЛИ (A2;»>0″) + СЧЕТЕСЛИ (B3;»>0″) + СЧЕТЕСЛИ (C4;»>0″)
Альтернативный способ — использовать функцию ДВССЫЛ (INDIRECT) для создания массива из несмежных клеток. Например, оба приведенных ниже варианта дают одинаковый результат, который вы видите на картинке:
=СУММ(СЧЁТЕСЛИ(ДВССЫЛ({«B2:B11″;»D2:D11″});»=0»))
Или же
=СЧЕТЕСЛИ($B2:$B11;0) + СЧЕТЕСЛИ($D2:$D11;0)
- Амперсанд и кавычки в формулах СЧЕТЕСЛИ
Вопрос: когда мне нужно использовать амперсанд?
Ответ: Это, пожалуй, самая сложная часть функции СЧЕТЕСЛИ, что лично меня тоже смущает. Хотя, если вы подумаете об этом, вы увидите — амперсанд и кавычки необходимы для построения текстовой строки для аргумента.
Итак, вы можете придерживаться этих правил:
- Если вы используете число или ссылку на ячейку в критериях точного соответствия, вам не нужны ни амперсанд, ни кавычки. Например:
= СЧЕТЕСЛИ(A1:A10;10) или = СЧЕТЕСЛИ(A1:A10;C1)
- Если ваши условия содержат текст, подстановочный знак или логический оператор с числом, заключите его в кавычки. Например:
= СЧЕТЕСЛИ(A2:A10;»яблоко») или = СЧЕТЕСЛИ(A2:A10;»*») или = СЧЕТЕСЛИ(A2:A10;»>5″)
- Если ваши критерии — это выражение со ссылкой или же какая-то другая функция Excel, вы должны использовать кавычки («») для начала текстовой строки и амперсанд (&) для конкатенации (объединения) и завершения строки. Например:
= СЧЕТЕСЛИ(A2:A10;»>»&D2) или = СЧЕТЕСЛИ(A2:A10;»<=»&СЕГОДНЯ())
Если вы сомневаетесь, нужен ли амперсанд или нет, попробуйте оба способа. В большинстве случаев амперсанд работает просто отлично.
Например, = СЧЕТЕСЛИ(C2: C8;»<=5″) и = СЧЕТЕСЛИ(C2: C8;»<=»&5) работают одинаково хорошо.
- Как сосчитать ячейки по цвету?
Вопрос: Как подсчитать клетки по цвету заливки или шрифта, а не по значениям?
Ответ: К сожалению, синтаксис функции не позволяет использовать форматы в качестве условия. Единственный возможный способ суммирования ячеек на основе их цвета — использование макроса или, точнее, пользовательской функции Excel VBA.
- Ошибка #ИМЯ?
Проблема: все время получаю ошибку #ИМЯ? Как я могу это исправить?
Ответ: Скорее всего, вы указали неверный диапазон. Пожалуйста, проверьте пункт 1 выше.
- Формула не работает
Проблема: моя формула не работает! Что я сделал не так?
Ответ: Если вы написали формулу, которая на первый взгляд верна, но она не работает или дает неправильный результат, начните с проверки наиболее очевидных вещей, таких как диапазон, условия, ссылки, использование амперсанда и кавычек.
Будьте очень осторожны с использованием пробелов. При создании одной из формул для этой статьи я был уже готов рвать волосы, потому что правильная конструкция (я точно знал, что это правильно!) не срабатывала. Как оказалось, проблема была на самом виду… Например, посмотрите на это: =СЧЁТЕСЛИ(A4:A13;» Лимонад»). На первый взгляд, нет ничего плохого, кроме дополнительного пробела после открывающей кавычки. Программа отлично проглотит всё без сообщения об ошибке, предупреждения или каких-либо других указаний. Но если вы действительно хотите посчитать товары, содержащие слово «Лимонад» и начальный пробел, то будете очень разочарованы….
Если вы используете функцию с несколькими критериями, разделите формулу на несколько частей и проверьте каждую из них отдельно.
И это все на сегодня. В следующей статье мы рассмотрим несколько способов подсчитывания ячеек в Excel с несколькими условиями.
Ещё примеры расчета суммы:
Содержание
- Выполнение выборки
- Способ 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 может доходить до нескольких минут.
В этом случае, правильный выбор функции, применяемой для связывания таблиц, играет решающую роль — разница в производительности между ними, как мы увидим далее, может составлять более 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)
Для товара не должно быть повторов дат, иначе цены будут суммироваться (если повторяется последняя дата).