EXCEL函数如何自动从小到大排列

EXCEL函数如何自动从小到大排列?
如:
A列 B列 C列
A1: 张 1
A2: 王 4
A3: 李 2
A4: 陈 6
A5: 赵 0
在D E 列自动从小到大排列,结果为:

A列 D列 E列
A1: 赵 0
A2: 张 1
A3: 李 2
A4: 王 4
A5: 陈 6

不管C列数值如何变 按E列数值保持从小到大排列 D列名字与E列数值对应,

请问用什么函数公式可以自动实现??
yuqiang462的
e1=if(row()<=count(c:c),small(c:c,row(a1),"")公式参数太多错误,改成e1=if(row()<=count(c:c),small(c:c,row(a1)) 可以解决,但是当C列数值有重复时排序出错,D列出现相同名字 ,不知如何解决??

rank函数,可以看下下面帮助。

返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置)。

语法

RANK(number,ref,order)

Number 为需要找到排位的数字。

Ref 为数字列表数组或对数字列表的引用。Ref 中的非数值型参数将被忽略。

Order 为一数字,指明排位的方式。

如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。
如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。
注解

函数 RANK 对重复数的排位相同。但重复数的存在将影响后续数值的排位。例如,在一列按升序排列的整数中,如果整数 10 出现两次,其排位为 5,则 11 的排位为 7(没有排位为 6 的数值)。

由于某些原因,用户可能使用考虑重复数字的排位定义。在前面的示例中,用户可能要将整数 10 的排位改为 5.5。这可通过将下列修正因素添加到按排位返回的值来实现。该修正因素对于按照升序计算排位(顺序 = 非零值)或按照降序计算排位(顺序 = 0 或被忽略)的情况都是正确的。

重复数排位的修正因素 =[COUNT(ref) + 1 – RANK(number, ref, 0) – RANK(number, ref, 1)]/2。

在下列示例中,RANK(A2,A1:A5,1) 等于 3。修正因素是 (5 + 1 – 2 – 3)/2 = 0.5,考虑重复数排位的修改排位是 3 + 0.5 = 3.5。如果数字仅在 ref 出现一次,由于不必调整 RANK,因此修正因素为 0。
示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

如何复制示例

创建一个空白工作簿或工作表。
选择“帮助”主题中的示例。
注释 不要选择行或列标题。

从“帮助”中选择示例
按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

1
2
3
4
5
6
A
数据
7
3.5
3.5
1
2
公式 说明(结果)
=RANK(A3,A2:A6,1) 3.5 在上表中的排位 (3)
=RANK(A2,A2:A6,1) 7 在上表中的排位 (5)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-19
e1=if(row()<=count(c:c),small(c:c,row(a1),""),向下复制
d1=if(e1="","",indirect("b"&match(e1,c:c,0)),向下复制,即可实现你的要求本回答被提问者采纳
第2个回答  2013-01-06
当C列数值有重复时排序出错,D列出现相同名字---解决的办法是:在相同数值中选其一加小数,如:王五87;李六87,将王五或李六的数值+0.01就解决了。
第3个回答  2009-09-19
D1=INDEX(A:A,MATCH(SMALL($B$1:$B$6+ROW($A$1:$A$6)*10^-4,ROW(A1)),$B$1:$B$6+ROW($A$1:$A$6)*10^-4,)),数组公式,右拉,下拉。
第4个回答  2009-09-19
实在看不懂这个问题是想问什么?

我猜可能是vlookup。