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 之间的一系列随机整数。