如何将一组数据重新排序?
我们日常工作中经常需要对数据排序,排序的方法很多。今天我们来学习两个函数可以用来排序。它们是small、large。
small() 函数是用于对引用单元格或数组取第N个最小值。
用法:small(引用单元格或数组,引用区域的第N个最小值)
large() 函数是用于对引用单元格或数组取第N个最大值。
用法:large(引用单元格或数组,引用区域的第N个最大值)
先来看个例子:如下图就是使用SMALL() 函数配合row()函数进行升序。
对公式解释下:=SMALL($L$4:$L$22,ROW()-3) 。
small 红色部分是引用的单元格区域,从单元格L4 到 L22
small 蓝色部分是取第N个最小值。这里使用ROW()来获取当前所在的行号,
因为我们是要升序所以这里本来在第一个单元格应该是要写成=SMALL($L$4:$L$22,1) ,第二个单元格要写成=SMALL($L$4:$L$22,2) 依此类推......这里我们巧妙的借用了ROW()来获取当前所在的行号,当我们下复制公式时ROW()会跟着自动累加。因为我们排序的第一个数是在第4行,所以我们需要写成ROW()-3,得到1,也就是第1个最小值。
这样往下复制公式就可以得到到升序的数列了。有的同学会说直接使用排序就好了。但使用函数的最大优点就是无论数据源怎么变,使用函数的方法它会自动重排,始终是得到正确的排序。另外这个方法还可以是横向的哦!如下图所示:公式:=SMALL($C$2:$U$2,COLUMN()-2)
这个就没办法使用排序按钮了。这是需要把ROW() 自动获行号函数改成COLUMN() 自动获列号函数。这里C第3列,所以要COLUMN()-2,才能得到1也就是第一个最小值。
large()的用法跟SMALL一样 ,只不过它是用来做降序(从大到小)
如下图所示: