ARTICLE · 1123253
Excel 365的最近更新的4个新函数
【概述】介绍Excel 365的4个新增函数。
【适用对象】Excel 365接收到最近推送的同学。
上一期介绍了Excel 365在2026年9月的史诗级更新-“列表”,并通过一个实例体验了一下它的强大。随列表一起更新的,还有4个新函数,分别是:FLATTEN、HAS、HASAL和HASANY,今天简单介绍一下这四个函数
一、FLATTEN
FLATTEN用于嵌套多层的数组在保持原结构的情况下对其进行展开。它的语法:FLATTEN(区域,[空白处填充内容],[展开层级])。其中第1参数为必选参数,如果第1参数不是多层数组(列表),则返回第1参数本身 ;如果第2参数留空,默认空白区域返回错误值#N/A;如果第3参数留空,则默认展开一级。
例:列表的内容{{1,3,5};{99,88,77};{{3,5},{4,8}}},为1列3行的序列,其中第3行{{3,5},{4,8}}又是一个1行2列的的水平序列。所以整体有2级。
如果使用
=FLATTEN({{1,3,5};{99,88,77};{{3,5},{4,8}}})的话,则展开第1级,第1行的{1,3,5}水平展开分布在3个单元格;第2行的{99,88,77}同样水平分布在3个单元格;第3行由于是多级列表,只展开第1层级,所以第一个单元格内为{3,5}列表,第2个单元格内为{4,8}列表,第3行填充#N/A错误值,

如果要展开2个层级,并将空白处填充为数字0,则可以使用
=FLATTEN({{1,3,5};{99,88,77};{{3,5},{4,8}}},0,2)展开后的内容如下图所示

二、HASHASALLHASANAY
这三个函数属于同类,放在一起交流吧。它们都是判断一个/一组数据是否存在于某个区域(数组)内,如果存在,返回TRUE,否则返回FALSE。
HAS(区域,待判断值)
HASALL(区域,待判断的多个值)(如果待判断的所有值都在区域内,返回true)
HASANY(区域,待判断的多个值)(如果待判断的任一值在区域内,返回true)

如上图所示,E1单元格公式为
=HAS(A1:B14,H1)表示在A1:B14区域中查找是否存在H1单元格(19),如果存在,则返回true
E3单元格公式
=HASALL(A1:B14,H3#)表示在A1:B14区域中查找是否同时存在{6;1;30}这三个值,显然区域中只存在6一个值,所以结果返回FALSE;
E5单元格公式
=HASALL(A1:B14,H3#)表示在A1:B14中查找是否存在{6;1;30}这三个值中的至少一个,如果存在任意一个(或多个)则返回TRUE。

Excel私房菜,有质量的公众号