Xlookup太强大了!居然能计算快递费,感觉公式比我命都长

文摘   2024-10-17 20:04   河南  

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

如下图所示,我们需要根据右侧的费用表,来进行快递费用的匹配,其实对于这样的问题,我们利用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,可以点击超链接,了解下我的课程,带你成为Excel高手提高工作效率,仅售49.9 

Excel系列课程(函数、透视表、图表、数据看板)


END


坚持创作不易,点个“在看”支持下吧~
👇👇

Excel从零到一
关注我,带你从零学习excel~
 最新文章