如何将合并单元格数据排序(如何对合并单元格内的数据排序)

一、案例

如下图所示,A1:C10为各销售部门业务员销售额数据。要求销售部门排列顺序不变,各销售部门内按业务员销售额由高到低排序,效果如E1:G10所示。

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(1)

二、解决方法

1、构建辅助列D列,在D2单元格输入公式

=-POWER(10,COUNTA($A$2:A2) 3) C2

拖动填充柄向下复制公式。

如下图所示:

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(2)

2、选中B1:D10,注意不能选到A列的合并单元格。单击【数据】-【排序】,打开排序对话框。选择【主要关键字】为“辅助列”,【次序】选择“降序”。如下图所示:

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(3)

单击确定,即可得到想要的结果,如下图所示:

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(4)

最后删除辅助列。

公式解析:

(1)COUNTA函数用于计算区域中非空单元格的个数。COUNTA($A$2:A2)的结果如下图所示:

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(5)

A2:A10的合并单元格中,其实只有每个合并单元格的第1行有数据,其他为空值,因此COUNTA函数得到如上图所示的结果。

(2)POWER函数用于返回某数的乘幂,例如POWER(10,2)=100。本例中POWER(10,COUNTA($A$2:A2) 3)即10的COUNTA($A$2:A2) 3次方。-POWER(10,COUNTA($A$2:A2) 3)的结果如下图所示:

如何将合并单元格数据排序(如何对合并单元格内的数据排序)(6)

从上图可以看到,POWER函数在“销售1部”、“销售2部”、“销售3部”生成的数值分别为-10000、-100000、-1000000。这三个数值的绝对值均远大于C2:C10中的数值。

(3)将POWER函数生成的数值与对应的C列数值相加,然后对辅助列降序排序。由于POWER函数生成的数值绝对值远大于C列金额,因此即使加上C列金额,仍可以确保辅助列中“销售3部”对应的数值绝对值最大,其次为“销售2部”,最后为“销售1部”。这样在按照降序排序时,可以确保不改变原有的销售部门排列顺序。POWER函数加上C列金额,则可以保证在同一部门内部,销售额大的排在前面。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。