Группировка по и результат в Excel - PullRequest
0 голосов
/ 20 июня 2019

Я хочу сгруппировать по значениям в одном столбце на основе другого, а затем использовать sumproduct (все в одной формуле, без дополнительного столбца).

Вот мой пример таблицы. К сожалению, я не знаю, как создать таблицу, но вот ссылка на изображение таблицы: https://ibb.co/9pLcQ89

Country M/F number of people  
US      M   50  
US      F   40  
UK      M   75  
UK      F   60  

Я хочу получить следующий результат. Сначала сгруппировать по странам:

US = 90
UK = 135

Следующим шагом будет использование SUMPRODUCT: 90*90+135*135=26325

И, наконец, мой результат должен быть: SQRT(26325)=162.2498

Моя самая большая проблема в том, как получить номера групп по одной формуле, не используя имена США и Великобритания?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 20 июня 2019

Эта формула массива создаст уникальный список и выполнит математику:

=SQRT(SUMPRODUCT(SUMIF(A:A,INDEX(A:A,N(IF({1},MODE.MULT(IF(ROW(A2:A5)=MATCH(A2:A5,A:A,0),ROW(A2:A5)*{1,1}))))),C:C)^COUNTIF(A:A,INDEX(A:A,N(IF({1},MODE.MULT(IF(ROW(A2:A5)=MATCH(A2:A5,A:A,0),ROW(A2:A5)*{1,1}))))))))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here


При изменении ссылок не имеет значения количество стран, диапазон будет увеличиваться по мере необходимости:

=SQRT(SUMPRODUCT(SUMIF(A:A,INDEX(A:A,N(IF({1},MODE.MULT(IF(ROW(A2:INDEX(A:A,MATCH("zzz",A:A)))=MATCH(A2:INDEX(A:A,MATCH("zzz",A:A)),A:A,0),ROW(A2:INDEX(A:A,MATCH("zzz",A:A)))*{1,1}))))),C:C)^COUNTIF(A:A,INDEX(A:A,N(IF({1},MODE.MULT(IF(ROW(A2:INDEX(A:A,MATCH("zzz",A:A)))=MATCH(A2:INDEX(A:A,MATCH("zzz",A:A)),A:A,0),ROW(A2:INDEX(A:A,MATCH("zzz",A:A)))*{1,1}))))))))

![enter image description here

1 голос
/ 20 июня 2019

Вы можете использовать формулу массива (вводится с помощью CTRL + SHIFT + ENTER ):

=SQRT((SUMPRODUCT(IF(A2:A5="US",C2:C5))^COUNTIF(A2:A5,"US"))+(SUMPRODUCT(IF(A2:A5="UK",C2:C5)) ^COUNTIF(A2:A5,"UK")))

enter image description here

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