首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

如下图所示,我们需要根据右侧的费用表,来进行快递费用的匹配,其实对于这样的问题,我们利用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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OD_ZkOyd0_iG02Rn-OwcVXkw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券