如下图示例:

根据订单表信息和报价表(线路结算单价),核算订单的结算金额(L列)。

报价表如下图:

示例初看感觉是不是挺难的,其实抽丝剥茧之后核心就2点:①使用VLOOKUP函数根据订单收货城市字段,匹配报价表中的线路;②根据订单量(成本结算体积)匹配报价表中区间单价;最后就是把2者结合应用。

因为订单及报价表的提货(起始)城市都是苏州市,现在我们就可以根据订单中收货城市信息,查找【报价表】所在线路报价,示例L2单元格公式如下 =VLOOKUP(J2,报价表!C:G,MATCH(D2,{0,0,5.01,10.01,20.01},1),0)*D2 。

公式解析:

VLOOKUP函数公式部分,获取订单收货城市所在报价表中的线路。

VLOOKUP应用详见——GET.WORKBOOK应用详见

——————

MATCH函数公式部分,根据订单量,查找出所在数组({0,0,5.01,10.01,20.01})中的序号,作为VLOOKUP函数第三参数(返回查找值所在区域的列数)。

MATCH应用详见——GET.WORKBOOK应用详见

——MATCH函数应用技巧————

{0,0,5.01,10.01,20.01}数组所在列数,对应报价表内容如下图:

最后就是将VLOOKUP含数查找的单价和订单量相乘,计算订单的结算金额。

如果需要进行同天同城订单合并的,可以再嵌套一个SUMIFS函数替换查找值,有兴趣/需求的可以尝试操作下。