Google Sheets无需App Script实现多分类表自适应汇总主表方案咨询
多分类工作表自动汇总实现方案
原有嵌套IF公式失效原因
你之前写的公式为固定行号的多表判断逻辑,只能读取所有分类表同一行的内容,无法按顺序拼接各表全部有效物品行,也无法适配源表数据量的变化。
方案(无需App Script,仅需单个公式)
支持Google Sheets、Excel 365/2021及以上版本,仅需在主表汇总区域的首个单元格写入一次公式,所有内容自动溢出生成,源表增删数据时主表会自动同步更新顺序和内容:
Google Sheets 公式
=LET( // 按你需要的展示顺序填写分类表名称 sheet_list, {"Equips","Mounts","Music","Emotes","Minions","Furniture","Misc"}, // 遍历所有分类表,提取非空的物品+分类行 full_data, REDUCE("", sheet_list, LAMBDA(result, sheet_name, VSTACK(result, FILTER(INDIRECT(sheet_name&"!A:B"), INDIRECT(sheet_name&"!A:A")<>"")) )), // 去除初始拼接生成的空行 FILTER(full_data, INDEX(full_data,1,1)<>"") )
Excel 365/2021 公式
=LET( sheet_list, {"Equips","Mounts","Music","Emotes","Minions","Furniture","Misc"}, full_data, REDUCE("", sheet_list, LAMBDA(result, sheet_name, VSTACK(result, FILTER(INDIRECT(sheet_name&"!A:B"), INDIRECT(sheet_name&"!A:A")<>"")) )), // 去除初始拼接生成的空行 DROP(full_data,1) )
效果说明
- 完全符合你提出的顺序展示要求:Equips表内容优先展示,后续按公式中定义的表顺序依次拼接其他分类表内容
- 任意分类表新增/删除物品行时,主表汇总内容自动同步调整,后续分类的内容自动顺延,无需手动修改公式
- 自动过滤各分类表的空行,不会出现冗余的Error占位内容
内容的提问来源于stack exchange,提问作者Khodexian
相关产品推荐
相关产品推荐

