Excel表,两列数据。同一列数据中有相同的数据,在另一列数据中重新排列名次。

A列:(名次)1,2,3,4,5,6,7, 7, 9, 9, 9, 12, 13,14, 15,15,
B列:(分值) 1140,1240,2130,2080,2213, 860,876,
要求:
根据A列相同的名次,再以B列的数值进行重新确定名次(如:名次为7的2个,以B列数值初分为1个是1,1个是2,最后确定其名次为7,8)
根据B列数值初分大小顺序(次序)时,按A列名次相同的重排,而不是按B列所有数值(7个数值)重排。即有3个重排的顺序(名次7一组,顺序为1,2;名次9一组,顺序为1,2,3;名次15一组,顺序为1,2)
请求设置方法:
在其他列(C列)该如何设置函数公式?(请详细说明)

第1个回答  2013-07-12
在C1输入以下公式:
=IF(COUNTIF(A:A,A1)=1,A1,A1+SUMPRODUCT((A:A=A1)*(B1<B:B)))
公式向下填充,看看是不是你要的效果?

对了,忘记问你了,你的排序是按照从大到小排为1,2,3...还是从小到大排为1,2,3?上面那个公式适用于从大到小排序,下面这个公式是从小到大排序:
=IF(COUNTIF(A:A,A2)=1,A2,A2+SUMPRODUCT((A:A=A2)*(B2>B:B)))

你对问题描述不清晰,我都不知道你要啥效果,如果只要显示A列相同B列才排序的话可以试试下面的2个公式:
=SUMPRODUCT((A:A=A2)*(B2>B:B))+1
=SUMPRODUCT((A:A=A2)*(B2<B:B))+1

上面4个公式应该有一个是你要的效果了,只是你描述不清楚,所以只能全列给你试了。
第2个回答  2013-07-12
是不是先按照A列排序,然后同名次的再按B列大小排序?

那很简单啊,同时对A、B列排序,A列为第一关键字,B列为第二关键字,排好后,在C列拉出新的1-16的名次来追问

我想要的是各组自行比较后显示出名次(1,2,3...)
如(名次7一组,顺序为1,2;名次9一组,顺序为1,2,3;名次15一组,顺序为1,2)

第3个回答  2013-07-12
先将分数排序,然后查找分数的重复项
第4个回答  2013-07-12

看看是这样的吗?

本回答被提问者采纳
相似回答