IF要多层嵌套,VLOOKUP举手投降,阶梯类问题只有它可以完美解决!

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路

朋友们啊,今天和大家分享一个关于工资计算的问题。

小明同学小时候不好好学习,长大后只好到工厂里打工,在生产线上做了一名组装工人。他的工资是计件制的,具体如下图。

快来帮小明看看该如何计算他的薪水吧!

01

首先,使用IF函数是可以解决这个问题的。但是需要进行多次嵌套。如果阶梯分层比较多,公式书写起来比较繁琐。

在单元格B2中输入公式“=$E$1+A2*$E$2+IF(A2<85,-A2*1.5,IF(A2<105,a2*1,if(a2>=105,A2*1.2)))”,并向下拖曳即可。

这个公式逻辑思路非常简单,只要按照要求逐次嵌套IF函数就可以了,不需要过多的解释。

02

VLOOKUP函数是根本解决不了这个问题的。而使用LOOKUP函数则能够完美地解决。

在单元格B2中输入公式“=$E$1+A2*($E$2+LOOKUP(A2,{0,85,105},$H$2:$H$4))”,向下拖曳即可。

这里使用的是LOOKUP函数的向量形式。它的语法结构是:

LOOKUP(lookup_value, lookup_vector, [result_vector])

  • lookup_value    必需。LOOKUP 在第一个向量中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

  • lookup_vector    必需。只包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。 lookup_vector 中的值必须按升序排列:..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE;否则,LOOKUP 可能无法返回正确的值。文本不区分大小写。

  • result_vector    可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 参数大小相同。其大小必须相同。

思路:

  • 以单元格A2为例。LOOKUP函数在数组{0,85,105}中查找56,由于找不到,因此返回小于等于它的最大数0,并在对应的$H$2:$H$4中返回对应位置上的数值-1.5

  • 接下来的计算就很简单了,不再过多介绍

所以说,解决这类阶梯类的问题,LOOKUP函数是最快、最有效的!

好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读
(0)

相关推荐