欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天来做一道计算题目,自测一下大家对函数综合运用的掌握程度。题目很简单,不需要很复杂高深的函数嵌套,争取用最简单、简洁的公式完成题目。
原题是这样的:
条件有两组,根据条件的要求在基础运费的基础上体现额外收费。
01
MATCH函数法
在单元格E2中输入下列公式,三键回车并向下拖曳即可。
=D2+1.5*(IFERROR(MATCH(DAY(A2),ROW($15:$20),),0)>0)*(C2<3)+COUNT(FIND({"陕","甘","青","宁"},B2))*(C2>3)
思路:
IFERROR(MATCH(DAY(A2),ROW($15:$20),),0)部分,确定当前日期是否落在15-20之间。如果有错误(不在给定日期之间)则返回0
1.5*(IFERROR(MATCH(DAY(A2),ROW($15:$20),),0)>0)*(C2<3),上述公式大于0的部分为符合条件的部分,配合另外一个条件C2<3,全部符合的,乘以单价1.5元
COUNT(FIND({"陕","甘","青","宁"},B2))*(C2>3)部分,满足另外一组条件。在当前单元格内查找"陕","甘","青","宁",查找结果有且只有一种可能,因此COUNT函数返回的结果只可能是1。如果满足C2>3的条件,则可以加上一元钱
02
把MATCH函数扔掉
在单元格E2中输入下列公式,三键回车并向下拖曳即可。
=D2+(C2<3)*AND(DAY(A2)>14,DAY(A2)<21)*1.5+OR(LEFT(B2,1)={"陕","甘","青","宁"})*(C2>3)*1
思路:
(C2<3)*AND(DAY(A2)>14,DAY(A2)<21)*1.5部分,利用AND函数确定是否当前日期落在给定日期区间内。这一组条件全部满足后可以增加1.5元
OR(LEFT(B2,1)={"陕","甘","青","宁"})*(C2>3)*1部分,省份左侧提取出的一个字符若等于"陕","甘","青","宁"中的任何一个就满足条件,在配合另外一个条件C2>3,若条件全部满足则可以增加1元钱
03
2个IF函数嵌套解决问题
在单元格E2中输入下列公式,向下拖曳即可。
=D2+IF(C2>3,1,IF(A2<A$8,1.5))
没错,就是这么简洁。
观察一下源数据,我们发现,大于3kg的货物,只出现在陕、甘、青、宁四省区的快递中,因此可以忽略省区的条件,只要重量大于3kg,就可以加1元;
同时,在时间区间内的快递,重量全部都在3kg以内,因此可以忽略小于3kg这个条件。
因此,公式就可以写成上面的样子了。怎么样,点个赞吧?
本期内容练习文件提取方式:
链接:https://pan.baidu.com/s/1q41-NMg9c3Y3m_wyyfUayw?pwd=g15h
提取码:g15h
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”