Posiadam zestaw danych zawierający:

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

Chcę wiedzieć, ile razy dwukierunkowa kombinacja A B wytworzyła Dobro i Złe, i to dla wszystkich kombinacji (czyli C D, A C, B D itd.). Wynik powinien wyglądać mniej więcej tak:

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

Nazwy par tak naprawdę nie mają znaczenia, o ile wiemy, że kombinacja to AB lub BA.

Jak mam się do tego zabrać?

0
Arjan_IO 20 marzec 2020, 16:26

2 odpowiedzi

Najlepsza odpowiedź

Dzięki formule Dynamic Array UNIQUE i FILTER:

Pobierz listę:

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

Następnie, używając tego wyjścia, uzyskaj liczbę:

=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


Bez formuły Dynamic Array, aby uzyskać unikalne:

=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))

I żeby policzyć:

=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

2
Scott Craner 20 marzec 2020, 14:45

Dwukierunkowy zwiększa liczbę przypadków:

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

enter image description here

pozostałe przypadki mają podobny wzorzec.

1
Gary's Student 20 marzec 2020, 13:35