如何用公式将Excel横向表数据匹配填充至纵向表?
如何用公式匹配横向数据源填充纵向表格的Rate列
针对你的横向源数据表和纵向目标表,推荐两种常用的公式方案:
方案1:INDEX + MATCH组合(兼容所有Excel版本)
在目标表的H2单元格输入以下公式,然后下拉填充至需要的行:
=INDEX($B$2:$D$3,MATCH($F2,$A$2:$A$3,0),MATCH($G2,$B$1:$D$1,0))
公式说明:
MATCH($F2,$A$2:$A$3,0):定位当前行的Area在源表中的行号MATCH($G2,$B$1:$D$1,0):定位当前行的Day在源表中的列号INDEX($B$2:$D$3,行号,列号):根据行号和列号提取对应的Rate数值- 公式中的
$是绝对引用符号,用来固定源表的范围,防止下拉填充时引用区域偏移
方案2:XLOOKUP嵌套(适用于Excel 365/2021及以上版本)
如果使用的是新版本Excel,可使用更简洁的嵌套XLOOKUP公式,在H2单元格输入:
=XLOOKUP($G2,$B$1:$D$1,XLOOKUP($F2,$A$2:$A$3,$B$2:$D$3))
公式说明:
- 内层
XLOOKUP($F2,$A$2:$A$3,$B$2:$D$3):先匹配Area,返回该区域对应的整行数据 - 外层
XLOOKUP($G2,$B$1:$D$1,...):再从返回的行数据中匹配Day,得到对应的Rate数值
注意事项:
- 确保源表与目标表中的Area、Day名称完全一致(包括大小写、空格),否则会返回
#N/A错误 - 若需处理无匹配的情况,可给公式套上
IFERROR,例如:=IFERROR(INDEX(...),"无匹配数据")
内容的提问来源于stack exchange,提问作者Haminteu
相关产品推荐
相关产品推荐

