Excel中通过函数实现对表格数据自动升降序排序-百度经验-
【摘要】许多Excel报告都包含显示排序结果的表。通常,这些表是使用数据,排序命令在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数据进行排序,而无需修复RANK函数。
C列中的公式对销售值进行排名,其中最大的值排名1,表中的最小值排名4。
理解E列的最简单方法是举一个例子。看单元格G6。这标志着右侧表中的第四排排序。单元格E6告诉我们,该行的值可以在表左侧的第二行中找到。E列中的其他值提供类似的信息。
H和I列使用E列中的信息返回适当的值。
电子表格的第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)
修复RANK函数后,用公式对Excel数据进行排序。
B列会为每个Sales值添加一个微小的数量,该数量基于表中每一行的数量。这将强制Sales2中的每个值都是唯一的,这会强制D列中的Rank值是唯一的。这为我们提供了H:J列中的自动排序值。
当您使用此技术时,请确保在选择单元格B3的公式中显示的小数部分时估计表中的最大行数。也就是说,如果您要拥有成千上万的数据行(New Excel允许),请确保在将小数部分乘以一百万左右的行数时仍然有一个小数。
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务