Google Sheets多列匹配查询:TOROW+FILTER公式修正求助
修正Google Sheets匹配公式实现横向输出对应数据
你的原公式只筛选了Sheet1的ID Secondary列(B列),没有包含Name列(C列),所以无法同时返回两项数据。根据你的需求,分两种情况给出修正方案:
情况1:每个ID Primary对应唯一的ID Secondary和Name
在Sheet2的B2单元格输入以下公式,直接返回对应行的ID Secondary和Name:
=INDEX(Sheet1!B:C, MATCH(A2, Sheet1!A:A, 0), 0)
MATCH(A2, Sheet1!A:A, 0):定位Sheet1中A列与Sheet2 A2匹配的行号INDEX(Sheet1!B:C, ..., 0):返回该行的B、C列数据,自动横向填充到B2、C2单元格
情况2:同一个ID Primary对应多组ID Secondary和Name(需全部横向输出)
如果Sheet1中存在同一ID Primary对应多条记录的情况,用以下公式批量获取并横向排列结果:
=TOROW(FILTER(Sheet1!B:C, Sheet1!A:A=A2), 1)
若需要去除重复的匹配项,添加UNIQUE即可:
=TOROW(UNIQUE(FILTER(Sheet1!B:C, Sheet1!A:A=A2)), 1)
FILTER(Sheet1!B:C, Sheet1!A:A=A2):筛选出所有与A2匹配的ID Secondary和Name数据TOROW(..., 1):将纵向的筛选结果转为横向排列,同时忽略空值
使用时,在Sheet2的A2输入目标ID Primary,B2及右侧单元格会自动填充对应数据,下拉公式可批量应用到其他行。
内容的提问来源于stack exchange,提问作者Akhmad Fahrudhin
相关产品推荐
相关产品推荐

