Страницы: 1
RSS
Создание новой таблицы на основе фильтра основной таблицы (формулами)
 
Здравствуйте!
Сразу прошу прощения, подобные темы уже были, просьба к администратору, в таком случае перенаправить меня на эту тему. Ну или просто сказать "заколебали уже" и просто удалить тему)) Просто решения то вроде есть, но не могу осознать КАК это делается. Спасибо за понимание.

Суть такова: есть 2 таблицы, Таблица1 исходная, в ней множество данных. Необходимо в таблицу2 перенести только те строки где ячейка заданного массива равна "1". Можно это реализовать через расширенный фильтр, но это действие вручную и на один раз. А у меня выгружается таблица с множеством данных на один лист (исходный), а анализ данных производится на втором листе (расчетный). Поэтому мне нужно автоматическое заполнение таблицы 2, предпочтительно формулами (я из тех кто боится макросов)).
 
ну, макросов бояться не нужно. Если ваша таблица начинается с ячейки А1 (а не как в вашем примере), то я вам написал макрос. Макрос копирует данные на лист "Фильтр". Макрос можно запускать по сочетанию клавиш Alt+F8 - Выполнить. Активным должен быть лист с полной таблицей, а не лист Фильтр. См. файл.
Изменено: New - 20.01.2021 01:06:14
 
New,спасибо за демонстрацию возможности решения таких вопросов. Действительно, как я и думал, для людей сведущих в этих вопросах проблем нет.

Макросы надо обязательно осваивать - это ВЕЩЬ)). А можно ли все таки эту задачу решить через формулы?
По вопросу помощи в моей работе я напишу вам в лс.
 
New, было бы неплохо туда добавить создание данного листа если его нет и перенос с высотой и шириной ячейки оригинала
 
Тимофеев, вот добавил в код - если листа Фильтр в книге нет, то он создаётся и на него переносятся отфильтрованные данные. Так же ширина столбцов будет копируется.
 
Про макросы понятно. Как я выше написал, они вне конкуренции. Но все же по названию темы, можно ли это реализовать через формулы?

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

А вот сейчас, при решении новой задачи и новых условий, такой подход не работает. Потому как нужно собрать только те строки где есть определенное значение. И в этом варианте такие функции как ИНДЕКС, ПОИСКПОЗ не работают. Потому как искать нужно во все столбце одно значение, а ПОИСКПОЗ ищет только первое значение (тип "0"), а вот вторую, третью и тд. повторяющуюся строку не может определять.
 
расширенный фильтр предназначен строго для этой задачи:
отфильтровать данные и поместить их в заданное место
ни формул, ни макросов, несколько нажатий кнопок и вы получили нужные вам данные в заданном вами месте
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,да, действительно с этой задачей справляется расширенный фильтр, однако это дополнительные ручные алгоритмы. А мне хочется, что бы просто вставил данные с 60 тыс строками, а мне в соседней таблице сразу, по моим условиям, заполнилась таблица без ненужных мне строк.
 
Доброе время суток.
Формулой, так формулой ;)
 
Андрей VG, если у ТС не Офис 365 он получит в ячейке =_xlfn._xlws.FILTER(B3:D12;D3:D12=1), как я со своим Excel 2019
ТС, ставьте Офис 365 и применяйте функцию Фильтр и всё получится
Изменено: New - 20.01.2021 16:46:42
 
Андрей VG,  интересно. Это нестандартная функция я так понимаю? Что это и как работает? Это не функция ли "Фильтр" из 365, которой нет в Excel16? Потому что у меня при попытке изменения ячейки вычисления, не выходит. И даже в вашем варианте при попытке повторного ввода (ctrl+shift+enter) пишут "#ИМЯ?". А так бы да, это наверное то что нужно, вот только не работает у меня)
Изменено: SergeWaterman - 20.01.2021 16:58:34
 
Формулами так формулами. Никаких новинок из 365 - только хардкор :) Формула массива, если что.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, кажется это ответ на вопрос темы. Спасибо за ответ. Сейчас более подробно посмотрю, осознаю.
 
Дмитрий(The_Prist) Щербаков, спасибо за помощь - работает. Это то, что я спрашивал.

Всем спасибо большое за ответы и советы.
Страницы: 1
Наверх