Excel财务数据处理与分析自动化案例视频精讲
上QQ阅读APP看书,第一时间看更新

1.3.2 函数公式中数据计算的逻辑思路

函数公式是Excel的核心。很多人所谓的“会用”函数,也仅仅是会套用函数公式而已,并没有从原理上、逻辑上了解函数,没有学会从表格中寻找解决问题的逻辑思路。

例如,几乎所有人都会用VLOOKUP函数,但是,如果基础表单的列顺序或列位置发生变化,应如何解决取数位置的自动调整?有人说,改改公式就行了。如果不觉得麻烦,这样也行。

先看一个经典案例。如图1-1所示的一个二维表,需要做两个维度条件的数据查询。不同的人会给出不同的公式,如使用VLOOKUP函数、HLOOKUP函数、INDEX函数、OFFSET函数,但这个案例的核心逻辑不在于某个函数的使用,而在于解决数据查找的核心是什么。是条件定位,也就是MATCH函数,因此就出现了很多解决方案。

图1-1 数据查找的简单案例

不论查找的结果是文本还是数字,下面的公式都是通用的。

● 公式1:=VLOOKUP(J2,A2:F8,MATCH(J3,A1:F1,0),0)。

● 公式2:=HLOOKUP(J3,B1:F8,MATCH(J2,A1:A8,0),0)。

● 公式3:=INDEX(B2:F8,MATCH(J2,A2:A8,0),MATCH(J3,B1:F1,0))。

● 公式4:=OFFSET(A1,MATCH(J2,A2:A8,0),MATCH(J3,B1:F1,0))。

● 公式5:=INDIRECT("R"&MATCH(J2,A:A,0)&"C"&MATCH(J3,1:1,0),0)。

如果查找的结果是数字,还可以使用求和函数代替查找函数来设计公式。

● 公式6:=SUMPRODUCT((A2:A8=J2)*(B1:F1=J3)*B2:F8)。

● 公式7:=SUM((A2:A8=J2)*(B1:F1=J3)*B2:F8)。

● 公式8:=SUMIF(A2:A8,J2,OFFSET(A2,,MATCH(J3,B1:F1,0),7,1))。

● 公式9:=SUMIF(B1:F1,J3,OFFSET(B1,MATCH(J2,A2:A8,0),,1,5))。

● 公式10:=SUMIF(A:A,J2,INDIRECT("C"&MATCH(J3,1:1,0),0))。

● 公式11:=SUMIF(1:1,J3,INDIRECT("R"&MATCH(J2,A:A,0),0))。

从上面列出的几个公式中可以发现什么秘密?

先有函数,才有公式,是利用函数来创建公式,公式也只有在具体表格中才有意义,离开了表格的公式也就失去了生命力,但其隐含的逻辑思路却可以借鉴到其他应用场景中。例如,能否快速输入具有多个判断分支、多个条件的嵌套IF函数公式?这里一直在强调逻辑思路的重要性。