Google Sheets如何将指定QUERY公式转换为ARRAYFORMULA数组公式
单格QUERY公式转整列自动计算ARRAYFORMULA方案
原逐行生效公式
=query({unique(filter(A$2:A,B$2:B=B2)),sequence(rows(unique(filter(A$2:A,B$2:B=B2))))},"select Col2 where Col1 = '"&A2&"'")
需求说明
- 生成分组递增序号:相同item所属月份不同时,序号自动重置为1
- 序号判断逻辑无需单独校验月份,可通过字段拼接适配,判断依据为分组唯一ID
- 公式需支持整列自动计算,输入后无需逐行下拉,新增行自动计算结果
可直接使用的数组公式
将以下公式输入到序号列第2行的单元格,即可自动覆盖整列完成计算,计算逻辑与原单格公式完全一致:
=ARRAYFORMULA( MAP(B2:B,A2:A, LAMBDA(b,a, IF(b="",, QUERY( {UNIQUE(FILTER(A$2:A,B$2:B=b)),SEQUENCE(ROWS(UNIQUE(FILTER(A$2:A,B$2:B=b))))}, "select Col2 where Col1 = '"&a&"'",0 ) ) ) ) )
公式自动跳过空白行,不会返回冗余错误值,后续新增/修改A、B列数据时,序号会自动更新。
内容的提问来源于stack exchange,提问作者Kreng Kongkeng
相关产品推荐
相关产品推荐

