Excel:通过对anotr一个值进行排序来获取列

时间:2016-01-27 23:29:03

标签: excel

我需要从另一个给定的列值中自动获取一个已排序的值列,如示例中所示:

I have  I need A unchanged, and also B obtained from A
   A      A B
-----------------
   1      1 0
   0      0 0
   3      3 1
   8      8 3
   0      0 8

我的意思是如果来自A的值发生变化,B应该适当地改变......

在MS Excel中可以吗?

这里有一个沙盒和样本: http://1drv.ms/1SkqMhS

3 个答案:

答案 0 :(得分:3)

如果您将公式=SMALL(A:A,ROW())放入B1并向下复制,那么B中的单元格将以A中的单元格链接到这些数字在B中,A中的数字将按排序顺序排列。这对于较大范围不会有效,但对于中小尺寸范围可以正常工作。

如果您希望数字从较低的一行开始,请说B2,因为您在B1中有标题,请将ROW()调整为ROW()-1

警告:使用ROW()可能会使电子表格有些脆弱,因为如果插入或删除行或包含公式的块移动到其他位置,涉及它的公式可以更改其含义。不是使用ROW(),而是添加一个辅助列,而不是A中的数据(这将在例如B中)并且引用这些数字而不是=SMALL($B$2:$B$5,A2) 。小。例如,在:

enter image description here

如果我把公式

C1

D2并向下复制,它按预期工作。在回答您在评论中提出的问题时,我添加了另一个列,该列给出了一个索引,其中出现了相应的值。为此,我在=MATCH(C2,$B$2:$B$5,0) 中写了(然后复制了)公式

pwd

答案 1 :(得分:0)

当然。突出显示您的范围,在数据标签中点击"Sort",然后您就可以选择对数据进行排序的方式:

enter image description here

如果列B包含要与列A一起使用的信息(例如A1旁边是" Car"),并且您想要根据列A对整个表进行排序,那么只需选择列A和B,然后按A列排序。

答案 2 :(得分:0)

得到答案,感谢John Coleman!

只是一些小细节,如单元格值修复(使用$,如A$2)和-1 + ROW调整1标题行!

enter image description here