如何按日期时序合并两个Google Sheets Query查询表格?
合并两个Google Sheets Query结果并按日期排序
方法1:单个Query语句直接合并+排序
可以通过将两个IMPORTRANGE的结果先合并,再用QUERY完成筛选和排序,一步到位实现需求。假设你的日期列是查询结果的第一列(对应原数据的Col1),公式如下:
=QUERY({ IMPORTRANGE("url_example1", "Sheet1!A1:Z"), IMPORTRANGE("url_example2", "Sheet2!A1:Z") }, "select Col1, Col2, Col7 where Col1 is not null order by Col1 asc", 1)
- 大括号
{}用于纵向合并两个外部数据源的全量数据 select Col1, Col2, Col7保留你需要的三列where Col1 is not null过滤空行,避免表头重复或无效数据order by Col1 asc按日期列升序排序(改为desc可实现降序)- 最后一个参数
1表示第一行为表头
方法2:基于现有表格合并排序
如果已经在当前工作表的A-C列和E-G列生成了两个Query结果,直接合并这两个区域即可:
=QUERY({A:C; E:G}, "select Col1, Col2, Col3 where Col1 is not null order by Col1 asc", 1)
方法3:用VSTACK+SORT简化操作(新版Google Sheets)
新版Sheets支持VSTACK函数,合并后直接用SORT排序,写法更简洁:
=SORT(VSTACK(A1:C, E1:G), 1, TRUE)
VSTACK(A1:C, E1:G)纵向合并两个表格区域SORT(..., 1, TRUE)按第一列(日期)升序排序,TRUE改为FALSE则为降序
注意事项
- 首次使用
IMPORTRANGE需要授权访问目标文档,点击公式提示的「允许访问」即可 - 确保两个表格的列结构完全一致(列数、对应列的数据类型相同,比如日期列均为日期格式)
- 如果日期列不是第一列,修改
order by或SORT的列序号即可(比如日期在第二列,就写order by Col2 asc或SORT(..., 2, TRUE))
内容的提问来源于stack exchange,提问作者Able Archer
相关产品推荐
相关产品推荐

