摘要:解析:第二三参数省略,默认为按行去掉重复值。公式表示对C1:D11去除重复值,无论出现多少次都只保留一次,返回上图右侧结果。
32个新函数,个个都是绝世高手,精心整理分享!
一、UNIQUE
用法:UNIQUE(数组,按列,仅出现一次)
公式:=UNIQUE(C1:D11)
解析:第二三参数省略,默认为按行去掉重复值。公式表示对C1:D11去除重复值,无论出现多少次都只保留一次,返回上图右侧结果。
如果第三参数为1,公式为:
=UNIQUE(C2:D11,,1)
表示按行返回仅出现一次{"电视机","B"}。
二、XLOOKUP
用法:XLOOKUP(查找值,查找数组,返回数组,未找到值,匹配模式,搜索模式)
公式:
=XLOOKUP(C8&D8,B2:B6&C2:C6,D2:D6,"")
解析:第一参数C8&D8为查找对象,第二参数B2:B6&C2:C6为查找范围,第三参数D2:D6为返回数组,第四参数表示未找到返回空白””。
三、XMATCH
用法:XMATCH(查找值,查找数组,匹配模式,搜索模式)
公式:
=INDEX(A2:D6,XMATCH(C8&D8,B2:B6&C2:C6),XMATCH(B9,A1:D1))
解析:XMATCH(C8&D8,B2:B6&C2:C6)定位“电视机B”所在的行数,XMATCH(B9,A1:D1)定位“库存”所在的列数,用INDEX根据行数、列数返回值259。
四、FILTER
用法:FILTER(数组,布尔值数组TRUE表示留下,空值)
公式: =FILTER(D1:D6,(B1:B6=C8)*(C1:C6=D8))
解析:(B1:B6=C8)*(C1:C6=D8)返回一组布尔值数组,同时满足名称列等于“电视机”和型号列等于“B”的返回“TRUE”,其余返回“FALSE”。FILTER依据第二参数的数组中的“TRUE”,返回第一参数数组中对应的值。
TAKE用法:TAKE(数组,行数,列数)
公式:=TAKE(A1:D6,2,-3)
解析:TAKE从数组开头或结尾返回行或列,正数表示从前面和左面开始,负数表示从结尾和右面开始。
六、DROP
用法:DROP(数组,行数,列数)
公式:
=DROP(A1:D6,-3,1)
解析:TAKE从数组开头或结尾删除行或列,正数表示从前面和左面开始,负数表示从结尾和右面开始。
七、VSTACK
用法:VSTACK(数组1,数组2,......)
公式:=LET(X,VSTACK(A1:D6,A9:D10),IF(X="","",X))
解析:
VSTACK(A1:D6,A9:D10)
表示将A1:D6和A9:D1数据区域垂直堆砌起来。
=LET(X,VSTACK(A1:D6,A9:D10),IF(X="","",X)),将堆砌的结果定义为X, 如果X等于空白,则返回空白,否则返回X,即返回原有单元格的值。
八、HSTACK
用法:HSTACK(数组1,数组2,......)
公式:
=LET(X,HSTACK(A1:C6,C8:C13),IF(X="","",X))
解析:HSTACK以逐列拼接的方式合并数组,将堆砌的结果定义为X, 如果X等于空白,则返回空白,否则返回X,即返回原有单元格的值。
来源:Excel花园