如何返回表格中对应数据的行标题与列标题?
提取表格对应数据的行、列标题方法
单值匹配场景(数据唯一)
假设你的表格行标题在A列、列标题在第1行,数据区域为B2:E5,要查找的目标值放在单元格G1:
获取对应行标题
用INDEX+MATCH组合公式:
=INDEX(A:A, MATCH(G1, B2:E5, 0)+1)
公式逻辑:MATCH(G1, B2:E5, 0)定位目标值在数据区域的行位置,加1是因为数据区域从第2行开始,对应行标题在第1行的上方。
获取对应列标题
同理用组合公式:
=INDEX(1:1, MATCH(G1, B2:E5, 0)+1)
MATCH定位目标值在数据区域的列位置,加1是因为数据区域从B列开始,对应列标题在A列的右侧。
多值匹配场景(存在重复数据)
如果表格里有多个相同的目标值,要返回所有对应行/列标题,用动态数组公式(Excel 365/2021支持):
返回所有匹配的行标题
=TEXTJOIN(", ", TRUE, INDEX(A:A, MATCH(G1, B2:E5, 0)+1))
用TEXTJOIN把所有匹配到的行标题用逗号分隔显示。
返回所有匹配的列标题
=TEXTJOIN(", ", TRUE, INDEX(1:1, MATCH(G1, B2:E5, 0)+1))
简化写法(Excel 365及以上版本)
用XLOOKUP可以更直观实现:
行标题
=XLOOKUP(G1, B2:E5, A2:A5)
直接指定数据区域和对应的行标题区域,自动匹配返回。
列标题
=XLOOKUP(G1, TRANSPOSE(B2:E5), B1:E1)
用TRANSPOSE转置数据区域,匹配对应的列标题。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

