|
本帖最后由 vonnour 于 2012-3-13 00:32 编辑
相信很多朋友跟我一样,遇到过查找单价的问题,一般情况是品名决定单价,直接用vlookup精确查找就能完成。
但是有些时候,产品单价由品名和规格共同决定,这时候vlookup似乎帮不上忙了。
本文要说的就是如何用vlookup完成上述功能。
第一部分:if({1,0},,)含义解释
当if函数的判断条件变成一个数组的时候,会出现什么样的效果呢?
举个例子:
老师点名的时候说:男生请举手。于是所有男生举手。
老师说:女生请举手。于是所有女生举手。
如果老师说:男生女生举手。于是全班学生都举手。
{1,0}是一个数组,当其在if函数中作为条件时,转换成了{true,false}。
我们知道if(条件,A,B),当条件为true时,返回A,条件为false时,返回B。
那么当if({true,false},A,B)时,结果返回的的是AB两组数据。
第二部分:vlookup双条件查找
对于开篇所说的双条件决定单价的情况,我们只要用类似
- =vlookup(输入品名&输入规格,if({1,0},单价表品名列&单价表规格列,单价表单价列),2,0)
复制代码 这样的公式就可以达到根据品名和规格查找相应价格的功能。
解释:查询项用输入的品名字符串连接规格字符串,对应的单价表列也进行连接,连接后又与单价列组成一个两列的数组。
这样就可以按我们平常的查找方法进行查找了,vlookup的其它参数跟平时是用的精确查找是一样的。
例如有如下一个单价表,E1:G7数据如下:
品名 | 等次 | 单价 | iphone4 | 8G | 3000 | iphone4 | 16G | 5000 | iphone4 | 32G | 6000 | I9100 | 港行 | 3500 | I9100 | 国行 | 4000 | I9100 | 改版机 | 3000 |
而A1:C1的数据如下:
其中C1单元格的公式如下:
- =VLOOKUP(A2&B2,IF({1,0},E1:$E$7&$F$1:$F$7,$G$1:$G$7),2,0)
复制代码 注意这是一个数组公式,输入上述公式后要同时按Ctrl+Shift+Enter才能生效。
本文实例以上传附件和截图,各位朋友可以自己下载。
当然咯,这是针对菜鸟文章,高手们对数组公式应该是早已得心应手了。
这也是我以前在工作中遇到的问题,后来请教别人才解决了,我自己是后来才对数组公式有所了解。
PS:好不容易码了这么多字,希望朋友们能高抬贵手给我加分,我需要金币下载教程。对于excel我也是一直在学习之中,最近学习的内容是VBA。
if数组用于vlookup双条件查找.zip
(4.59 KB, 下载次数: 123)
|
评分
-
查看全部评分
|