乐于分享
好东西不私藏

效率神器:5个高效Excel公式

效率神器:5个高效Excel公式
小伙伴们好啊,今天和大家分享一组简单高效的函数公式,点滴积累,也能提高工作效率。
1、两列转四列
如下图,希望将左侧数据分成4列显示。
D2单元格公式为:
=WRAPROWS(TOCOL(A2:B11),4)
先使用TOCOL(A2:B11)函数将左侧数据转换为1列。再使用WRAPROWS函数将一列数据转换为4列。
2、一列转多列
如下图所示,为了便于打印,要将A列中的姓名,转换为多行多列。
D6单元格输入以下公式,按回车:
=INDEX(A:A,SEQUENCE(E3,E4,2))&""
先使用SEQUENCE函数,根据E3和E4单元格中指定的行列数,得到一个从2开始的多行多列的序号。
再使用INDEX函数返回A列对应位置的内容。
3、每列最大值求和
如下图,希望计算每个人的最高成绩之和。
H2输入以下公式:
=SUM(BYCOL(B2:F6,LAMBDA(x,MAX(x))))
LAMBDA函数将B2:F6区域中的每一列定义为x,再用MAX函数分别计算出x的最大值。
在新版本中也可以简LAMBDA部分,写成语法糖的形式:
=SUM(BYCOL(B2:F6,MAX))

4、提取姓名

如下图所示,使用以下公式可以提取出A列混合内容中的姓名。

=LEFT(B2,LENB(B2)-LEN(B2))

LEN函数计算出B2单元格的字符数,将每个字符计算为1。

LENB函数计算出B2单元格的字节数,将字符串中的双字节字符(如中文汉字)计算为2,单字节字符(如数字、半角字母)计算为1。

用LENB计算结果减去LEN计算结果,就是字符串中的双字节字符个数。

最后用LEFT函数从B2单元格左侧按指定位数取值。

5、查询产品类别

如下图所示,A列是产品名称,D列是对照表。如果产品名称中包含对照表中的关键字,就显示对照表中的内容

B2单元格输入以下公式,向下复制。

=LOOKUP(1,-FIND(D$2:D$7,A2),D$2:D$7)

公式中的“FIND(D$2:D$7,A2)”部分:

首先用FIND函数,以D$2:D$7单元格中的类别关键字作为查询,在A2单元格中分别查询这些字符出现的位置,得到一个由错误值和数值组成的内存数组。

加上负号后,内存数组中的数值变成负数,错误值部分的结果不变。

接下来使用1作为查询值,在内存数组中进行查找,由于找不到具体的查找值,同时LOOKUP认为数组中最后一个数值一定是所有数值中最大的,因此以最后一个负数与之匹配,并返回第三参数中同一位置的元素。