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

Google Sheets中如何用嵌套FILTER函数实现分层工具列表输出?

Google Sheets 动态分层筛选工具ID方案

针对你需要根据选中的层级位置,动态分层显示对应工具ID的需求,这里提供一个基于LET、REDUCE和FILTER的弹性解决方案,完全适配数据动态增减的场景:

核心公式(Sheet2中输入,假设下拉选择框在A1)

=LET(
  selected, A1,
  data, Sheet1!A:F,
  loc_col, INDEX(data,,3),
  tool_col, INDEX(data,,1),
  slash_count, LEN(REGEXREPLACE(selected, "[^/]", "")),
  sub_locs, UNIQUE(FILTER(loc_col, LEFT(loc_col, LEN(selected)+1)=selected&"/")),
  IF(
    slash_count=2,
    FILTER(tool_col, loc_col=selected),
    REDUCE("", sub_locs, LAMBDA(result, sub_loc,
      VSTACK(result, sub_loc, FILTER(tool_col, loc_col=sub_loc))
    ))
  )
)

公式说明

  1. 变量定义:用LET封装常用变量,提升公式可读性和维护性

    • selected:获取下拉选中的位置文本
    • data:引用Sheet1的完整数据源区域
    • loc_col:指向C列的位置层级文本
    • tool_col:指向A列的工具ID
    • slash_count:通过统计斜杠数量区分选中位置的层级(上层/底层)
    • sub_locs:自动提取选中位置下的所有直接子区域,适配新增数据
  2. 逻辑分支

    • 若选中最底层位置(如TOOL ROOM/CART 1/DRAWER 1,斜杠数量为2),直接用FILTER输出对应工具ID
    • 若选中上层位置(如TOOL ROOM或TOOL ROOM/CART 1),用REDUCE迭代每个子区域,先输出子区域标题,再堆叠该区域下的所有工具ID,实现分层展示

动态数据适配特性

  • 用UNIQUE和FILTER自动识别新增的位置和工具行,无需手动更新公式
  • 下拉选择框数据源直接引用Sheet1!C:C,新增位置会自动出现在下拉选项中

内容的提问来源于stack exchange,提问作者J-Drake

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:37:52