前几天,一篇中的公式“=SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2))”出现了bug——如果在某组中出现并列第一的情况,结果显示为并列“第二”。
如下图:
今天再给一个更严密的公式。
公式实现
在E2单元格输入公式:
=SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2)/COUNTIFS($C$2:$C$14,$C$2:$C$14,$D$2:$D$14,$D$2:$D$14))
确定,然后公式向下填充,即可得组内排名。
如下图:
公式解析
$C$2:$C$14=C2:
INDEX MATCH这么厉害的组合,你用过吗?
INDEX MATCH这么厉害的组合,你用过吗? 【问题来源】 原来,过很多VLOOKUP查询函数的使用。 VLOOKUP查询有两个不便之处: 1、查阅值(第一个参数)始终位于查找区域(第二个参数)的第一列; 2、从左向右查找容易,但从右向左查找需要IF或CHOOSE构建新的查找区域。 今天,来述另一功能更
在C2:C14区域的 每一个单元格与C2相比较,如果相等返回TRUE,否则返回FALSE。本部分返回数组:
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}(数组一)
$D$2:$D$14>=D2:
在D2:D14区域的 每一个单元格与D2相比较,如果大于或等于D2返回TRUE,否则返回FALSE。本部分返回数组:
{TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE ;FALSE }(数组二)
COUNTIFS($C$2:$C$14,$C$2:$C$14,$D$2:$D$14,$D$2:$D$14):
查找C列D列从第2行到第14行每一行出现的次数。本部分得数组:
{2;1;1;2;1;1;1;1;1;1;1;1;1}(数组三)
=SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2)/COUNTIFS($C$2:$C$14,$C$2:$C$14,$D$2:$D$14,$D$2:$D$14)):
数组一*数组二/数组三,得到的数组{0.5;0;0;0.5;0;0;0;0;0;0;0;0;0},数组内数据加和,即得第一位的排名。
此公式修正了并列第一却出现并列“第二”的bug。如下图:
MID FIND提取括号内的年份
MID FIND提取括号内的年份 问题情境如下数据表: A列的“政案名称”中大都在括号“()”内包含年份信息,如“财税(2012)75号”中的“2012”即为年份。通过A列中的年份信息获取年份并将其填到“年份”列中,显示为“2012年”形式,如果政策中没有年份则显示为空。 公式实现 在B2单元格输入公式“=