Xlookup函数新用法,居然能计算快递费,太强大了!

yumo6663个月前 (05-07)技术文章21

今天我们来学习下,如何做近似的区间匹配,这个也是一个粉丝提问的问题,感觉非常的典型,就写个文章来讲讲

如下图所示,我们需要根据右侧的费用表,来进行快递费用的匹配,其实对于这样的问题,我们利用Xlookup就行了,来看下我的解决方法

一、整理数据源

首先我们需要对数据源来做整理,取每个区间的最大值来对应的这个区间,构建一个新的表格,新表格如下图所示

最后一个数字可以设置一个永远也达不到的数字,在这里写的是100000,大家可以根据自己的需要来设置

二、Xlookup近似匹配

公式:=XLOOKUP(I4,$B$3:$F$3,$B$4:$F$13,,1)

第一参数:I4,结果表中的重量

第二参数:$B$3:$F$3,查询表中的辅助数据

第三参数:$B$4:$F$13,查询表中的运费区域

第四参数:省略

第五参数:1,表示近似匹配

这个函数的关键点就是第五参数,近似匹配,设置为1就表示会找到【下一个比较大的结果】

如下图所示,我们查找的数字是1.5,表头中是没有1.5的,所以就会返回下一个较大的项,在当前的表头中,下一个较大的项是2,所以函数就会返回表头2对应的这一列数字,就是图中的黄色列

三、Xlookup精确匹配

公式:=XLOOKUP(H4,$A$4:$A$13,XLOOKUP(I4,$B$3:$F$3,$B$4:$F$13,,1))

第一参数:H4,省份名称

第二参数:$A$4:$A$13,查找表中的省份列

第三参数:XLOOKUP(I4,$B$3:$F$3,$B$4:$F$13,,1)

这个就是Xlookup的常规用法,将我们上一步找到的数字对应的列,放入了当前Xlookup的第三参数中。

四、超过3kg的

上面是获取了每个区间对应的价格,但是如果超过了3KG,每1gk是需要加1的,为了满足这个条件我们还需要使用IF函数来做条件判断

公式:=IF(I4>3,ROUND(I4,0)-3+XLOOKUP(H4,$A$4:$A$13,XLOOKUP(I4,$B$3:$F$3,$B$4:$F$13,,1)),XLOOKUP(H4,$A$4:$A$13,XLOOKUP(I4,$B$3:$F$3,$B$4:$F$13,,1)))

这个公式虽然很长,但是理解起来并不复杂,判断重量是否大于3,如果大于3就使用ROUND对重量四舍五入,结果减去3,再加上Xlookup,如果小于3就直接返回Xlookup


如果你想要提高工作效率,不想再求同事帮你解决各种Excel问题,可以了解下我的专栏,WPS用户也能使用,讲解了函数、图表、透视表、数据看板等常用功能,带你快速成为Excel高手

相关文章

使用IF函数判断数值是否在给定的区间

IF函数是根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),从而返回相应的内容。在本例数据表的B列(上限)与C列(下限)中显示了一个数据区间。通过IF函数可以判断D列的值是否在B列与C列...

excel表格if函数大于100小于200怎么表示?掌握if函数区间写法

if函数大于100小于200怎么表达?这是一个典型的if函数区间多条件案例,在日常工作中,我们可能会遇到较多的类似场景。首先来看if函数的语法,如下图所示:if函数表达式为:=if(条件,为真的结果...

Excel多区间判断,比比谁的公式短

小伙伴们好啊,多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等。今天老祝就和大家分享一个多区间判断的函数公式套路。先来看问题,要根据A1单元格中的业绩给出对应的等级,划分规则是:<6...

多区间判断,其实很简单(excel多区间判断)

小伙伴们好啊,多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等。今天老祝就和大家分享一个多区间判断的函数公式套路。先来看问题,要根据A1单元格中的业绩给出对应的等级,划分规则是:<6...

这几个公式,专治多区间判断难题(excel多区间条件函数)

小伙伴们好啊,多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等。今天就和大家分享一个多区间判断的函数公式套路。先来看问题,要根据业绩分数给出对应的等级,划分规则是:<60,等级为“F...

这3种方法直接解决Excel区间范围条件匹配问题#查找匹配

区间范围匹配。现在00后上班的有多少还知道怎么用Excel去按照区间范围匹配对应的数据吗?像这样按消费金额满多少匹配对应的折扣率,如果不会用下面这三种方法要人工判断,真的不值老板给你开的3000块工时...