You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel动态数组中比较元素并返回≤当前元素的子集

Excel动态数组实现元素筛选拼接的方案

针对需求——对动态数组{1,3,10,8,5,7,9}中的每个元素,筛选出数组中所有小于等于该元素的项并拼接成文本,可通过以下Excel动态数组公式实现(适用于Excel 365/2021及以上版本):

公式实现

假设原数组存储在单元格区域A1:A7,在B1单元格输入以下公式,会自动溢出生成所有结果:

=BYROW(A1:A7, LAMBDA(x, TEXTJOIN(", ", TRUE, FILTER(A1:A7, A1:A7<=x))))

如果直接使用常量数组,公式可写为:

=BYROW({1,3,10,8,5,7,9}, LAMBDA(x, TEXTJOIN(", ", TRUE, FILTER({1,3,10,8,5,7,9}, {1,3,10,8,5,7,9}<=x))))

公式解析

  • BYROW:遍历目标数组的每一个元素,将当前元素传入自定义参数x
  • FILTER:根据条件A1:A7<=x,筛选出原数组中所有符合要求的元素
  • TEXTJOIN:将筛选得到的动态数组用, (逗号加空格)拼接成文本,TRUE参数用于忽略空值(避免筛选结果为空时出现多余分隔符)

执行后得到的结果完全匹配预期输出,元素顺序为原数组中符合条件项的自然顺序,满足排序不限的要求。

内容的提问来源于stack exchange,提问作者Wesley Young

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:33:25