Подсчет количества непустых ячеек в столбце за определенную дату.

Автор kaufman, 7 февраля 2021, 18:41

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

kaufman


eeigor

Динамический диапазон. Если не СМЕЩ (OFFSET), то что?

Ответ автору на сообщение #9:
«А можно в формулах указывать диапазон ячеек от заданной (допустим, "А1") до последней заполненной на листе (допустим, "А8"). Если на листе появляется заполненная ячейка "А9", то диапазон автоматически в формулах становится как "А1:А9" вместо "А1:А8"? Т.е. возможно ли задавать диапазон ячеек в формулах типа "А1:ENDLIST"?».

Да, возможно.

Для нелюбителей летучих функций
Использование функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) для  создания динамических диапазонов, которые расширяются и сжимаются сами:
=$A$2:INDEX($A$2:$A$999;MATCH(9,9E+307;$A$2:$A$999))

Прим. "Запас" присутствует, но возвращается усечённый диапазон, какой реально заполнен данными. Ничто не мешает сослаться на весь столбец: $A:$A
В примере выше работа выполняется по числовым данным (по текстовым – иначе: через "греческую омегу", которую некоторые заменяют комбинацией "яяя" :)). Я же обещал "сложности для восприятия"... Не волатильная!

Upd1:
Вот этот самый "хвост" после красного двоеточия вначале и есть ваш ENDLIST.
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

sokol92

Цитата: kaufman от  7 февраля 2021, 22:17отталкиваться только от дат в столбце "А"

Сводные таблицы - мощный инструмент (при умелом использовании). :)
Для группировки дат в поле строк сводной таблицы выделите любую из дат в сводной таблице и вызовите пункт меню Данные/Группа и структура/Группировать (или F12). Поставьте галочки для нужных уровней группировки и вперед!
Владимир.

eeigor

@sokol92, да, сгруппировалось. Нет возможности отформатировать месяц (янв, фев и т. д.), но самое главное и печальное – неспособность работать с динамическими диапазонами. Это серьёзное ограничение для неподготовленного пользователя. Нужен макрос, закрывающий эту "дыру".

Автор в #9 пишет:
«Т.е. возможно ли задавать диапазон ячеек в формулах типа "А1:ENDLIST", просто данных много с такими формулами...»
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

sokol92

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

eeigor

@sokol92, тут не соглашусь с вами. Excel 2003 прекрасно работал с динамическими диапазонами (OFFSET, INDEX + MATCH), на смену которым в 2007 году пришли умные таблицы (ListObjects). С тех пор минуло много лет... Calc ещё не умеет.

Я, например, использую кнопку на листе "Добавить", которая вставляет пустую строку, а Calc уже сам расширяет диапазон при установленном соответствующем флажке.

Upd1:
Я опробовал вариант (сейчас нет возможности послать) с динамическими диапазонами (INDEX + MATCH) и с формулой от @Bigor, при этом динамическим диапазонам присвоил имена «Дата» и «Данные». Формула получилась короткая, понятная, та, с которой автор начинал (COUNTIFS), а диапазон – динамический и неволатильный. Но диапазон с запасом по-прежнему проще и лучше.

И этот вариант лучше сводной таблицы, которую забывают обновить.

Upd2:
Вообще, совет автору темы держать на другом листе альтернативный вариант подсчёта, с меньшей, к примеру, детализацией: результаты должны сходиться. Двойной контроль!
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

sokol92

Я в #19 писал исключительно про сводные таблицы.
Аналогом объекта ListObject Excel является объект, поддерживающий сервис DatabaseRange. Общие черты: собственные фильтр, сортировка, импорт данных, итоги. Структурированные ссылки (пока?) отсутствуют.
Владимир.

eeigor

@sokol92, мы тут кажется всё собрали. Тема стала "справочником". К ней можно обращаться.

Upd1:
Можно добавить ещё формулу SUM с одним аргументом, перемножив все условия и заключив саму формулу в фигурные скобки (формула массива).
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community