проблема у меня есть 300.000 записей

Colum A = YEAR
Colum B = month
Colum C = customer number

G5 to G13 = criteria

Я хочу посчитать, сколько уникальных клиентов пр. год - я пытался использовать формулу массива - но это плохо для такого огромного набора данных ... я думаю ...

формула используется

=SUM(--(FREKVENS(HVIS(A:A=G5;SAMMENLIGN(C:C;C:C;0));RÆKKE(B:B)-RÆKKE(C1)+1)>0))

или на английском:

=SUM(--(FREQUENCY(IF(A:A=G5,MATCH(C:C,C:C,0)),ROW(B:B)-ROW(C1)+1)>0))

Это отлично работает, просто отлично, если у меня небольшой набор данных - но с моим набором данных он просто начинает рассчитывать, а затем остается на уровне 100% процессоров в течение нескольких часов

Так что мне делать?

1 ответ1

0

Использование БД не вариант - так как другие должны иметь возможность использовать это :(

Решение, которое я сделал, не красиво, но оно работает

1) Сделайте копию всех клиентов и удалите дубликаты 2) используйте VLOOKUP, чтобы найти год (так как список отсортирован в обратном порядке, он получит первый раз, когда я вижу клиента) 3) теперь я делаю простой подсчет с указанием года в качестве критерия.

Не очень особенно, потому что мне пришлось скопировать 2) вниз 465,451 строк

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .