谷歌表格如何从动态机构列表为QUERY自动添加查询工作表
谷歌表格动态机构日程汇总解决方案
前提要求:所有机构专属工作表的日程数据结构统一,默认以A列为日程日期、B列为日程内容,有效数据从第2行开始录入
以下方案可同时满足你提出的两项需求:
- 自动读取「Organisation List」的机构名称,新增机构只要录入到该列表就自动纳入查询范围,无需手动修改公式
- 总日程每行自动匹配显示对应的机构名称
操作步骤
- 确认「Organisation List」工作表A列为机构名称录入列,表头可放在A1单元格,从A2开始逐行填写需纳入统计的机构名称,需和对应的工作表名称完全一致
- 打开「Schedule」工作表,点击你要放置总日程的首个单元格(如A1),输入以下公式:
=SORT(REDUCE({"日期","日程内容","所属机构"}, FILTER('Organisation List'!A:A, 'Organisation List'!A:A<>""), LAMBDA(acc, org_name, VSTACK(acc, HSTACK(INDIRECT("'"&org_name&"'!A2:B"), IF(ROW(INDIRECT("'"&org_name&"'!A2:B"))>0, org_name, ))))), 1, TRUE)
说明
公式运行逻辑:先过滤出机构列表中所有非空的机构名称,逐个读取对应工作表的日程数据,给每行数据拼接上所属机构名称后合并到一起,最后按日期升序排序生成总日程
- 若你的机构表有更多字段需要同步,修改公式中
INDIRECT("'"&org_name&"'!A2:B")的范围即可,比如要同步到C列备注字段就改成A2:C,同时调整VSTACK里的表头字段即可 - 若出现#REF!报错,优先检查机构列表中的名称和对应工作表名称是否完全一致,是否存在多余空格、特殊字符不匹配的问题
内容的提问来源于stack exchange,提问作者Tom Bunn
相关产品推荐
相关产品推荐

