龙空技术网

按奖牌排名——加权思想在excel中的应用

99excel 47

前言:

如今我们对“矩阵相加的公式”可能比较关心,同学们都想要知道一些“矩阵相加的公式”的相关知识。那么小编同时在网络上网罗了一些对于“矩阵相加的公式””的相关资讯,希望大家能喜欢,看官们快快来了解一下吧!

有粉丝提问:

这个题可以用加权的算法。因为我们在按照奖牌数量来排名的话,首先是金牌,然后是银牌,再者是铜牌,他们各有各的权重。其中金牌的权重最大。所以我们可以给每个国家的奖牌数量乘以一个数组。{1,0.01,0.0001}然后再求和。再排序。

一、给各个牌子不同的权重

考虑到奖牌数量有两位的。上面数组可以变化一下{1,0.01,0.0001}

从上图我们可以看出,由于赋予了金、银、铜牌不同的权重,只要金牌数量多于对方,无论对方银牌多少块(这里权重的设置要有依据),相加的总和都不会超过自身。

二、根据权重,求出各国家地区的”分数“

上图中可以看出大致的求分数方法,但这么多国家一起,sum肯定不合适,这就引入了矩阵求和公式mmult.这个函数在这里是经典的用法

=MMULT(C2:E2,1%^{0;1;2})

说明:

1、此处拿一个国家举例,检验对错

2、1%^{0;1;2}是一个求幂的运算,本质就是{1;0.01;0.0001}

我们将mmult的第一参数扩展到整个表格,就可以得出各个国家地区的加权分数了,我们将据此排名

补充一下,对mmult函数不了解的,也不用非得用这个公式,写长一些就是了,也就是

C2:C20+D2:D20*0.01+E2:E2*0.0001

三、求出排名

在这里,rank类函数不能使用。

我们上两步,分别有了求自身的“分数”以及各国家地区的“分数”,如果自己分数小于各国家地区分数,会有一组逻辑值

排名的逻辑你要先理解一下,如果在一组数里,你只比一个数小,那你是排在第二名的;你只比三个数小,那你是排在第四名的。这个逻辑是事先知道的

因此上图中有10个true,就说明有10个比澳大利亚大的,那么它就排在11位,但不能去数啊,我们用加法来实现:

说明:

1、*1是为了将逻辑值转化为数值0或1

2、加1是在计算了有多少大于自己的国家地区之后的排名

四、向下拖动公式,得到结果

=SUM((MMULT(C2:E2,1%^{0;1;2})<MMULT(C$2:E$20,1%^{0;1;2}))*1)+1

标签: #矩阵相加的公式