|
楼主 |
发表于 2019-7-15 08:33
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
1,2,有函数可以提取客户,省份前两个字做为客户,计费省份,去匹配运费表。
3,你给出的正确金额是如何算出来的,比如:
806696063818608527 广东省梅州市大埔县百侯镇肖凯 广东省惠州市惠阳区陈江 5.39 2.4
是否 5.39*0.8=4.31 , 计算公式:5.39-3=2.39KG 2.39KG算3KG 按价格表,3KG首重不收费 其它2.39KG收费 3X0.8=2.4元 正确金额为2.4元
4,以下公式可参考:H2内公式如下:
=SUMPRODUCT(INDEX($B$2:$C$8,MATCH('*'&LEFT(F2,2)&'*',$A$2:$A$8,),)*IF({1,0},1,INT(G2-0.01)))
向下填充,即得所有费用。
公式解释
LEFT(F2,2)
取F2左边两个字符,返回值“北京”;
MATCH('*'&LEFT(F2,2)&'*',$A$2:$A$8,)
在A2:A8单元格区域,匹配“*北京*”所在行,返回值为3;
INDEX($B$2:$C$8,MATCH('*'&LEFT(F2,2)&'*',$A$2:$A$8,),)
在B2:C8区域,查找第3行的数据,返回值是数组{7,4};
INT(G2-0.01)
对G2单元格的重量-0.01后向下取整,返回值是2;
-0.01的原因是避免正数,如果重量是2,则对2-0.01,即1.99取整,返回1,这样就去除了首重1;
如果重量保留两位小数,可以减掉更小的0.001再取整。
IF({1,0},1,INT(G2-0.01)))
构造一个数组{1,2},1即是首重,2即是超重部分;
SUMPRODUCT(INDEX($B$2:$C$8,MATCH('*'&LEFT(F2,2)&'*',$A$2:$A$8,),)*IF({1,0},1,INT(G2-0.01)))
将两个数组{7,4}、{1,2}对应位置数值相乘再相加,即7*1+4*2,得费用为15元。 |
|