Как посчитать значения в диапазоне данных с несколькими фильтрами - PullRequest
0 голосов
/ 07 января 2019

Мне нужно создать модуль, который будет подсчитывать количество значений в указанных диапазонах дат с другими критериями.

Например, у меня есть список продуктов (Продукты A, B, C, D) в столбце C и дата их продажи в столбце G. Мне нужно сосчитать весь продукт А, проданный до 1 января 1998 года. Затем мне нужно рассчитать продукт А, проданный в период с 1 января 1998 года по 1 января 2005 года и т. Д.

Мне нужно иметь возможность запускать это для всех типов продуктов и группировать продукты вместе.

например. подсчитать все продукты A & B, проданные до 1 января 1998 года.

Это должно быть сделано для новой рабочей книги на еженедельной основе, поэтому в идеале должна быть возможность запускать новую рабочую книгу каждую неделю. Названия вкладок всегда остаются прежними.

Любая помощь в том, как начать работу.

1 Ответ

0 голосов
/ 07 января 2019

В этом ответе предполагается, что ваши даты вводятся как даты Excel в столбце G, а не как текст. Вы можете проверить это по формуле =ISNUMBER(G3), где G3 - одна из ваших дат. Если он возвращает true, то ваша дата правильно сохраняется для использования формулами Excel и этим ответом.

=SUMPRODUCT((($C$1:$C$100="A")+($C$1:$C$100="B"))*($G$1:$G$100<Date(1998,1,1))

Вот как это жестко закодировать. Лично я бы построил стол. Каждая строка таблицы будет представлять собой продукт, который вы хотите знать для подсчета, а сумма подсчета даст вам объединенные итоги. Повторите таблицу, если вам нужно несколько комбинаций.

В следующем примере был подсчитан один продукт, а затем сумма для всех перечисленных продуктов была итоговой. Формула для примера в L3 и скопированная для каждого продукта была:

=SUMPRODUCT(($C$2:$C$9=$J4)*($G$2:$G$9<K4))

Сумма в нижней части таблицы была простой формулой СУММЫ. Поскольку SUMPRODUCT выполняет операции, подобные массиву, избегайте использования полных ссылок на столбцы и пытайтесь ограничить его данными, которые необходимо проверить. В противном случае вы можете заметить замедление работы вашей системы, поскольку выполняются множественные избыточные вычисления.

POC

...