Google Sheets是否有函数可通过双参数返回表格行列交叉值?
无需重构表格的交叉值查询方案
你的原始数据表格如下:
| Online or In-Person | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| Online | 72500 | 70000 | 60000 | 60000 |
| In-Person | 75000 | 70000 | 70000 | 60000 |
以下是几种无需新建表格或辅助列的实现方案:
INDEX + 双MATCH组合(通用兼容方案)
这是跨Excel版本都能使用的经典方法,通过两个MATCH分别定位行和列,再用INDEX返回交叉值:=INDEX($B$2:$E$3, MATCH("Online", $A$2:$A$3, 0), MATCH("Q1", $B$1:$E$1, 0))如果要做成可灵活传参的形式,把硬编码的"Online"和"Q1"换成单元格引用即可,比如用F1存储行参数、F2存储列参数:
=INDEX($B$2:$E$3, MATCH(F1, $A$2:$A$3, 0), MATCH(F2, $B$1:$E$1, 0))XLOOKUP嵌套(Excel 365/2021+专属)
利用XLOOKUP的数组返回特性,先提取目标行的所有数据,再从中匹配目标列的值:=XLOOKUP("Q1", $B$1:$E$1, XLOOKUP("Online", $A$2:$A$3, $B$2:$E$3))同样支持替换为单元格参数,写法更简洁直观。
SUMPRODUCT(数值型数据专用)
适合仅需返回数值的场景,通过条件数组筛选交叉位置:=SUMPRODUCT(($A$2:$A$3="Online")*($B$1:$E$1="Q1")*$B$2:$E$3)该方案匹配不到时会返回0,不会抛出错误,适合需要容错的场景。
内容的提问来源于stack exchange,提问作者RndmDudeonIntrnt
相关产品推荐
相关产品推荐

