Генерация уникальных пар двунаправленных данных и использование для подсчета в Excel - PullRequest
0 голосов
/ 20 марта 2020

У меня есть набор данных, содержащий:

Column 1 | Column 2 | Column 3
   A          B         Good
   C          D         Good
   C          A         Bad
   D          B         Good
   B          A         Good
   A          B         Bad
   D          C         Bad

Я хочу знать, сколько раз двунаправленная комбинация AB производила хорошее и плохое, и это для всех комбинаций (так что C D, A C, BD et c). Результат должен выглядеть примерно так:

Pair | Good | Bad
A B      2     1
C D      1     1
A C      0     1
ect.

Имена пар на самом деле не имеют значения, если мы знаем, что комбинация - это AB или BA.

Как I go об этом?

Ответы [ 2 ]

2 голосов
/ 20 марта 2020

С Dynai c Массив формулы UNIQUE и FILTER:

Получить список:

=UNIQUE(IF(A2:A8<=B2:B8,A2:A8,B2:B8)&" "&IF(A2:A8>B2:B8,A2:A8,B2:B8))

Затем, используя этот вывод, получить счет:

=SUMPRODUCT(--(FILTER($C$2:$C$8,IF($A$2:$A$8<=$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)&" "&IF($A$2:$A$8>$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)=$E2)=F$1))

enter image description here


Без формулы Dynami c Array, чтобы получить uique:

=INDEX(IF($A$2:$A$8<=$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)&" "&IF($A$2:$A$8>$B$2:$B$8,$A$2:$A$8,$B$2:$B$8),AGGREGATE(15,7,ROW($ZZ$1:INDEX($ZZ:$ZZ,COUNTA(B2:B8)))/(COUNTIF($E$1:E1,IF($A$2:$A$8<=$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)&" "&IF($A$2:$A$8>$B$2:$B$8,$A$2:$A$8,$B$2:$B$8))=0),1))

И получить счет:

=SUMPRODUCT((IF($A$2:$A$8<=$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)&" "&IF($A$2:$A$8>$B$2:$B$8,$A$2:$A$8,$B$2:$B$8)=$E2)*($C$2:$C$8=F$1))

enter image description here

1 голос
/ 20 марта 2020

В порядке увеличения количества случаев:

=SUMPRODUCT((A:A="A")*(B:B="B")*(C:C="Good"))+SUMPRODUCT((A:A="B")*(B:B="A")*(C:C="Good"))

enter image description here

остальные случаи следуют аналогичной схеме.

...