各省价格表部分截图内容:
看一下要求:
根据不同的省份,当重量小于等于300,小等于1000,大于1000时,根据对应的重量*对应的kg价格,如果这个价格低于此省的最低收费时,按最低收费收取。
静态价格比对表截图:
gif动画效果图演示:
G3单元格(百世快运)公式为:
=IF(B3<=300,IF(VLOOKUP(A3,各省价格表!R:AA,3,0)*B3
这么长的公式,一堆代码,头疼又开始了……
不要急,接下来我们分解,一步一步就懂了。
在Excel表格中,公式再长,都是可以把它分解为短的公式的。
我们从if的替换开始。
=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
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所有对应的位置,统统换成以上公式,进行替换处理。
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
后面的1000和1001,用相同的方法,进行替换处理就得到更长的公式了。 |