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

Google Sheets:按列筛选指定名称的前3条未完成主题详情

解决方案

针对你描述的Google Sheets数据结构,推荐两种公式实现方式,核心思路是先将列状的组结构转换为可筛选的行结构,再提取目标内容:

方法一:使用QUERY + MAKEARRAY(直观易读)

假设你的数据源工作表名为「数据源」,指定的分配名称放在新工作表的A1单元格,公式如下:

=QUERY(
  MAKEARRAY(
    COUNTA(数据源!1:1)*5, 3,
    LAMBDA(row, col,
      LET(
        col_num, CEILING(row/5),
        group_num, MOD(row-1,5)+1,
        offset_row, (group_num-1)*3 + col,
        INDEX(数据源!A:Z, offset_row, col_num)
      )
    )
  ),
  "SELECT Col1 WHERE Col2 = '"&A1&"' AND Col3 != 'Complete' LIMIT 3",
  0
)

公式说明:

  • MAKEARRAY 生成一个包含所有组数据的二维数组:行数为「数据源列数×5组」,3列分别对应主题详情、分配名称、状态
  • LAMBDA 遍历数组每个位置,计算其对应的数据源列号、组号,再通过INDEX提取对应单元格的值
  • QUERY 筛选出分配名称匹配、状态不为Complete的主题详情,最后限制只取前3条

方法二:使用FILTER + INDEX + FLATTEN(轻量灵活)

同样基于「数据源」工作表和A1单元格的指定名称,公式如下:

=INDEX(
  FILTER(
    FLATTEN(INDEX(数据源!A:Z, SEQUENCE(5,1,1,3), SEQUENCE(1,COUNTA(数据源!1:1)))),
    FLATTEN(INDEX(数据源!A:Z, SEQUENCE(5,1,2,3), SEQUENCE(1,COUNTA(数据源!1:1)))) = A1,
    FLATTEN(INDEX(数据源!A:Z, SEQUENCE(5,1,3,3), SEQUENCE(1,COUNTA(数据源!1:1)))) <> "Complete"
  ),
  SEQUENCE(3)
)

公式说明:

  • SEQUENCE(5,1,1,3) 生成每组主题详情所在的行号:1、4、7、10、13(间隔3行对应每组),同理生成分配名称、状态的行号
  • INDEX+FLATTEN 将各列的对应行数据转换为一维数组,方便后续筛选
  • FILTER 匹配分配名称并排除状态为Complete的条目,最后用INDEX+SEQUENCE提取前3条结果

注意事项:

  • 如果数据源的列数不固定,公式中COUNTA(数据源!1:1)会自动统计有效列数,无需手动修改范围
  • 若指定名称为数字类型,可去掉QUERY公式中'"&A1&"'的单引号,改为"&A1&"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:45:26