分享

LOOKUP函数高级用法讲解!

 存入仓库 2022-02-26

如下价格表:

图片

如下是查询表:

图片

举例,设定始发地为义乌,目的地为北京,重量为1680.57,对应价格为1.6。

金额即是:=1680.57*1.6,得到的金额再和最低价200相比较,以获取最大值,即是:=MAX(1680.57*1.6,200)。

图片

对于多条件查找,LOOKUP函数最合适,其语法为:

=LOOKUP(1,0/((条件1)*(条件2)),返回区域)

最低价比较简单。公式为:

=LOOKUP(1,0/((B2=价格表!$A$3:$A$24)*(FIND(C2,价格表!$B$3:$B$24))),价格表!$J$3:$J$24)

图片

对于区间单价,有些麻烦,首先要判断在哪个区间。

为便于判断在哪个区间,我们在第一行将各区间下限写出来。

图片

在有了下限后,可借助MATCH函数模糊查找,判断在哪列。

=MATCH(A2,价格表!$C$1:$I$1)

图片

之后再借助OFFSET函数,引用此列的区域。OFFSET函数引用区域时,公式不可直接写在一个单元格里,不然看不出效果。

OFFSET(价格表!$B$3:$B$24,0,MATCH(A2,价格表!$C$1:$I$1)

现在即可查询单价,公式为:

=LOOKUP(1,0/((B2=价格表!$A$3:$A$24)*(FIND(C2,价格表!$B$3:$B$24))),OFFSET(价格表!$B$3:$B$24,0,MATCH(A2,价格表!$C$1:$I$1)))

图片

在单价出来之后,金额也会跟着出来。

=A2*LOOKUP(1,0/((B2=价格表!$A$3:$A$24)*(FIND(C2,价格表!$B$3:$B$24))),OFFSET(价格表!$B$3:$B$24,0,MATCH(A2,价格表!$C$1:$I$1)))

图片

最低价与金额比较,即可获取最大值。

=MAX(E2,F2)

图片

最后,再将所有公式合并起来,嵌套ROUND函数即可搞定。

=ROUND(MAX(LOOKUP(1,0/((B2=价格表!$A$3:$A$24)*(FIND(C2,价格表!$B$3:$B$24))),OFFSET(价格表!$B$3:$B$24,0,MATCH(A2,价格表!$C$1:$I$1)))*A2,LOOKUP(1,0/((B2=价格表!$A$3:$A$24)*(FIND(C2,价格表!$B$3:$B$24))),价格表!$J$3:$J$24)),2)

图片

对于上述案例,大家要尝试着拆分开,再组合起来,更容易理解一些。

·END·

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多