Динамически наполняемая таблица

Автор AlexMP, 26 февраля 2020, 10:20

0 Пользователи и 1 гость просматривают эту тему.

AlexMP

Добрый день, В Libre office... Есть динамическая наполняемая таблица, которая в день наполняется на 10-15 позиций (Реестр1) как сделать (максимально не нагружающую файл)  выборку  , на другие листы по месяцам, по двум заданным условиям: по дате и продукции,  а кол-во чтоб  суммировалось. Январь мы сделали.. но боимся что, файл сляжет от кол-ва формул при наполнении, нужно максимально упростить формулу.. будем очень благодарны помощи

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

bigor

#2
Или заменить ресурсожрущий sumproduct на sumifs

=SUMIFS($Реестр.$H$2:$H446;$Реестр.$E$2:$E446;N$1;$Реестр.$G$2:$G446;$A3)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

kompilainenn

#3
Цитата: Bigor от 26 февраля 2020, 10:29ресурсожрущий
сводная таблица наименее ресурсожрущий вариант, как по мне, единственно эта штука требует ручного обновления и

настройки фильтра по датам https://antilibreoffice.blogspot.com/2017/09/calc.html
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Есть еще очень простая практика "inplace"-отчетов вверху реестра. Т.е. выше Реестр1 - вставляем 12 строк для Январь-Декабрь, закрепляем область, пишем в них формулы вида =ИТОГИ() и теперь, выбрав в автофильтре Реестра1 нужный продукт/период/что угодно - мы увидим помесячные итоги (сумму, кол-во продаж, среднюю/макс/мин цену итп) в тех самых 12-ти строках.

По этим же 12-ти строкам можно построить одну-на-всё диаграмму, которая будет показывать динамику продаж, эффективность промоакций, рекламы, менеджеров итп, в зависимости от выбора фильтров. Диаграмма м.б. как на Реестр1, так и на отдельном листе. Плюсом является интерактивность, простота и скорость. Минусов нет, ведь вы имеете и сгруппированные итоги, и "исходники" в одном месте. 12-ть строк можно сгруппировать и отображать по мере необходимости анализа.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

AlexMP

Всем спасибо!!! Буду пробовать искать подходящий вариант!

eeigor

#6
Дополнение. Самый простой вариант - сводная таблица. Но она будет хранить только используемые данные: то есть товары будут те, что проданы, а даты только те, когда продано. Вы же нарисовали матрицу "без пропусков". Зачем? Если надо именно так, то есть средство - ТАБЛИЦА ПОДСТАНОВКИ с двумя входами: ПРОДУКЦИЯ в столбце слева и ДАТЫ (как у вас) в строке сверху (см. Данные/Совмещенные операции...). А месяц, год - дополнительные условия со списком выбора. Все эти параметры "стыкуются" в формуле массива  (перемножаются), а сама формула-шаблон используется для расчета каждого поля данных таблицы, для которых подставляются индивидуальные параметры-входы: "Продукция" и "Дата".
Поля итогов - снизу за ДАТУ и справа за ПРОДУКЦИЮ (товар) - подстыковываются к таблице подстановки.

Главное отличие этой реализации от вашей в том, что в таблице подстановки ОДНА ФОРМУЛА МАССИВА (или СУММПРОИЗВ, которая умеет работать с массивами и не требует фигурных скобок), а у вас по формуле в каждой ячейке.

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

По поводу обновления сводной таблицы. Макрос в несколько строк вешается на событие активации листа и всё.

Вообще, если нет информации, читайте Excel Уокенбаха. LO Calc идет по следам и реализует всё под копирку или "под кальку"...
Убедился, что многие недокументированные возможности работают и здесь, потому что они есть в Excel, и надо организовывать их совместимость...
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

bigor

Цитата: eeigor от  3 марта 2020, 00:07ОДНА ФОРМУЛА МАССИВА (или СУММПРОИЗВ, которая умеет работать с массивами и не требует фигурных скобок)
одну мы вводим, но все ячейки будут ссылаться на нее, и значит каждая ячейка будет высчитывать себя через ресурсожрущую формулу. Получится ли в таком случае разгрузить таблицу?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

eeigor

#8
Да, формулы разные. В Excel была как бы одна ф. массива {=ТАБЛИЦА}, а здесь каждая ячейка со своими параметрами... Но один макет + фильтры по году и месяцу. В этом смысле компактно. Тормозит. Но можно управлять обновлением самостоятельно.

Вообще, я удивлён, насколько недоработана сводная таблица в Calc. Разве что считает. Всё. А то, что не работает с динамическими диапазонами, совсем плохо и «умных» таблиц нет... Форматирование не держит, с моделью данных работать не умеет.

Base подойдёт лучше, но его надо знать. Я хорошо когда-то знал Access. Но новичку разбираться сложно.
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community