如何在Google Sheets合并多工作表时添加含表名的额外列?
解决多工作表合并时添加来源标识的问题
嘿,这需求很常见,我来给你一步步搞定:
1. 添加工作表名称列到合并结果
你只需要在每个工作表的数据区域前,新增一个常量列来存放对应的工作表名称,再把这些组合后的数组堆叠起来就行。修改后的公式如下:
=QUERY({ {"SheetOne", SheetOne!A16:B}; {"SheetTwo", SheetTwo!A16:B}; {"SheetThree", SheetThree!A16:B}; {"SheetFour", SheetFour!A16:B} }, "SELECT * WHERE Col2 IS NOT NULL", 0)
关键说明:
- 每个
{"SheetOne", SheetOne!A16:B}的作用是:把字符串"SheetOne"作为第一列,和SheetOne!A16:B的两列数据合并成一个3列的数组 - 用分号
;把多个工作表的组合数组纵向堆叠 - QUERY里的条件改成
Col2 IS NOT NULL,因为现在原来的Week列变成了第二列,要过滤掉空行
这样就能得到你想要的包含工作表名称的结果了。
2. 替换为自定义字符串
如果不想显示工作表原名,想换成自定义的标识(比如"季度1"、"渠道A"之类的),直接把常量列的字符串改成你需要的内容就行:
=QUERY({ {"季度1", SheetOne!A16:B}; {"季度2", SheetTwo!A16:B}; {"季度3", SheetThree!A16:B}; {"季度4", SheetFour!A16:B} }, "SELECT * WHERE Col2 IS NOT NULL", 0)
这样合并后的第一列就会显示你自定义的字符串,而不是工作表的默认名称啦。
内容的提问来源于stack exchange,提问作者David Beck
相关产品推荐
相关产品推荐

