从这个案例来讲,它包含了三大内容,一是常规排序,二是条件排序,三是多个关键字查找引用。
excel的排序问题,大多数情况下都是通过数据工具栏下的排序功能来操作的。
本文也会在最后通过排序操作动图来对比公式排序的结果。
但如果在一些特定情境下,需要使用公式来进行数据排序,并设置了指定的排序条件,那么这样的情况下,该使用什么函数来写这个公式!?
通过最后公式的介绍,也能了解关于其中函数的一些特性和组合应用。
下面作者以某加工企业的实例来讲解。
如下图所示,现在需要先对数据表中的线材规格列表进行从大到小的排序,然后再对同一线材规格下的标准线材长度进行从大到小的排序,最后再将对应的线材总支数引用过来。
关于线材规格的排序,属于常规排序应用,而后续对线材长的排序,则属于条件排序,即指定线材规格,按照大小进行不重复排序。
从这个案例来讲,它包含了三大内容,一是常规排序,二是条件排序,三是多个关键字引用。
根据重点,作者将介绍条件排序的公式写法和含义。
首先,我们还是来看看解题的第一步。
一、对线材规格进行排序
由于是从大到小来排序,所以作者选择了large函数。
large函数的作用是返回列表中指定第K大的值。
其语法图如下所示:
表达式为:=large(单元格区域,第K大)
根据其语法表达,我们可以输入一个公式:
=LARGE($A$2:$A$38,ROW(A1))
这个公式重点在于第2参数的设置,它嵌套了row函数,而row函数最大的特点是通过下拉填充能够获得动态结果。比如row(A1)等于1,下拉到A2单元格,即为row(A2),结果等于2.
所以输入公式后,下拉填充就能得到从第1大的值一直到最后一个最小的值。
二、对指定线材规格的线材长度进行排序
得到了排序后的线材规格列表,我们需要根据相同的线材规格,来进行线材长度从大到小的排序。
既然还是大小排序的场景,那么我们再利用large函数来写一个公式:
=LARGE(IF($A$2:$A$38=E2,$B$2:$B$38),COUNTIF($E$2:E2,E2))