如何匹配两工作表ClassID并返回“Yes”对应列标题
解决方案
Excel 365 / 2021 版本公式
仅返回第一个匹配到的Yes对应的列标题
在Sheet2需要输出结果的单元格(默认取B2)输入以下公式,下拉填充即可:=IFERROR(INDEX(Sheet1!$B$1:$Z$1,MATCH("Yes",XLOOKUP(A2,Sheet1!$A:$A,Sheet1!$B:$Z),0)),"No")
如果需要返回同一行所有Yes对应的列标题,用以下公式:=IFERROR(TEXTJOIN("、",1,FILTER(Sheet1!$B$1:$Z$1,XLOOKUP(A2,Sheet1!$A:$A,Sheet1!$B:$Z)="Yes")),"No")
旧版Excel(2019及更早版本)公式
在Sheet2结果单元格输入以下公式,输入完成后按Ctrl+Shift+Enter三键组合确认数组生效,之后下拉填充:=IFERROR(INDEX(Sheet1!$B$1:$Z$1,MATCH("Yes",INDEX(Sheet1!$B:$Z,MATCH(A2,Sheet1!$A:$A,0),),0)),"No")
注意事项
- 公式中的
$B$1:$Z$1、$B:$Z是Sheet1的项目列范围,可根据你实际表格的最大列数调整,比如项目列到H列就把Z改成H - Sheet2中同一ClassID的多条连续行会返回完全相同的结果,不需要额外做去重处理
内容的提问来源于stack exchange,提问作者Jeffrey Lueken
相关产品推荐
相关产品推荐

