Excel数据分属不同组别,同一组别内排序

问题情境
如下样表:
【Excel数据分属不同组别,同一组别内排序】

Excel数据分属不同组别,同一组别内排序

文章插图
有“店长组”和“组员”两个组别 , 要求保持数据顺序不变 , 分别对“店长组”和“组员”两个组内的成绩排序 。
公式实现
在E2单元格输入公式:
=SUMPRODUCT(N(($D$2:$D$11=D2)*($C$2:$C$11)>C2))+1
确定 , 并往下填充 , 可得“店长组”和“组员”两个组内的成绩排序 。
如下图:
Excel数据分属不同组别,同一组别内排序

文章插图
公式解析
$D$2:$D$11=D2:
判断D2:D11区域内每个单元格值是否与D2相等 , 如果相等返回TRUE , 不相等返回FALSE , 所以本部分返回值为TRUE和FALSE组成的数组:
{TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}(以下称数组一) 。
($D$2:$D$11=D2)*($C$2:$C$11):
数组一与C2:C11对应位置数值相乘 , 返回数组:
{80;0;0;70;100;0;85;0;0;70}{以下称数组二} 。
($D$2:$D$11=D2)*($C$2:$C$11)>C2:
数组二中各数值与C2比较 , 如果大于C2返回TRUE , 否则返回FALSE , 本部分返回值为:
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE}{以下称数组三} 。
N(($D$2:$D$11=D2)*($C$2:$C$11)>C2):
将数组三中的逻辑值转换为数值 , 得到数组:
{0;0;0;0;1;0;1;0;0;0}{以下称数组四} 。
SUMPRODUCT(N(($D$2:$D$11=D2)*($C$2:$C$11)>C2))+1:
将数组四中数值加和再加1 , 得排名 。

    推荐阅读