如何仅使用函数/方程对表进行排序

Sea*_*son 9 sorting excel equation

如何在表格1中对表格进行排序

A B C D E
3 7 3 6 5
Run Code Online (Sandbox Code Playgroud)

进入表2中的另一个表

A C E D B
3 3 5 6 7
Run Code Online (Sandbox Code Playgroud)

仅使用功能?

Ste*_*010 11

一个非常简单的方法是只有一个排名索引,然后使用HLOOKUP查找相应的值:

=RANK(A4,$A$4:$E$4,1)
Run Code Online (Sandbox Code Playgroud)

例1

=IF(COUNTIF($A$1:A$1,A1)>1,RANK(A4,$A$4:$E$4,1)+COUNTIF($A$1:A$1,A1)-1,RANK(A4,$A$4:$E$4,1))
Run Code Online (Sandbox Code Playgroud)

例2

=HLOOKUP(COLUMN(),$A$2:$E$4,2,FALSE)
Run Code Online (Sandbox Code Playgroud)

例3

=HLOOKUP(COLUMN(),$A$2:$E$4,3,FALSE)
Run Code Online (Sandbox Code Playgroud)

例4

  • @PeterL.给一个男人一条鱼,你喂他一天.教一个人钓鱼,你喂他一辈子 - 或者至少在一些大型渔业集团扩展到他的村庄之前. (2认同)

Pet*_*ert 11

好的,这里是"一个公式可以做到这一切"的解决方案,没有额外的临时列:

在此输入图像描述

A6中的公式:

=INDEX($A$2:$E$2,MATCH(SMALL($A$3:$E$3+COLUMN($A$3:$E$3)/100000000,COLUMN()),$A$3:$E$3+COLUMN($A$3:$E$3)/100000000,0))

输入它作为数组公式,即按Ctrl- Shift- Enter.然后将其复制到相邻列.

要获得数字,请在A7中使用此公式(再次作为数组公式):

=ROUND(SMALL($A$3:$E$3+COLUMN($A$3:$E$3)/100000000,COLUMN()),6)

两个公式都有点臃肿,因为它们还必须处理潜在的重复.解决方案是在应用排序(SMALL功能)之前简单地添加一小部分色谱柱 - 然后再将其移除......