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

Google Sheets:按指定部门转置已勾选表头至对应工作表

解决方案

核心公式(以“市场部”工作表为例)

假设Sheet1的表头在第1行(D1:Z1为需要筛选的勾选表头),部门列是C列,勾选标记为TRUE(若为"√"则替换公式中的TRUE),在目标部门工作表的A1单元格输入以下公式:

=TRANSPOSE(UNIQUE(FILTER(Sheet1!$D$1:$Z$1, MMULT(--(Sheet1!$C$2:$C$1000="市场部"), --(Sheet1!$D$2:$Z$1000=TRUE))>0)))

公式说明

  • --(Sheet1!$C$2:$C$1000="市场部"):将指定部门的行转换为1,其他行转换为0,生成一维数组
  • --(Sheet1!$D$2:$Z$1000=TRUE):将已勾选的单元格转换为1,未勾选的转换为0,生成二维数组
  • MMULT(...)>0:通过矩阵乘法计算每个表头列下,指定部门员工的勾选次数,大于0表示该表头有至少一名对应部门员工勾选
  • FILTER:筛选出符合条件的表头
  • UNIQUE:去除重复的表头项(避免同一表头被多名员工勾选后重复显示)
  • TRANSPOSE:将横向表头转置为纵向列表,匹配Sheet1职位列(B:B)的展示格式

动态匹配部门名称(无需手动修改公式)

如果目标工作表的名称就是对应部门名,可使用以下公式自动获取当前工作表名称,适配所有部门工作表:

=TRANSPOSE(UNIQUE(FILTER(Sheet1!$D$1:$Z$1, MMULT(--(Sheet1!$C$2:$C$1000=MID(CELL("filename"),FIND("]",CELL("filename"))+1,99)), --(Sheet1!$D$2:$Z$1000=TRUE))>0)))

常见问题说明

之前使用Transpose(Filter(),Filter())失败的原因通常是嵌套Filter无法关联部门列与勾选状态的对应关系,改用MMULT可以实现跨维度的条件匹配,准确筛选出指定部门下已勾选的表头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:12:50