Excel 新增6个数组函数,功能强大,建议收藏

FILTER

单条件筛选

在以下示例中,我们使用公式 =FILTER(A5:D20,C5:C20=H2,"") 返回包含“苹果”(如单元格 H2 中所选定)的所有记录,如果没有“苹果”,则返回空字符串 ("")。

多条件筛选

在此示例中,我们使用乘法运算符 (*),以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值:=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")

多条件筛选,同时满足条件用“*”连接

在此示例中,我们配合使用之前的 FILTER 函数和 SORT 函数,以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值,然后对 Units 进行降序排序:=SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)

多条件筛选,满足任一条件用“+”连接

在此示例中,我们配合使用 FILTER 函数和加法运算符 (+),以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值,然后对 Units 进行降序排序:=SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)

请注意,这些函数都不需要绝对引用,因为它们仅存在于一个单元格中,并将其结果溢出到相邻单元格。

SORT

SORT 函数可对某个区域或数组的内容进行排序。 

在此示例中,我们使用 =SORT(A2:A17) 并复制到单元格 F2、H2 和 J2,分别按“区域”、“销售代表”和“产品”进行排序。

SORTBY

按照区域对表格进行升序排序,然后按照每个人员的年龄进行降序排序。

配合使用 SORTBY 与 RANDARRAY以及 COUNTA 随机化值列表。 在本例中,E2# 引用从单元格 E2 开始的动态数组范围,因为该范围使用 =SEQUENCE(10) 填充。 # 符号称为溢出范围运算符。

使用 SORTBY 按照高温对温度和降水值表格进行排序。

错误条件

By_array 参数必须为一行高或一列宽。

所有参数必须大小相同。

如果排序顺序参数不为 -1 或 1,则公式将导致 #VALUE! 错误。 如果您忽略 "排序次序" 参数,Excel 将默认为升序排序。

UNIQUE

示例 1

此示例将 "排序" 和 "唯一" 结合使用,以按升序返回唯一名称列表。

示例 2

此示例将 exactly_once 参数设置为 TRUE,并且该函数仅返回每次都有服务的客户。 如果您想确定没有为其他服务返回的人员,这样做可能会很有用,因此您可以与他们联系。

示例 3

此示例使用与号(&)将姓氏和名字连接到全名。 请注意,公式引用 A2: A12 和 B2: B12 中的整个名称范围。 这允许 Excel 返回所有名称的数组。

提示:

如果将名称区域的格式设置为Excel 表格,则在添加或删除名称时公式将自动更新。

如果要对名称列表进行排序,可以添加sort 函数: = sort (UNIQUE (B2: B12& "" &A2: A12))

示例 4

此示例比较两列,并仅返回它们之间的唯一值。

SEQUENCE

SEQUENCE 函数可在数组中生成一系列连续数字,例如,1、2、3、4。

在以下示例中,使用 =SEQUENCE(4,5) 创建了高 4 行,宽 5 列的数组。

若要创建快速示例数据集,请参阅下面的示例,该示例将 SEQUENCE 与 TEXT、DATE、YEAR 和 TODAY 结合使用,以为标题行创建动态月份列表,其中基础日期始终为当前年份。 公式为:=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,6),1),"mmm")

下面的示例介绍如何将嵌套 SEQUENCE 与 INT 和 RAND 配合使用,创建 5 行 x 6 列的数组,并且包含一组随机增加的整数。 公式为:=SEQUENCE(5,6,INT(RAND()*100),INT(RAND()*100)).

此外,可以使用 =SEQUENCE(5,1,1001,1000) 创建示例中 GL 代码数字的有序列表。

RANDARRAY

RANDARRAY 函数返回一组随机数字。 可指定要填充的行数和列数,最小值和最大值,以及是否返回整数或小数值。

在以下示例中,我们创建了一个高 5 行,宽 3 列的数组。 第一个返回 0 到 1 之间的随机值集,这是 RANDARRAY 的默认行为。 下一个返回 1 到 100 之间的一系列随机十进制值。 最后,第三个示例返回 1 到 100 之间的一系列随机整数。

你可能感兴趣的:(Excel 新增6个数组函数,功能强大,建议收藏)