前一篇推文我教了大家如何根据列出的条件对二维表的特定列求和,用到了两个非常经典的函数,所以公式异常短小精悍。
有同学提问是不是还有其他方法?当然有,二维表查找交叉位置,我们怎可能不提两个经典的组合公式?
案例:
下图 1 是部门销售人员的的各项业绩表,请根据右侧数据表中列出的求和项,求对应列的总和。
效果如下图 2 所示。
解决方案:
1. 在 H2 单元格中输入以下公式:
=SUM(INDEX(B2:E10,,MATCH(H1,B1:E1,0)))
公式释义:
index+match 是比较经典的查找行列交叉位置的组合公式,相关案例可参阅
index 的参数含义为 index(需要查找的区域,定位的行值,定位的列值);
因为参数中的行值为必需,而本例是对整列求和,不需要定位行值,因此第二个参数虽然为空,但位置要留出来;
MATCH(H1,B1:E1,0):
放在 index 的第三个参数处,用于定位列值;
表示在 B1:E1 区域中精确查找 H1 并返回其在区域中的相对位置,结果为一个数值;
最后用 sum 对整个查找区域求和,即可达成目的
2. 在 I2 单元格中输入以下公式:
=SUM(OFFSET(A2:A10,,MATCH(I1,B1:E1,0)))
公式释义:
offset 是个偏移函数,用于返回对单元格或单元格区域中指定行数和列数的区域的引用;
offset 的参数含义为 OFFSET(基准位置, 要偏移的行数, 要偏移的列数, [引用区域的高度], [引用区域的宽度]);
OFFSET(A2:A10,,MATCH(I1,B1:E1,0)):以 A2:A10 为起始位置,行数不变,向右偏移 MATCH(I1,B1:E1,0) 列,相当于定位到“复购数”列的每一个数值;
MATCH(I1,B1:E1,0):计算 B1:E1 区域中与 I1 完全匹配的单元格的相对位置,得到一个数值;
SUM():最后用 sum 函数对上述列求和,就是最终结果
有关 offset 函数的案例,请参阅
Excel学习世界
转发、在看也是爱!
领取专属 10元无门槛券
私享最新 技术干货