Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12916|回复: 29

[分享] 查找与引用函数技巧-逆向查询数据

[复制链接]
发表于 2007-9-11 13:09 | 显示全部楼层 |阅读模式

   在一般情况下,VLOOKUP函数无法处理从右向左的查询方向。然而,如果将目标数据进行特殊的转换,就能够使用VLOOKUP函数来实现此类特殊查询。

   如附件所示,要求查找员工姓名为"王五"的员工编号,公式如下。

=VLOOKUP(B3,IF({1,0},E2:E7,D2:D7),2,0)

   该公式运用了IF函数改变列顺序的技巧,通过常量数组重新构造一个新的二维数组(内存数组),在提供给VLOOKUP作为查找范围进行查询。

  除了上述方法以外,还可以使用INDEX函数配合MATCH函数来实现,如下面的公式能返回相同结果:

=INDEX($D$2:$D$7,MATCH($B$3,$E$2:$E$7,0))


[此贴子已经被作者于2007-9-11 14:05:27编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2007-9-12 09:16 | 显示全部楼层

QUOTE:
以下是引用hxqzccct在2007-9-11 13:09:21的发言:

   在一般情况下,VLOOKUP函数无法处理从右向左的查询方向。然而,如果将目标数据进行特殊的转换,就能够使用VLOOKUP函数来实现此类特殊查询。

   如附件所示,要求查找员工姓名为"王五"的员工编号,公式如下。

=VLOOKUP(B3,IF({1,0},E2:E7,D2:D7),2,0)

   该公式运用了IF函数改变列顺序的技巧,通过常量数组重新构造一个新的二维数组(内存数组),在提供给VLOOKUP作为查找范围进行查询。

  除了上述方法以外,还可以使用INDEX函数配合MATCH函数来实现,如下面的公式能返回相同结果:

=INDEX($D$2:$D$7,MATCH($B$3,$E$2:$E$7,0))



还有一方法:=VLOOKUP(B3,CHOOSE({1,2},E2:E7,D2:D7),2,0), 尤其是多列重组时比IF用法更具优势

回复

使用道具 举报

 楼主| 发表于 2007-9-11 13:09 | 显示全部楼层
回复

使用道具 举报

发表于 2007-9-11 13:13 | 显示全部楼层

谢谢分享,坐板凳
回复

使用道具 举报

发表于 2007-9-11 13:14 | 显示全部楼层

那只能马扎了
回复

使用道具 举报

发表于 2007-9-11 14:01 | 显示全部楼层

谢谢分享,站立!
回复

使用道具 举报

发表于 2007-9-11 16:20 | 显示全部楼层

謝謝版主提供分享 !!!
[em23][em23][em23]
[em24][em24][em24]
[em27][em27][em27]
回复

使用道具 举报

 楼主| 发表于 2007-9-13 12:54 | 显示全部楼层

谢谢xcd的补充
回复

使用道具 举报

发表于 2007-9-13 12:57 | 显示全部楼层

QUOTE:
以下是引用xcd在2007-9-12 9:16:25的发言:

还有一方法:=VLOOKUP(B3,CHOOSE({1,2},E2:E7,D2:D7),2,0), 尤其是多列重组时比IF用法更具优势

不错

回复

使用道具 举报

发表于 2007-9-13 19:48 | 显示全部楼层

谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-18 12:47 , Processed in 0.257862 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表