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

如何编写Google Sheets公式查找缺失序列号(含多值场景)

Google Sheets 缺失序列号检测公式实现

一、基础场景(PART 1)

给定Google Sheets中包含STUDIO、FIN YEAR、NUMBER三列的数据集,需编写公式在单个单元格生成指定格式的缺失序列号输出,规则如下:

  • 序列号按每个STUDIO的每个FIN YEAR从1开始计数,忽略重复值
  • 仅显示存在缺失序列号的STUDIO及对应财年,无缺失则不展示

基础场景实现公式

=TEXTJOIN(CHAR(10), TRUE, ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(FILTER(A2:C, NOT(ISBLANK(A2:A)))), {UNIQUE(FILTER(A2:B, NOT(ISBLANK(A2:A)))), BYROW(UNIQUE(FILTER(A2:B, NOT(ISBLANK(A2:A)))), LAMBDA(x, TEXTJOIN(", ", TRUE, FILTER(SEQUENCE(MAX(FILTER(C:C, A:A=INDEX(x,1), B:B=INDEX(x,2)))), NOT(ISNUMBER(MATCH(SEQUENCE(MAX(FILTER(C:C, A:A=INDEX(x,1), B:B=INDEX(x,2)))), UNIQUE(FILTER(C:C, A:A=INDEX(x,1), B:B=INDEX(x,2))), 0))))))}, 3, FALSE), "")))

二、扩展场景(PART 2)

扩展上述公式,支持NUMBER列单元格包含单个或多个数字的场景(默认按逗号+空格拆分多值,可根据实际分隔符调整)。

扩展场景实现公式

=TEXTJOIN(CHAR(10), TRUE, ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(FILTER(A2:C, NOT(ISBLANK(A2:A)))), {UNIQUE(FILTER(A2:B, NOT(ISBLANK(A2:A)))), BYROW(UNIQUE(FILTER(A2:B, NOT(ISBLANK(A2:A)))), LAMBDA(x, LET(
    nums, FLATTEN(SPLIT(TEXTJOIN(", ", TRUE, FILTER(C:C, A:A=INDEX(x,1), B:B=INDEX(x,2))), ", ")),
    unique_nums, UNIQUE(VALUE(nums)),
    max_num, MAX(unique_nums),
    missing, FILTER(SEQUENCE(max_num), NOT(ISNUMBER(MATCH(SEQUENCE(max_num), unique_nums, 0)))),
    IF(COUNTA(missing)>0, TEXTJOIN(", ", TRUE, missing), "")
)))}), 3, FALSE), "")))

内容的提问来源于stack exchange,提问作者Aashit Garodia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:07:39