计算一批集合中包含指定成员的次数

有一个用Excel表格表示的赛事分组图,从C1:V13,每6列表示四个选手的一桌比赛,1-16表示16位选手的编号。

ABCDEFGHIJKLMNOPQRSTUV
11814111221431310151665
223157911131524681012
3311814153691213165214
449131548121637101426
55321116147101516121385
662143971138511641512
7712613745121118159216
8819210715816311412513

请计算出任意两名选手在同一桌的次数,用矩阵图表示。

ABCDEFGHIJKLMNOPQR
1112345678910111213141516
121
1322
14323
154222
1652112
17612122
187202011
1982102112
20932201101
2110111000201
22110123210210
231210231312113
2413310032212112
25140120002212210
261510000023222122
2716031110120111202

使用 SPL XLL,在C13输入公式:

````

=spl("=?1.conj(~.group((#-1)\6)).count( ~.contain( ?2,?3) )",$C$1:$V$8,$B13,C$11)

````

上面公式只算出了一格,需要通过拖拽算出其他格,并避开对角线(自己和自己同桌无意义)。注意整个矩阵会重复算两遍,所以只要拖拽出三角形区域就可以了。

Picture1png

函数 group 用于分组,# 表示当前成员的序号,~ 表示当前成员,函数 contain 计算指定的多个项目是否都是某个序列的成员。

免费课程、免费软件下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值