我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
要根据价格表查询价格,查询的时候,要涉及非常多的条件,始发地、目的地,重量区域,全部判断完,还得跟最低价比较获取两者之间的最大值。
听起来很难,实际更难,表格还是我做了一些修正后的。
价格表
查询表
举个例子,始发地义乌,目的地北京,重量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)
涉及到的函数比较多,理解起来可能有点困难,尝试着拆分开,然后再组合起来会更容易理解。
这个案例如果能学会,以后查找其他东西,简直就是小意思。
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08