Формула массива с использованием большого Excel - PullRequest
1 голос
/ 21 марта 2012

Я пытаюсь вычислить формулу массива, основанную на верхних значениях, скажем, верхние 20% и найти отсечение

На данный момент моя формула похожа на {= max (строка (1: 7) * - (сумма (большая (косвенная (диапазон), строка (1: 7))))

, чтобы найти максимальное значение, которое не соответствует формуле, т. Е. (1,2,3,0,0,0), тогда максимальное значение поднимает 3

Может кто-нибудь дать мне несколько советов о том, где я не так?

Спасибо

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

С этими данными в A1: A10

10
8
5
6
4
2
3
1
9
7    

Суммируйте все в верхних 20% (19)

=SUM((A1:A10>PERCENTILE(A1:A10,0.8))*(A1:A10))

Найдите наибольшее число в нижних 80% (8)

=MAX((A1:A10<=PERCENTILE(A1:A10,0.8))*(A1:A10))

Найдите наименьшее число в верхних 20% (9)

=MIN(IF(A1:A10>PERCENTILE(A1:A10,0.8),(A1:A10),""))
0 голосов
/ 21 марта 2012

Возможно, вы хотите, чтобы sum(large(indirect(range),row(1:7))) возвратил массив кумулятивных значений, начиная с наибольшего до наименьшего? Вместо этого вы можете попробовать в формуле массива:

MMULT(--(ROW(1:7)>=TRANSPOSE(ROW(1:7))),LARGE(A1:A7,ROW(1:7)))

и проверьте, превышает ли эта сумма более 20% от общей суммы.

...