excel 某个单元格不是等于空值_超牛的Excel动态查询表!不管老板想对比哪两组数据,秒速给他结果!...

7974184541f80ff733e980d0f0e62908.png

编按:让Excel实现动态查询,这是数据分析所必备的技能之一。老板们也都很爱这样直观又方便的查询办法。今天,小E给大家带来的就是如何快速实现这个操作的方法……每天一点小技能,职场打怪不得怂!

正文:

日常的工作中我们经常会遇到这样的情况:对比并查询两款不同型号的产品在功能上的异同点。过去我们都是拿着产品手册来查询的,不仅效率低下,而且还非常容易出错。

本着“懒是社会进步的源动力”这一原则,我们直接用EXCEL来替我们查找异同点。

下面是某公司产品手册上的产品功能图,已经做了一定的数据处理。

bb963ae2f097000093f9e26d29295197.png

表中,如果单元格为空,表示没有某项功能;如果单元格为P,表示具有某项功能并且参数为默认值;如果单元格为其他值,表示某项功能的具体参数。

我们希望在下图中的单元格B2和F2中输入两个不同型号的产品如A1和A2后,EXCEL能自动列出两种型号的相同点和差异点。

 4df64bdb1c88c7e7a6eaf1031e74dba2.png

01

那如何实现上面的自动对比效果呢?

为了方便大家,我将规格表和查询表放在了一起。

3f425502d94a872e49019107e58739fa.png

在单元格A5中输入公式=INDEX(H:H,SMALL(IF((INDEX($I$2:$R$21,,MATCH(B$2,$I$1:$R$1,))=INDEX($I$2:$R$21,,MATCH(F$2,$I$1:$R$1,)))*(INDEX($I$2:$R$21,,MATCH(B$2,$I$1:$R$1,))<< span="">>""),ROW($2:$21),4^8),ROW(A1)))&""

三键回车并向下拖曳即可。

函数解析:

本质上讲,这个公式依旧是一个一对多的查询公式。相同功能项需同时满足两个条件:条件1,参数相等;条件2,不为空值。判断两个条件是否同时满足,可以将两个条件的判断结果相乘来实现。

1.MATCH(B$2,$I$1:$R$1,)和MATCH(F$2,$I$1:$R$1,)部分,定位产品A1和产品A2在产品表中的列数值。

2.INDEX($I$2:$R$21,,MATCH(B$2,$I$1:$R$1,))部分求得产品A1所在列的所有参数清单,其结果为{"5200ml";"200W";"2000Pa";"√";"√";"√";0;0;"√";"√";0;"√";"√";0;0;0;0;0;0;0};同理,INDEX($I$2:$R$21,,MATCH(F$2,$I$1:$R$1,))的结果为{"5200ml";"200W";"2000Pa";"√";0;"√";"√";0;"√";"√";0;0;"√";0;0;0;0;0;0;0}。

3.用逻辑符号“=”判断参数是否相等的结果为{TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}。

4.INDEX($I$2:$R$21,,MATCH(B$2,$I$1:$R$1,))<>""部分是判断参数是否为空,其结果为{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}。

5.把上述两个判断相乘的结果是{1;1;1;1;0;1;0;0;1;1;0;0;1;0;0;0;0;0;0;0}。参数相等且不为空的都为1,其他则都为0。

6.用IF函数赋值,等于1的,返回相应的行号;等于0的,返回4^8,也就是将不相等和均等于空值的赋予了极大值。

7.用SMALL函数将IF函数的结果从小到大依次返回,不符合条件的自然排在了后方。

8.为何最后要链接空值""?是为了将INDEX函数返回的0变为空。

02

相同功能找到后,再把功能的参数查找出来,这时用VLOOKUP函数就可以解决了。

705bc22ed3c86707a1f8b38a0ef5d223.png

在单元格B5中输入“=IF(A5="","",VLOOKUP(A5,H:R,MATCH(B$2,$H$1:$R$1,),))”并向下拖曳即可。这个公式比较简单,我们不再详细介绍了。

03

接下来我们来看看如何提取差异点。

 e7fd7f32050bfbd449ecf823a750a59d.png

这里所谓的差异点,即两种产品中的不同功能点,譬如有的功能只在A1中有,也有的功能只在A2中有。

我们在单元格D5中输入公式

=INDEX(H:H,SMALL(IF((INDEX($I$2:$R$21,,MATCH(B$2,$I$1:$R$1,))<>INDEX($I$2:$R$21,,MATCH(F$2,$I$1:$R$1,))),ROW($2:$21),4^8),ROW(A1)))&""并三键回车并向下拖曳即可。

函数解析:

这次是要寻找不同点,因此使用了“<>”,然后利用一对多查询公式即可返回需要的清单了。

04

最后,我们需要把参数提取出来。它们都很简单:

1.在E5单元格输入公式=IFERROR(VLOOKUP(D5,H$1:R$21,MATCH(U$2,H$1:R$1,),0)&"","")

2.在F5单元格输入公式=IFERROR(VLOOKUP(D5,H$1:R$21,MATCH(F$2,H$1:R$1,),0)&"","")

efec09d901daf6329d2f151234bc1546.png

好了,今天和大家分享的就是这些内容!

扫一扫添加老师微信

e71cd44a37de2b7fa7de99a24d6c2c00.png

在线咨询Excel课程

e79884fbcb59628094dc45b88d6ee743.png

Excel教程相关推荐

Excel教程:必备技巧!IF函数实战案例汇集!

Excel教程:万能函数组合!你还不会用他来核对数据,就菜了……

Excel实用技巧:操作太受干扰了!如何才能简单粗暴的取消自动超链接?

Excel教程:五个Excel小技巧送给大家

【部落窝教育】Excel新课上线,限时秒杀

2ece911cfb59283889d12aab24dea6a6.png2ece911cfb59283889d12aab24dea6a6.png2ece911cfb59283889d12aab24dea6a6.png

1d3687ded6859f0222aec3eac9631ce7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值