MS Excel 2010 Подсчет уникальных значений с несколькими критериями и EDATE - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь получить счетчик всех уникальных значений, перечисленных в столбце А, по штатам и в диапазоне дат, например, по всем записям до конца апреля 2018 года.

Я могу получитьчисло уникальных значений по состоянию (результат 2) по следующей формуле:

{=SUMPRODUCT(1*(FREQUENCY(IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0)),ROW($A$2:$A$14)-ROW($A$2))>0))}

, но я не могу заставить функцию IF работать с EDATE.Я попробовал следующее, но я получаю 0 в результате.Результат должен быть 1.

{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14="<"&EDATE(G1,1),IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0))),ROW($A$2:$A$14)-ROW($A$2))>0))}

Я не могу использовать Pivot, так как мне нужно включить фильтр диапазона дат.Может ли кто-нибудь посмотреть на мой код и сказать, что я делаю не так?Я использую CSE с моими формулами.Thankyou!

1 Ответ

0 голосов
/ 14 июня 2018

Мне удалось решить это.EDATE не работал, поэтому я ввел дату месяца в ячейку: G1 затем сослался на нее в формуле IF, используя «<=», например: IF (D2: D14 <= ​​G1). </p>

Формула всего массива:

`{=SUMPRODUCT(1*(FREQUENCY(IF(D2:D14<=G1,IF($C$2:$C$14=F10,MATCH($A$2:$A$14,$A$2:$A$14,0))),ROW($A$2:$A$14)-ROW($A$2))>0))}

Теперь я получаю правильный счет 1, хотя я должен убедиться, что я ввел последний день месяца в G1.Ссылка на состояние указана в F10, а количество уникальных значений - в столбце A.

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

Если кто-нибудь знает более быструю (возможно, не массивную) формулу, я был бы признателен за совет!Спасибо!

...