用于对重复值进行排序的Excel函数

用于对重复值进行排序的Excel函数,excel,duplicates,rank,Excel,Duplicates,Rank,我有一个excel表格,其中包含两列我想排名的数据 假设我们有以下情况: A B Franz 58 Daniel 92 Markus 37 Jörg 58 我想要一个公式来根据B列对上述数据进行排序,如果存在重复值(Franz和Jörg),则将字母名称放在第一位。我现在所拥有的只是复制弗兰兹两次: =INDEX(Name,MATCH(A2,Points,0)) 有人能告诉我将按字母顺序排列数据和重复值的公式

我有一个excel表格,其中包含两列我想排名的数据

假设我们有以下情况:

    A        B
    Franz    58
    Daniel   92
    Markus   37
    Jörg     58
我想要一个公式来根据B列对上述数据进行排序,如果存在重复值(Franz和Jörg),则将字母名称放在第一位。我现在所拥有的只是复制弗兰兹两次:

     =INDEX(Name,MATCH(A2,Points,0))
有人能告诉我将按字母顺序排列数据和重复值的公式/代码吗


谢谢

假设A2是排名第一的分数,请尝试此版本

=索引(名称,小(如果(A2=点,行(点)-MIN(行(点))+1),计数如果(A$2:A2,A2)))

按CTRL+SHIFT+ENTER键确认并向下复制


要求对名称列表进行排序,因为具有重复分数的名称将按显示的顺序列出

假设A2是排名第一的分数,请尝试此版本

=索引(名称,小(如果(A2=点,行(点)-MIN(行(点))+1),计数如果(A$2:A2,A2)))

按CTRL+SHIFT+ENTER键确认并向下复制


需要对姓名列表进行排序,因为具有重复分数的姓名将按显示的顺序列出

我会在数据旁边添加一个帮助者列,以帮助您解决领带问题。 所以在C列中使用

=B1+1/COUNTIF($A$1:$A$4,"<="&A1)/10
将第二个名称的1调整为2等


“编辑”的符号绕错了方向

我会在您的数据旁边添加一个“帮助者”列,以帮助您处理领带。 所以在C列中使用

=B1+1/COUNTIF($A$1:$A$4,"<="&A1)/10
将第二个名称的1调整为2等


EDIT将符号绕错了方向

这将对您的数据进行排序,并且不会重复重复:

在C2中:

=SUM(1*(b2>$b$2:$b$5))+1+IF(ROW(b2)-ROW($b$2)=0,0,SUM(1*(b2=OFFSET($b$2,0,0,INDEX(ROW(b2)-ROW($b$2)+1,1)-1,1))))
CTRL+SHIFT+ENTER将其转换为数组

将它们向下拖动到C5,它不会在名称相同的地方重复排名,如果名称相同,它会按字母顺序对它们进行排名

然后,如果您想按照最佳演奏者/得分的顺序自动排序,请执行以下操作:

把这个放在E2中:

=INDEX(A2:A5,MATCH(LARGE(C2:C5,ROW()-1),C2:C5,0))
…然后拖下来

然后在数据上使用vlookup返回分数,将其放入F2:

=vlookup(E2,A2:C5,2,false)
…然后拖下来


这将为您提供一个按分数顺序排列的得分最高的人的表格。

这将对您的数据进行排序,并且不会重复重复:

在C2中:

=SUM(1*(b2>$b$2:$b$5))+1+IF(ROW(b2)-ROW($b$2)=0,0,SUM(1*(b2=OFFSET($b$2,0,0,INDEX(ROW(b2)-ROW($b$2)+1,1)-1,1))))
CTRL+SHIFT+ENTER将其转换为数组

将它们向下拖动到C5,它不会在名称相同的地方重复排名,如果名称相同,它会按字母顺序对它们进行排名

然后,如果您想按照最佳演奏者/得分的顺序自动排序,请执行以下操作:

把这个放在E2中:

=INDEX(A2:A5,MATCH(LARGE(C2:C5,ROW()-1),C2:C5,0))
…然后拖下来

然后在数据上使用vlookup返回分数,将其放入F2:

=vlookup(E2,A2:C5,2,false)
…然后拖下来


这将为您提供一个按分数顺序排列的得分最高的人的表格。

按您需要的顺序对这些列进行排序:定义排序顺序,先按B列,然后按a列。您需要返回排序(排序)值数组的函数吗?我需要这是一个公式或函数,而不是必须手动排序的东西。我使用的公式不能一个接一个排序,因为在执行第一次排序时,已经创建了重复的名称。按您需要的顺序对这些列进行排序:定义排序顺序,先按B列,然后按A列。是否需要返回排序(排序)的数组的函数值?我需要它是一个公式或函数,而不是必须手动排序的东西。我的公式不能一个接一个地排序,因为在执行第一次排序时,已经创建了重复的名称。如果我们有相同的四个人,Franz和Jörg在分数上再次并列,但我们不想按字母顺序排序,而是按C列到G列中每个人的最低值排序(即他们的最佳结果),应该使用什么公式?尝试使用公式对这些用户进行排名越深入,将数据放入数据透视表就越好,这将使您可以轻松地按照自己喜欢的方式进行排名。这里为您提供了一个新的排名。如果我们有相同的四个人,Franz和Jörg在分数上再次并列,但我们不想按字母顺序排序,而是按C列到G列中每个人的最低值排序(即他们的最佳结果),应该使用什么公式?尝试使用公式对这些用户进行排名越深入,将数据放入数据透视表就越好,这将使您可以很容易地按照自己喜欢的方式进行排名。使用第二个公式,在ROW()-1方面,它完全忽略排名最高的人。您需要使用ROW()-2来捕获得分最高的人。除此之外,这是一个非常好的例子,谢谢。使用第二个公式,在ROW()-1方面,它完全忽略了排名最高的人。您需要使用ROW()-2来捕获得分最高的人。除此之外,这是一个非常好的例子,谢谢。