本文作者:office教程网

学会LOOKUP函数这个高级用法,多条件查询就很容易了!

office教程网 2024-09-16 08:57:01
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

如下表,是某快递公司价格表,每当查询价格时,会涉及很多条件,始发地、目的地、重量区域等,在全部条件判断完之后,还得与最低价进行比较,取两者之间的最大值。

价格表如下:

查询表如下:

举例,始发地为义乌,目的地是北京,重量为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函数的模糊查找,来判断位于哪列。

新用法,LOOKUP函数区域错位引用,这招真好用!

学员的问题,2020年10月20日已经收过了,那么现在我要收2021年的1月21日的款项了,我要怎么才能做到它们自动往下催收呢? 小编看了一下,如果根据时间的大小来判断根本无从下手。转念一想,G5这个单元格有日期,下一个要催收的自然是B6这个单元格的日期,也就是相差一行。 这样就将问题转变成判断G列最后一个

=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)

这条公式涉及的函数比较多,理解起来不是很容易,大家可以尝试将其拆分开,再组合起来,会更容易理解一些。

想全面了解Lookup函数,必须要懂二分法

当你懂了lookup的查找原理,才能更好的使用它。二分法原理,一起学习一下。 从一个例子说起: 【例】下图中两个表只有第5行的会员名字有差异,在查找B的消费金额时,显示结果却不同,而左边直接出现A的消费金额。 公式展示: B11 =LOOKUP(A11,A2:B8) E11 =LOOKUP(D11,D2:E8

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:学会LOOKUP函数这个高级用法,多条件查询就很容易了!发布于2024-09-16 08:57:01
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: