js 数组按照特定值筛选排序_Excel 新增6个数组函数,功能强大,建议收藏

56d5bb644aa89c9c9efdc045fd4c19cd.png

FILTER

  • 单条件筛选

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

a1c9628bcb284cb654b4c492e34a300b.png
  • 多条件筛选

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

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

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

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

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

fd45f7ea66e298e2c5fc139396f04f85.png

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

SORT

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

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

55951813b4263a2ac8cc8f800fc88765.png

SORTBY

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

7cc547d644bc31fa21ef6cecb408f156.png

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

97116b8e9cdf628297e481e5eb83f8f7.png

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

ac71d66851942e9792d9ba6e1876dacf.png

错误条件

  • By_array 参数必须为一行高或一列宽。
  • 所有参数必须大小相同。
  • 如果排序顺序参数不为 -1 或 1,则公式将导致 #VALUE! 错误。 如果您忽略 "排序次序" 参数,Excel 将默认为升序排序。

UNIQUE

示例 1

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

4ce02b4d1fe7e94eff8eeef5cca72551.png

示例 2

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

fabc75c91c73a187bb5adc7c057bb506.png

示例 3

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

d1178cf25b8cc14819f0c8e77f22dc5e.png

提示:

  • 如果将名称区域的格式设置为Excel 表格,则在添加或删除名称时公式将自动更新。
  • 如果要对名称列表进行排序,可以添加sort 函数: = sort (UNIQUE (B2: B12& "" &A2: A12))

示例 4

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

27f6eb8241db2afb8c5fab0d0ab9e978.png

SEQUENCE

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

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

180e9539f1808773cacd7d6fc6118b17.png

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

ccbf42b058f4be6ab82292f2224e38a1.png

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

eb9442fadb64ef8bc14bf85ea9fc884d.png

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

RANDARRAY

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

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

9c3b4c9e4379cef203b52b19448e19a1.png
0064d7093f44c3b14d2bd3219fff5906.png
fa350f2fe3d43cdcf27d48e7ee0035af.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值