if函数返回引用的用法

if函数的用法已经说了很多了,今天来说最后一个用法——返回引用。

-01-

返回引用

假如现在有这么一个问题:明天就是儿童节了,学校举行了个投篮活动。每个小朋友有3次投篮机会,1次是一分钟,看看谁投进的总数最多。投进的总数是有计算规则的,假如第1次投进的个数大于5,那么总数就是把3次投进的个数加起来;如果第1次投进的个数小于5,那么总数就是把第2次和第3次投进的个数加起来。

如下图所示,以小宝为例说明,第1次投进4个,小于5,那么总数只算第2次和第3次的和。通常的算法是在F2单元格中输入公式=IF(B2>5,SUM(B2:D2),SUM(C2:D2)),向下填充。

这个公式,我相信你能看懂吧。简单来说就是,如果第1次投入的个数大于5,就把3次的投入个数加起来;否则就把后2次的投入个数加起来。

如果用引用的用法呢?在G2单元格中输入公式=SUM(IF(B2>5,B2,C2):D2),向下填充。不要惊讶,你看到的公式没错,就是这么写的。那么到底是什么意思呢?

先看IF(B2>5,B2,C2):D2这部分,if函数后边跟的是冒号D2[:D2]。不理解没关系,先按通常的逻辑推演一下。B2>5不成立,返回C2的值,也就是8。那么IF(B2>5,B2,C2):D2最后的结果就是8:D2,这样肯定是不对的。实际上B2>5不成立,返回的就是C2,是单元格地址,而不是C2的值。那么IF(B2>5,B2,C2):D2最后的结果就是C2:D2,这样就返回一个单元格区域引用。最后用sum求和就可以了,可以看到是我们的豆芽同学投入的个数最多。

这就是if函数返回引用的用法,和index函数的引用用法有点像。

引用函数index的用法2——引用用法

-02-

具体应用

1.求累计月份的所有产品的总数量

下图左表是3个月份不同产品的数量,在F7单元格中设置了数据验证,可以通过下拉三角选择1月,2月,3月。选择1月,就会把1月所有产品的总数量求出来;选择2月,就会把1月和2月所有产品的总数量求出来;选择3月,就会把1-3月所有产品的总数量求出来。

那么公式是怎么写的呢?在F8单元格中输入公式=SUM(IF(F7=B7,B8,IF(F7=C7,C8,D8)):B11),用的是if函数的嵌套。简单来说就是,将选择的月份与1月,2月,3月比较,如果等于1月返回B8,形成的区域就是B8:B11,正好就是1月的所有数量。如果等于2月返回C8,形成的区域就是C8:B11,正好就是1月和2月的所有数量。3月也是一样的。

当选择的月份为2月时,左表就会把1月和2月的数据标绿,用的是条件格式。

if函数的这种用法平时用到的比较少,还是给你说一下,以后看到别人的公式不要觉得是错的。

文件链接:

https://pan.baidu.com/s/1ZAY96LQW0pXuNrzYW_kQVA

提取码:nuw2

(0)

相关推荐