各省价格表部分截图内容:
![](http://files.zhizuobiaoge.com/d/file/excelmoban/1ca8a4843c090c2fd978c36649e8761d.png)
![](http://files.zhizuobiaoge.com/d/file/excelmoban/2948dbaa3a5d21c4cdb624c1a79f3fbf.png) 看一下要求:
根据不同的省份,当重量小于等于300,小等于1000,大于1000时,根据对应的重量*对应的kg价格,如果这个价格低于此省的最低收费时,按最低收费收取。
静态价格比对表截图:
![](http://files.zhizuobiaoge.com/d/file/excelmoban/6ec7713d2cb577a8c6885030022300be.png)
gif动画效果图演示:
![](http://files.zhizuobiaoge.com/d/file/excelmoban/0af491f856b731faac8ec93c6a4c68da.gif)
G3单元格(百世快运)公式为:
=IF(B3<=300,IF(VLOOKUP(A3,各省价格表!R:AA,3,0)*B3
这么长的公式,一堆代码,头疼又开始了……
不要急,接下来我们分解,一步一步就懂了。
在Excel表格中,公式再长,都是可以把它分解为短的公式的。
我们从if的替换开始。
![](http://files.zhizuobiaoge.com/d/file/excelmoban/31319266242a9c6c7f2d1c7320e97aa2.gif)
=IF(B3<=300,300,301)
当b3小于等于300时,显示300,大于300时,显示301
=IF(B3<=1000,1000,1001)
而此公式,是小于等于1000时,显示1000,大于1000时,显示1001的结果。
那么,我们就可以把上面301的部分,换成下面的部分
=IF(B3<=300,300,IF(B3<=1000,1000,1001))
替换的时候,要去掉等号的哦。这样是不是就OK了。
那么,当小于等于300kg的时候,这个300要如何计算,如何再替换上面公式的300呢?
输入不同的省份,获得对应的价格,可以使用vlookup
![](http://files.zhizuobiaoge.com/d/file/excelmoban/3e66423375bd721c462577ae63963744.gif)
b8公式:
=VLOOKUP(A3,各省价格表!R:Y,2,0)
B9公式:
VLOOKUP(A3,各省价格表!R:Y,3,0)
接下来,我们来进行替换
B10的公式:
=b9*B3
而b9的公式是:VLOOKUP(A3,各省价格表!R:Y,3,0)
替换后就是:
=VLOOKUP(A3,各省价格表!R:Y,3,0)*B3
同理,把B11单元格中,B10,B9,B8所有对应的位置,统统换成以上公式,进行替换处理。
![](http://files.zhizuobiaoge.com/d/file/excelmoban/4c25bfdcdcb93dee51178718a817dbe7.gif)
B11单元格的公式就出来了:
=IF(VLOOKUP(A3,各省价格表!R:Y,3,0)*B3
同理,我们再把上面的300,使用b11单元格的公式进行替换。
=IF(B3<=300,300,IF(B3<=1000,1000,1001))
=IF(B3<=300,IF(VLOOKUP(A3,各省价格表!R:Y,3,0)*B3
![](http://files.zhizuobiaoge.com/d/file/excelmoban/d1db54a42d5c5de3fb3014fe7cf9d1ac.gif)
后面的1000和1001,用相同的方法,进行替换处理就得到更长的公式了。 |