用不同的思路,有多少种不同的函数解法搞定条件求和
作者:老菜鸟来源:部落窝教育发布时间:2021-04-14 11:09:20点击:2304
编按:
从一开始接触EXCEL,大家的心目中一直都有对函数的敬畏。是否能玩转函数更是一个判断EXCEL能力高下的标准。但,其实对于绝大多数人来说,不用学会太多函数,只需要掌握最基础的函数,就有无数种解决EXCEL问题的方法……今天,小E就用一个条件求和问题,用不同思路,为大家打开基础函数百变应用方法的大门!
对于绝大多数使用EXCEL的职场人来说,能够解决自己工作中遇到的问题是首要需求。平时也有很多人都在问相同的几个问题:
“我这个问题用哪个函数能解决啊?”
“要学的函数太多了,咋办?”
“请问常用的函数是哪些啊?有的函数太难了,学不会。”
“单个函数能明白,为什么解决问题的时候就没思路了?”
对于有同样问题的同学来说,首先要明确几点:
①能用一个函数就解决的问题是比较少的,大多数问题可能需要两步或者三步。
②学多少函数才够?这个是没标准的,但有一点是肯定的,会的函数多了方法就多了。
③最后一点,遇到问题要分析,不管用什么方法先解决再说,然后再去思考更多的方法,这样训练一段时间自己的思路也就广了。
接下来,就用一个实际问题,和大家一起看看用不同的思路,有多少种不同的函数解法,当然涉及到的函数都是非常基础的函数。
问题:
下图是一些客户的付款明细表,要求汇总他们在去年四个季度里的总付款金额。其中,只对四个季度都付款的数据进行求和,如果存在任何一季度未付款的情况,则汇总处标记为0,并在F列中显示。
问题很容易理解,大家可以自己先思考一下,然后再看后面的内容。
思路一:计数法①
常规公式:=IF(COUNTIF(B3:E3,"未付款")=0,SUM(B3:E3),0)
思路:
这个公式采用的COUNTIF、IF、SUM都是很基础的函数,它的思路是先用COUNTIF统计四个季度中未付款的次数,再对次数进行判断,如果结果为0,就用SUM求和,否则显示为0。
站在解决问题的角度来说,这样就OK了,但是如果你还想在函数的路上走的更远一些,那不妨多想想其它的思路,比如下面的方法!
思路二:计数法②
公式:=IF(COUNT(B18:E18)=4,SUM(B18:E18),0)
思路:
公式中将COUNTIF换成了COUNT,也是个常用函数,但是公式原理发生了一点点变化。这时,不再是统计未付款的次数,而是统计已付款的次数,也就是四个季度中数字的个数,如果有4个数字就求和,否则显示0。
是不是有点启发了?继续思考还有更多的思路,比如下面这个公式。
思路三:计数法③
公式:=(COUNT(B3:E3)=4)*SUM(B3:E3)
思路:
这个公式的本质与上一个并没有区别,只是利用了逻辑值参与计算得到最终的结果。(关于逻辑值的玩法,感兴趣的话,请到官方微信公众号留言,笔者将单独写一期教程。)
以上三个公式算是一个路数,都是用计数的方法作为判断条件,进而得到所需结果。
下面的这个公式则是按照题意直奔答案!
思路四:判断法
公式:=IF(OR(B18:E18="未付款"),,SUM(B18:E18))
思路:
OR(B18:E18="未付款")的作用是判断四个季度中是不是有未付款,注意这里是一个数组用法,所以公式要按Ctrl、shift和回车键录入。
与之类似的还有公式=IF(AND(B3:E3<>"未付款"),SUM(B3:E3),)和公式=AND(B3:E3<>"未付款")*SUM(B3:E3),都是数组公式,公式的原理不难理解,就不剥夺大家思考的乐趣了。
要判断是不是有未付款,其实还有一个思路,就是用MATCH函数。
思路五:错误值判断法①
公式5:=ISERROR(MATCH("未付款",B3:E3,0))*SUM(B3:E3)
思路:
这个公式中出现了一个之前没有用到的函数ISERROR,这个函数的功能是判断参数是否为错误值,用MATCH在指定的区域中匹配未付款,如果有,则得到一个数字,否则得到错误值,对于ISERROR来说,如果有返回false,反之得到true,又回到了逻辑值。
这个过程大家需要好好思考其中的奥妙,一旦你想明白的话,今后解决问题时绝对是思如泉涌。
既然已经提到了错误值,不妨继续顺着这个方向思考。
思路六:错误值判断法②
公式:=IFERROR(B3+C3+D3+E3,0)
思路:
直接用四个单元格相加,只要有未付款出现,结果就是错误值,用IFERROR将错误值转为0。
是不是觉得只用加法有点空虚,好歹也用个SUM啊……
当然行,但是SUM会忽略区域中的文本内容,所以用SUM时,得做点小动作,如下面的方法。
思路七:错误值判断法③
公式:=IFERROR(SUM(B3:E3*1),0)
在单元格中输入以后,注意要按CTRL+SHIFT+ENTER三键。
思路:
这个公式的关键在SUM(B3:E3*1),它将区域中的每个单元格先乘1,这样可以让“未付款”的单元格出现错误值。
明白这一点的话,公式还能改成=IFERROR(SUM(B3:E3/1),0),或者=IFERROR(SUM(--B3:E3),0),这样比一个个相加的方法方便快捷多了。
扩展思维:
如果不习惯三键的话,可以把这几个公式中的SUM改成SUMPRODUCT。
至此,一个简单的问题就已经出现了近十种解法,用到的都是一些最基础的函数。或许你已经从这些不同思路得到启发!这是一个好的开始,不妨找一下你以前会解决的问题,去看看是否有其他方法。
如果这篇文章让你有所收获的话,欢迎分享给大家。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。