本文是对百家号 VBA专家 所写教程的实践应用。
https://baijiahao.baidu.com/s?id=1609675530008687990
应L姓老板要求,研究一下Excel表格的查找函数,而这里出现的问题也是我一直以来在使用Vlookup函数时想解决却一直没解决的问题——多条件下的数据查找。
案例:
表1:原始数据记录表
表2:应用Vlookup函数进行数据查找
分析上述表格,表2中C列的属性在表1的O列中不具有唯一性,需要更多的属性(条件进行限定),
原有公式:=VLOOKUP(C3,Sheet1!$O$2:$P$13,2,FALSE)
仅根据表2的C列的属性在表1的O列中进行匹配,但是问题在于“A区”的取值只会是从上往下的第一个值。
比较属性不唯一,查找结果错误。
现有公式:{=VLOOKUP(B3&C3,IF(,Sheet1!$N$2:$N$13&Sheet1!$O$2:$O$13,Sheet1!$P$2:$P$13),2,FALSE)}
先将表1中N列与O列组合成新的属性(使用“&”实现),再与P列形成新的数组(使用函数IF(,列1,列2)实现),接着将表2的B列与C列的属性进行组合后,与上述新数组进行Vlookup函数的应用。
比较属性唯一,查找结果正确。
PS:在这里,现有公式其实是一个数组公式(什么是数组公式请自行百度,我的理解就是涉及到多个数列的组合吧~~)
在输入公式时不是常用的Enter,而是Ctrl+Shift+Enter
原作者另一篇文章:数组公式的输入方法
https://baijiahao.baidu.com/s?id=1619364980532573652
总结一下。当我们遇到多种属性且单个属性不唯一的情况时,这种方法就可以是一种很好的查找数据的方式。
当然,在这里我们更多注重于应用,对于原作者关于Vlookup函数的缺陷就不做研究啦~有兴趣欢迎也可以给小我更多的分享~~
附:如何快速减小Excel文件体积(一般情况下)
为什么我们的Excel文件会变得很大,无非就是因为表格包含的数据过多。
而且,在Excel文件里,对于单元格的格式设置也是数据。
当出现以下情况时,文件体积就大了 ~~
类似这种情况,方法简单,把所需行以下的全删掉就可以了
选中你想保留的最后一行,然后ctrl+shift+ 全选,右键点击【删除】就好啦~当然删除的过程会很慢,甚至让你感觉电脑死机了,同志,此时你需要一点点耐心~~~
当然,还有一种情况,就是你选择删除后,多余的单元格可能并不会消失,但是你已经可以操作鼠标啦~ctrl+s 保存一下,重新打开再看看吧~~
领取专属 10元无门槛券
私享最新 技术干货