Google Sheets使用QUERY合并两表并输出指定列的实现方法
Google Sheets双表按姓名匹配合并QUERY实现方案
前提说明
两张表的匹配逻辑为FirstName+LastName组合唯一对应一个用户,两种实现方法如下:
方法1:加辅助列实现(新手推荐,出错易排查)
- 第一步:给两张表各加1列匹配辅助列
- CustInfo表D1填
匹配键,D2输入公式=A2&B2,下拉填充所有数据行,拼接姓名为唯一键 - Reply表D1填
匹配键,D2输入公式=A2&B2,下拉填充所有数据行
- CustInfo表D1填
- 第二步:在要输出结果的单元格输入如下公式:
=QUERY( { CustInfo!A:C, ARRAYFORMULA(IFNA(VLOOKUP(CustInfo!D:D, Reply!D:C, 2, FALSE))) }, "SELECT Col1, Col2, Col3, Col4 WHERE Col1 IS NOT NULL LABEL Col4 'Accepted'", 1 )
方法2:无辅助列直接实现(无需修改原表结构)
直接在输出结果的单元格输入如下公式即可:
=QUERY( { CustInfo!A2:C, BYROW( CustInfo!A2:A & CustInfo!B2:B, LAMBDA(key, IFNA(INDEX(Reply!C:C, MATCH(key, Reply!A:A&Reply!B:B, 0)))) ) }, "SELECT Col1, Col2, Col3, Col4 WHERE Col1 IS NOT NULL LABEL Col4 'Accepted'", 0 )
可选调整项
- 如果你只需要保留两张表都存在的用户记录,在QUERY的
WHERE条件后追加AND Col4 IS NOT NULL即可 - 若有重复的同名同姓氏用户,公式默认返回第一条匹配到的Accepted值
内容的提问来源于stack exchange,提问作者12Rev79
相关产品推荐
相关产品推荐

