设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

Excel中通过函数实现对表格数据自动升降序排序-百度经验-Excel学习网

2019年10月07日 18:39 发布来源:Excel学习网
许多Excel报告都包含显示排序结果的表。通常,这些表是使用“数据,排序”命令在Excel中手动排序的。但是,如果公式(不是宏)可以自动对数据进行排序,则报表将更易于维护和更新。
 
有一个简单的方法可以做到这一点。但是为了使该方法可靠地工作, 您必须修复RANK函数的行为。
 
该图显示了部分解决方案,并说明了RANK的问题。A,B和G列显示实际数据。为显示的单元格输入以下公式,然后根据需要将公式复制到其列中:
 
C3:= RANK(A3,$ A $ 3:$ A $ 6,0)
E3:= MATCH(G3,$ C $ 3:$ C $ 6,0)
H3:= INDEX($ B $ 3:$ B $ 6,E3)
I3 := INDEX($ A $ 3:$ A $ 6,E3)

Excel中通过函数实现对表格数据自动升降序排序-百度经验-Excel学习网

使用公式对Excel数据进行排序,而无需修复RANK函数。

C列中的公式对销售值进行排名,其中最大的值排名1,表中的最小值排名4。
 
理解E列的最简单方法是举一个例子。看单元格G6。这标志着右侧表中的第四排排序。单元格E6告诉我们,该行的值可以在表左侧的第二行中找到。E列中的其他值提供类似的信息。
 
H和I列使用E列中的信息返回适当的值。
 

Excel中通过函数实现对表格数据自动升降序排序-百度经验-Excel学习网

 
电子表格的第4行具有#N / A值的原因是因为RANK函数将相同的等级分配给相同的值。这是一个问题,因为大衣和裤子本月的销售额相同。因此,RANK函数将相同的#1等级分配给C列中的两个产品,并且根本不分配#2等级值。因此,当单元格E4中的公式寻找#2排名时,它将返回#N / A。
 
但是,此问题很容易解决。只需为调整后的销售额插入新列,然后对调整后的价值进行排名即可。以下是显示的单元格的公式:
 
B3:= A3 + 0.000001 * ROW()
D3:= RANK(B3,$ B $ 3:$ B $ 6,0)
 

Excel中通过函数实现对表格数据自动升降序排序-百度经验-Excel学习网

修复RANK函数后,用公式对Excel数据进行排序。
 
B列会为每个Sales值添加一个微小的数量,该数量基于表中每一行的数量。这将强制Sales2中的每个值都是唯一的,这会强制D列中的Rank值是唯一的。这为我们提供了H:J列中的自动排序值。
 
当您使用此技术时,请确保在选择单元格B3的公式中显示的小数部分时估计表中的最大行数。也就是说,如果您要拥有成千上万的数据行(New Excel允许),请确保在将小数部分乘以一百万左右的行数时仍然有一个小数。
原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/jiqiao/10639.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号