Google Sheets QUERY函数跨表取数:如何将四列合并为两列?
Google Sheets QUERY函数合并多工作表数据到两列并去重方案
问题根源
你当前用逗号拼接区域的写法({TeamScaled!I:I,TeamRx!M:M, TeamLeadScaled!I:I, TeamLeadScaled!M:M})是横向合并4个单列区域,自然会生成E、F、G、H四列。要合并到两列,需要将对应列组合成两列区域后,用分号纵向堆叠。
解决公式
直接使用以下公式即可实现需求:
=UNIQUE(QUERY({TeamScaled!I:I, TeamRx!M:M; TeamLeadScaled!I:I, TeamLeadScaled!M:M}, "SELECT Col1, Col2 WHERE Col1 IS NOT NULL AND Col2 IS NOT NULL", 0))
公式说明
{TeamScaled!I:I, TeamRx!M:M; TeamLeadScaled!I:I, TeamLeadScaled!M:M}:分号用于纵向堆叠两个两列区域,确保整体输出为两列,对应你要的E、F列QUERY(..., "SELECT Col1, Col2 WHERE Col1 IS NOT NULL AND Col2 IS NOT NULL", 0):过滤掉两列中存在空白的行,避免无效数据干扰(如果你的原始数据有表头,把最后的0改成1)UNIQUE():自动提取所有不重复的行数据,满足你“提取唯一数据”的要求
关于之前分号用法导致数据丢失的原因
你之前用分号时数据丢失,大概率是因为堆叠的子区域列数不一致(比如单独堆叠单列和多列),导致数据错位被截断。必须保证每个堆叠的子区域列数完全相同(这里统一为2列),才能正常合并。
内容的提问来源于stack exchange,提问作者Simba1309
相关产品推荐
相关产品推荐

