今天和大家分享几个新函数的典型用法,有了这些新函数,让原本复杂的计算变得越来越简单。
1、数据转置
如下图所示,需要将a列中的姓名,转换为多行多列。
d6单元格输入以下公式,按回车:
=index(a:a,sequence(e3,e4,2))&""
sequence函数的作用是按指定的行列数生成序号。
公式中的“sequence(e3,e4,2)”部分,用sequence函数根据e3和e4单元格中指定的行列数,得到一个从2开始的多行多列的序号。
最后用index函数,以sequence函数得到的序号为索引值,返回a列对应位置的内容。
当index函数引用了空白单元格时,会返回一个无意义的0,公式最后加上&“”, 作用就是屏蔽这个无意义的0值的。
2、销售业绩排序
如下图所示,要根据c列的销售套数,使用公式得到排序后的销售记录。
e2单元格输入以下公式,按回车。
=sort(a2:c15,3,-1)
sort函数的作用是对数据区域中指定的行列进行排序,常用写法是:
=sort(数据区域,[对第几列/行排序],[升/降序],[按行/列排序])
本例中,第二参数使用3,表示对a2:c15区域中的第3列排序。
第3参数使用-1,表示按降序排序。
第4参数省略,表示按列方向排序。
3、多条件排序
如下图所示,要根据销售处和销售套数两个指标,使用公式得到排序后的销售记录。
e2输入以下公式,按回车。
=sortby(a2:c15,a2:a15,1,c2:c15,-1)
sortby的作用是对指定区域按多个条件进行排序,常用写法是:
=sortby(数据区域,要排序的列1,[升序/降序],[要排序的列2],[升序/降序]..)
本例中,第1参数指定要排序的a2:c15单元格区域。
第2参数指定排序主要优先级的列a2:a15,第3参数使用1,表示对该列使用升序。
第4参数指定排序次要优先级的列c2:c15,第5参数使用-1,表示对该列使用降序。
4、计算中式排名
使用rank函数排序时,相同数值会占用名次。比如对 10、10、9进行排序,两个10具有相同的名次1,而9的名次为3。
在一些比较特殊的场景下,会要求使用中式排名方式,即相同数值不占用名次。比如对 10、10、9进行排序,两个10具有相同的名次1,而9的名次为2。
如下图所示,需要以中式排名方式计算考试排名。
d2单元格输入以下公式,向下复制:
=sum(n(unique(c$2:c$15)>c2)) 1
unique函数的作用是在数据表中提取不重复值,工作方式类似于删除重复值功能。
“unique(c$2:c$15)”部分,先使用unique函数提取出c2:c15单元格区域中的不重复值。
接下来再用这些不重复值与c2进行比较,如果这些不重复值大于c2,则返回true,否则返回false:
{false;false;false;……;false;false}
再使用n函数,将这些逻辑值转换为数值,false转换后的结果为0,true转换后的结果为1。
最后用sum函数求和,得到比c2大的不重复值个数。再加上1,就是中式排名的名次。
图文制作:祝洪忠
本文来自投稿,作者:时遇,不代表食养源立场,如若转载,请注明出处:https://www.xiayuan17.com.cn/yszs/97240.html