环顾四周,但无法完成这项工作。我认为这很容易,但匹配和索引功能让我感到很沮丧。
这是一个例子。我有三列数据:
Name Date Score Desired Output
Peter 8/11 80 Wrong Day
John 8/12 50 1
Peter 8/12 40 1
Sarah 8/12 30 1
Peter 8/12 20 2
Lindsay 8/12 5 1
Peter 8/12 3 3
查看所需的输出。简而言之,我想查看列表(我按分数对其进行了排序)并给出了属于一个人的所有分数,即所需日期的分数等级。因此,我想在一天(在这种情况下为8/12)查看所有人,然后按人分组,并返回该人的分数等级。我知道任何一个“1”是该人在8月12日的最高分。
有什么想法吗?宁愿不使用数据透视表。想要D列的公式
答案 0 :(得分:0)
在单元格D2中并向下复制(调整范围以适合您的实际数据):
=IF(B2=--"8/12",MATCH(C2,INDEX(LARGE(INDEX(($A$2:$A$8=A2)*($B$2:$B$8=--"8/12")*$C$2:$C$8,),ROW($1:$99)),),0)+COUNTIFS($A$1:$A1,A2,$B$1:$B1,--"8/12",$C$1:$C1,C2),"Wrong Day")
如果您有一个要输入所需日期的单元格,请将--"8/12"
的所有实例替换为包含日期的单元格引用。如果您这样做,请确保使用绝对引用$
。
如果一天和一个人可以拥有超过99行,请增加ROWS($1:$99)
,这样99就足够大,可以容纳一天和一个人的最大行数。
公式的COUNTIFS
部分用于打破平局,因此后续相同的数字将排名较低(数字较高),而不是排名相同。例如,如果Peter
上的第二个8/12
条目也是40
而不是20
,则公式仍会将该行填充为2而不是将排名等级设为1