Excel精英培训网

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

[已解决]关于Vlookup多条件的实现

[复制链接]
发表于 2015-11-29 05:41 | 显示全部楼层 |阅读模式
请教高手,我又两个表,我希望实现,当第二张表“变压器”中的B列的值大于第一张表“规则”的D列,并且表“变压器”的C列于表“规则”中的E列一致,则拷贝对应行的表“规则”的B列和C列到表“变压器”的D列和E列。如果查询这两条件,找到了多余两行的结果,最好可以把所有匹配的表规则中的对应的B列和C列都拷贝到表“变压器”的对应行,可以往后放,比如放到F列和G列。
请各位高手帮忙。谢谢。
最佳答案
2015-11-29 09:21

变压器D2
=IFERROR(INDEX(OFFSET(规则!$B$1,MATCH(变压器!$C2,IF(规则!$D$2:$D$11<=$B2,规则!$E$2:$E$11,0),0),ISODD(COLUMN()),COUNTIFS(规则!$E$2:$E$11,变压器!$C2,规则!$D$2:$D$11,"<="&$B2)),INT((COLUMN()-2)/2)),"")

数组公式,三键 Ctrl+Shift+Enter
下拉,右拉

规则.rar

7.22 KB, 下载次数: 13

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-11-29 08:12 | 显示全部楼层
本帖最后由 砂海 于 2015-11-29 09:22 编辑

你的查找条件是什么, 是不是只是 " 年限 " ?
------------------------------------------------------
刚才没细看,答案在楼下
回复

使用道具 举报

发表于 2015-11-29 09:21 | 显示全部楼层    本楼为最佳答案   

变压器D2
=IFERROR(INDEX(OFFSET(规则!$B$1,MATCH(变压器!$C2,IF(规则!$D$2:$D$11<=$B2,规则!$E$2:$E$11,0),0),ISODD(COLUMN()),COUNTIFS(规则!$E$2:$E$11,变压器!$C2,规则!$D$2:$D$11,"<="&$B2)),INT((COLUMN()-2)/2)),"")

数组公式,三键 Ctrl+Shift+Enter
下拉,右拉
回复

使用道具 举报

 楼主| 发表于 2015-11-29 12:29 | 显示全部楼层
砂海 发表于 2015-11-29 09:21
变压器D2
=IFERROR(INDEX(OFFSET(规则!$B$1,MATCH(变压器!$C2,IF(规则!$D$2:$D$11

非常感谢,我想再问问,在您给的公式中两处ISODD(COLUMN())和INT((COLUMN()-2)/2),我不理解,没懂为什么要这么用,谢谢高手指点。
回复

使用道具 举报

发表于 2015-11-29 13:40 | 显示全部楼层
本帖最后由 砂海 于 2015-11-29 13:42 编辑
demizh 发表于 2015-11-29 12:29
非常感谢,我想再问问,在您给的公式中两处ISODD(COLUMN())和INT((COLUMN()-2)/2),我不理解,没懂为什么 ...

COLUMN()是当前列数
---------------------------------------------------------
ISODD()是判断是否为奇数,返回
"true" ( 真,在公式中当做1)
"false" (假,在公式中当做0)

用来根据当前列来取 "规则"表中 B列或cC列
---------------------------------------------------------
int()是取整数
INT((COLUMN()-2)/2))
这样右拉时,在各单元格中,上面这段的值为1,1,2,2,3,3...
因为每2个单元格为一组值
---------------------------------------------------------
另外: 可在编辑框中选中部分或全部公式 , 按 " F9 ",可见当前选中部分的值.
回复

使用道具 举报

发表于 2015-11-29 13:47 | 显示全部楼层
还有,上面的公式要求"规则"的E列同样的数据要排在一起,
不然会出错
回复

使用道具 举报

 楼主| 发表于 2015-11-29 15:48 | 显示全部楼层
砂海 发表于 2015-11-29 13:47
还有,上面的公式要求"规则"的E列同样的数据要排在一起,
不然会出错

这是什么意思啊?没看懂。谢谢。
回复

使用道具 举报

发表于 2015-11-29 17:22 | 显示全部楼层
demizh 发表于 2015-11-29 15:48
这是什么意思啊?没看懂。谢谢。

1129.png
回复

使用道具 举报

 楼主| 发表于 2015-11-30 22:12 | 显示全部楼层
砂海 发表于 2015-11-29 09:21
变压器D2
=IFERROR(INDEX(OFFSET(规则!$B$1,MATCH(变压器!$C2,IF(规则!$D$2:$D$11

谢谢大侠,弄好了,你给F9就太好用了,不过这个公式还得再琢磨一下才能完全消化,谢谢。
回复

使用道具 举报

发表于 2015-12-1 21:11 | 显示全部楼层
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 21:25 , Processed in 0.386835 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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