咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

微软在3月16日,也就是在刚刚过去的上周,公布在新版本Excel之中引入14个强大的函数。目前14个函数已经开展内测。如果想提前体验这14个函数,需要加入office Insider计划。国内很多用户目前还不能直接体验Excel最新的14个好用的函数。

Excel EFunction高级函数插件目前根据微软已经公开信息,已经初步实现出来这14个高级函数的功能,等待微软正式版本发布出来,再做进一步完善。利用EFunction,不仅仅365版本Excel可以提前体验了,Excel其他版本均能够体验14个函数的使用技巧。

想体验这14个函数,365版本Excel可以升级到最新版本,或者使用EFunction。

微软公开的这14个函数,对它进行分类,主要分为两大类,分为文本处理函数数组处理函数

文本处理函数

  1. TEXTBEFORE 将某个文本之前的内容提取出来;
  2. TEXTAFTER 将某个文本之后的内容提取出来;
  3. TEXTSPLIT 对文本进行分割,结果以数组方式返回。

数组处理函数

  1. 数组拼接函数:
  2. VSTACK 多个数组竖向堆叠;
  3. HSTACK 多个数组横向(水平)堆叠;
  4. 数组生成函数:
  5. TOROW 将二维数组转化为一行;
  6. TOCOL 将二维数组转化为一列;
  7. WRAPROWS 将一维数组按行转化为二维数组;
  8. WRAPCOLS 将一维数组按列转化为二维数组;
  9. 数组重构函数
  10. TAKE 从数组之中提取出子数组;
  11. DROP 从数组之中排除子数组;
  12. CHOOSEROWS 二维数组,挑选指定行构成新的数组;
  13. CHOOSECOLS二维数组,挑选指定列构成新的数组;
  14. EXPAND 数组扩充函数。

函数使用用法

文本截取函数:

TEXTBEFORE函数和TEXTAFTER函数使用技法基本相同,二者目标一个实现提取指定文本前的数据,一个提取指定文本后的数据,以其中一个函数作为介绍,其使用技法:

TEXTBEFORE函数有四个参数:

参数1:input_text 需要提取的文本数据,该参数为必须参数;

参数2:text_before 待查的文本,可以理解为关键词,如果参数1之中含有该关键词,则将该关键词前面的数据提取出来;

参数3:[n] 提取第几个关键词前面的数据,参数之中可能含有多个关键词,参数默认为1,表示提取第一个关键词前面的数据,数字以此类推。如果参数为负数表示从右到左,可以理解为逆向匹配。

参数4:ingore_case 是否大小写敏感,默认TRUE,表示大小写不敏感。

案例提取第二个关键词“和”前的文本数据,完整公式为:=TEXTBEFORE(D5,"和",2)。在这里,第一个和第二个参数为必须参数,第三个和第四个参数为可选参数。


文本分割函数:

TEXTSPLIT为非常好用文本分割函数,数据分割后结果以数组方式返回,函数可以指定按行分割或者按列分割。

TEXTSPLIT函数总共有5个参数:

参数1:input_text 待分割的文本,该参数为必须参数;

参数2:col_delimiter 按列分割关键词,关键词可以为多个,如果是多个关键词,可以使用数组;

参数3:row_delimiter 按行分割关键词,关键词可以为多个,如果是过个关键词,可以使用数组;

参数4:Ignore_Empty 如果分割两个关键词相邻,则分割结果会有空字符存在,该参数默认FALSE,表示不显示空字符;

参数5:pad_with 当第二个、第三个参数同时使用时,二维数组如果元素不全则通过该参数补全。默认是#N/A补全。

TEXTSPLIT第一个参数为必须参数,其他参数为可选参数。其中第二、第三个参数为限定可选参数,他们二者之中必须有一个指定,不能同时缺省。

案例以“,”将文本分成两行,使用“和”将数据分成多列。其中不足的元素,使用空字符补全。完整公式为:=ETResize(TEXTSPLIT(D5,"和",",",,""))。


数组堆叠函数:

HSTACK和VSTACK函数为一堆函数,实现数据数据横向或者纵向拼接。将小数组拼接成大数组。以VSTACK函数为例,函数参数为数组数据:

参数1:array1:数组1

参数2:array2:数组2

参数n:arrayn数组n。

VSTACK函数每个数组必须保证数组列数相同。

例如案例:使用ETFilters将日本核法国的电影数据匹配出来,日本数据在x前,法国数据在后,则完整公式为:

=ETResize(VSTACk(ETFilters(B2:J38739,E2:E38739="日本",),ETFilters(B2:J38739,E2:E38739="法国",)))

vlookup函数不能够实现数据逆向匹配(匹配结果在数据左边),使用HSTACK就可以将数据调转过来。,=VLOOKUP(K4,HSTACk(C3:C7327,B3:B7327),2,0)

数组生成函数二维转一维

TOROW或者TOCOL函数,均为将二维数组转化为一行或者一列。在excel 365历史版本之中,像unique函数或者textjoin等函数,不能够对二维数据处理。有了这两个函数后,就可以对二维数据进行处理了。

textjoin函数为例,TOCOL函数先将二维数据转为一维数据后,再利用TEXTJOIN函数实现数据拼接。

=TEXTJOIN("-",,TOCOL(C4:D9,,FALSE))

TOCOL函数参数为:

参数1:array 待转化的数组

参数2:ignore 忽略某种数据类型

参数3:scan_by_column 是否按列扫描,默认false,表示按行扫描

数组生成函数一维转二维

WRAPCOLS和WRAPROWS函数为一堆姐妹函数,该函数比较强大,可以理解为是TOCOL和TOROW的逆向函数。

使用WRAPCOLS和WRAPROWS函数可以将一维数据,还原成二维数组形式。

WRAPCOLS函数有三个参数:

参数1:vector 一维向量

参数2:wrap_count 数据分割长度

参数3:pad_with 如果数据元素不足,则以此元素填充。

数组重构函数“取”“舍”函数

excel filter函数可以实现数据多匹配,SortyBy函数,可以实现数据排序,排好序后,如果想提取数据TOPN,这时候可以使用TAKE函数或者DROP函数,对数组数据进行取舍。

完整公式为:=TAKE(ETSortBy(ETFilters(A3:H7327,B3:B7327="01班"),4,TRUE),10,)

TAKE函数有三个参数:

参数1:array 数组数据,待提取的数组;

参数2:rows 提取数据的行数,正数表示从上到下,如果是负数,表示提取尾行数据;

参数3:columns,提取数据的行数,正数表示从左到右,负数表示提取尾列数据。


数组重构之挑三拣四函数

CHOOSEROWS 和CHOOSECOLS为挑三拣四函数,将二维数组指定行或者指定列数据提取出来,作为一个新数组。

还以VLOOKUP函数不能实现逆向匹配为例进行介绍。通过CHOOSECOLS函数,也能实现HSTACK函数相同效果。完整公式为:=VLOOKUP(K4,CHOOSECOLUMNS(B3:H7327,2,1),2,0)

CHOOSECOLS函数参数:

参数1:array 数组数据

参数2:column_num1提取的第一个列,为整数,大小不应该超过数组array的列数;

参数n:column_numn 提取的第n列,为整数,大小不应该超过数组array的列数;

数据扩充函数

EXPAND函数,对数组数据进行扩充,从目前微软公布的案例来说,该函数暂且没有找到很好的应用场景,目前想到的一个场景就是,VSTACK和HSTACK函数要求行或者列保持一致,为了保证能够正常拼接,可以使用expand函数,将数据扩充到统一大小。