* 计算一批集合中包含指定成员的次数
有一个用Excel表格表示的赛事分组图,从C1:V13,每6列表示四个选手的一桌比赛,1-16表示16位选手的编号。
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
|
1 |
1 |
8 |
14 |
11 |
12 |
2 |
1 |
4 |
3 |
13 |
10 |
15 |
16 |
6 |
5 |
|||||||
2 |
2 |
3 |
1 |
5 |
7 |
9 |
11 |
13 |
15 |
2 |
4 |
6 |
8 |
10 |
12 |
|||||||
3 |
3 |
11 |
8 |
14 |
15 |
3 |
6 |
9 |
12 |
13 |
16 |
5 |
2 |
1 |
4 |
|||||||
4 |
4 |
9 |
13 |
1 |
5 |
4 |
8 |
12 |
16 |
3 |
7 |
10 |
14 |
2 |
6 |
|||||||
5 |
5 |
3 |
2 |
11 |
16 |
14 |
7 |
10 |
15 |
1 |
6 |
12 |
13 |
8 |
5 |
|||||||
6 |
6 |
2 |
14 |
3 |
9 |
7 |
1 |
13 |
8 |
5 |
11 |
6 |
4 |
15 |
12 |
|||||||
7 |
7 |
12 |
6 |
13 |
7 |
4 |
5 |
12 |
11 |
1 |
8 |
15 |
9 |
2 |
16 |
|||||||
8 |
8 |
1 |
9 |
2 |
10 |
7 |
15 |
8 |
16 |
3 |
11 |
4 |
12 |
5 |
13 |
请计算出任意两名选手在同一桌的次数,用矩阵图表示。
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
|
11 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
||
12 |
1 |
|||||||||||||||||
13 |
2 |
2 |
||||||||||||||||
14 |
3 |
2 |
3 |
|||||||||||||||
15 |
4 |
2 |
2 |
2 |
||||||||||||||
16 |
5 |
2 |
1 |
1 |
2 |
|||||||||||||
17 |
6 |
1 |
2 |
1 |
2 |
2 |
||||||||||||
18 |
7 |
2 |
0 |
2 |
0 |
1 |
1 |
|||||||||||
19 |
8 |
2 |
1 |
0 |
2 |
1 |
1 |
2 |
||||||||||
20 |
9 |
3 |
2 |
2 |
0 |
1 |
1 |
0 |
1 |
|||||||||
21 |
10 |
1 |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
||||||||
22 |
11 |
0 |
1 |
2 |
3 |
2 |
1 |
0 |
2 |
1 |
0 |
|||||||
23 |
12 |
1 |
0 |
2 |
3 |
1 |
3 |
1 |
2 |
1 |
1 |
3 |
||||||
24 |
13 |
3 |
1 |
0 |
0 |
3 |
2 |
2 |
1 |
2 |
1 |
1 |
2 |
|||||
25 |
14 |
0 |
1 |
2 |
0 |
0 |
0 |
2 |
2 |
1 |
2 |
2 |
1 |
0 |
||||
26 |
15 |
1 |
0 |
0 |
0 |
0 |
0 |
2 |
3 |
2 |
2 |
2 |
1 |
2 |
2 |
|||
27 |
16 |
0 |
3 |
1 |
1 |
1 |
0 |
1 |
2 |
0 |
1 |
1 |
1 |
2 |
0 |
2 |
使用 SPL XLL,在C13输入公式:
````
=spl("=?1.conj(~.group((#-1)\6)).count( ~.contain( ?2,?3) )",$C$1:$V$8,$B13,C$11)
````
上面公式只算出了一格,需要通过拖拽算出其他格,并避开对角线(自己和自己同桌无意义)。注意整个矩阵会重复算两遍,所以只要拖拽出三角形区域就可以了。
函数 group 用于分组,# 表示当前成员的序号,~ 表示当前成员,函数 contain 计算指定的多个项目是否都是某个序列的成员。
来源:https://www.reddit.com/r/excel/comments/1cceq2q/how_to_count_how_many_times_two_players_are_at/
英文版 https://c.scudata.com/article/1725351887696