Google Sheets合并列匹配异常:单独公式有效但结果无法对应
解决方案
要解决两个公式合并后数据不匹配的问题,核心是统一两个结果的结构(转为单列)再合并,修正后的公式如下:
=VSTACK( TOCOL(FILTER({'Form responses 1'!C2:E, 'Form responses 1'!B2:B}, UPPER('Form responses 1'!G2:G)="ALDERTON INFANT SCHOOL"), 2), FILTER({AM2:AM;AN2:AN;AO2:AO}, LEN({AM2:AM;AN2:AN;AO2:AO})) )
关键修正说明:
- 修复筛选逻辑:原公式中
UPPER('Form responses 1'!G2:G="Alderton Infant School")写法错误,需先将G列内容转大写,再与大写的学校名称对比,确保筛选条件生效。 - 统一数据结构:第一个公式返回多列数据(C-E列+B列共4列),第二个公式返回单列数据,直接合并会因列数不匹配失败。使用
TOCOL(...,2)将多列结果转为单列,同时自动忽略空值。 - 合并结果:通过
VSTACK将处理后的两个单列结果纵向拼接,最终输出到F列。
可选简化写法(按需选择):
如果只需提取第一个筛选结果中的B列+C-E列内容,可直接先纵向拼接数据源再筛选,同样得到单列结果:
=VSTACK( FILTER({'Form responses 1'!B2:B;'Form responses 1'!C2:E}, UPPER('Form responses 1'!G2:G)="ALDERTON INFANT SCHOOL"), FILTER({AM2:AM;AN2:AN;AO2:AO}, LEN({AM2:AM;AN2:AN;AO2:AO})) )
内容的提问来源于stack exchange,提问作者Matthew Harrison
相关产品推荐
相关产品推荐

