分享

合并单元格排序,难倒了无数人……

 Excel学习园地 2020-09-16
Excel基础学习园地
公众号“Excel基础学习园地”是一个免费发布Excel基础知识、函数应用、操作技巧、学习方法等资讯的公众号,请点击上方“Excel基础学习园地”添加关注,方便我们每天向您推送精彩资讯。

现在有这样一个问题,需要对每个部门按照员工的年终奖从低到高排序:

可是当我们选中c列排序时,会弹出提示框:

相信这个问题大家都遇到过。那么该如何解决呢?

首先分析下“若要执行此操作,所有合并单元格需大小相同”,这句话表达的意思是说:部门这列是合并单元格,而其他各列并不是合并单元格,所以出现了单元格大小不同的情况,无法完成操作。

因此排序时,我们只能选中B列以后的数据进行排序:

点击确定之后,排序是完成了,但是部门的关系也全乱套了:

为了不出现这种部门关系被打乱的情况,又要完成排序,我们就需要对数据进行分组,这个分组要保持部门的对应关系,这种排序的技巧也被称为“组内排序”。

怎么办?需要使用辅助列,具体做法如下:

在表格后面一列使用公式:=COUNTA($A$2:A2)*10^5+C2,下拉后效果为:

公式解析:

COUNTA($A$2:A2)这部分是实现了按部门分组的效果,COUNTA函数是计算区域中非空单元格的个数,注意这里面区域的写法,引用的单元格区域逐渐扩大,每跨过一个合并单元格,结果就会增加。

这就保证了同一个部门属于同一个组。

10^5这是10的五次方,等同于100000。COUNTA($A$2:A2)*10^5这部分是为了给每个部门定义一个数量级,为什么是五次方?这取决于实际参与排序的最大数字的位数,如果排序的数字有超过5位的,这里就要用六次方了。

来看看定义了数量级的效果:

数量级的作用就是保证在排序的时候,同一个部门的数据都是连在一起的。

给这个数量级加上实际排序的数据,就是=COUNTA($A$2:A2)*10^5+C2

接下来的操作就简单了,选择数据区域(框选B-D列的数据)进行排序即可顺利实现组内排序:

进行排序结束后,删去辅助列的数据即可。

含有合并单元格的数据,无法直接进行排序。需要借助辅助列的数据进行排序。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多