Excel精英培训网

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

[已解决]求教用工作簿2列的数值替换

[复制链接]
发表于 2017-1-27 18:57 | 显示全部楼层 |阅读模式
本帖最后由 jhzsldtly 于 2017-1-27 22:21 编辑

大家新年快乐!谢谢两位老师的回复,但是刚才自己用公式替换中还是出现了点问题,我原来的资料中有错误地方,现帖子内容和文件重新提交,再次寻求帮助。大概意思是  在工作薄1中A列中搜索工作薄2中A列的数据,如有则自动替换为工作薄2中的同行的B列数据。   谢谢!

文件中有两个工作簿,工作簿1中含有部分地区信息,但是地区信息有误,修正后的地区信息放在工作簿2中。
如:工作簿1
原值
甜水果(上海03)
酒西安245
糖北京01
电线:哈尔滨132
生活用品(南京078)



工作簿2
原地区信息新地区信息
北京01北京432
南京078南京028
哈尔滨132哈尔滨07
上海03上海35
西安245西安245




想工作簿1中的原值自动查找工作簿2中的原地区信息,并替换为新地区信息
目标工作簿1
原值目标值
甜水果(上海03)甜水果(上海35)
酒西安245酒西安245
糖北京01糖北京432
电线:哈尔滨132电线:哈尔滨07
生活用品(南京078)生活用品(南京028)

非常感谢各位老师,谢谢!


最佳答案
2017-1-28 17:31
本帖最后由 hupin6331 于 2017-1-28 17:35 编辑
jhzsldtly 发表于 2017-1-28 16:38
非常感谢,新年快乐!这样替换进来是可以的。但是实际数据量比这个要大。工作簿2的数据远超这个。当这里 ...

把原公式改到600,没问题啊!(这是个数组公式,三键结束)

提问文件.zip

4.19 KB, 下载次数: 7

提问文件

发表于 2017-1-27 19:19 | 显示全部楼层
不知是否能够满足楼主的要求

123123.rar

7.56 KB, 下载次数: 13

回复

使用道具 举报

发表于 2017-1-27 19:34 | 显示全部楼层
本帖最后由 hupin6331 于 2017-1-27 19:46 编辑

新版本D2公式=$A2&IFERROR(VLOOKUP($B2,Sheet2!$A:$B,2,0),$B2)下拉
老版本D2公式=$A2&IF(ISERROR(VLOOKUP($B2,Sheet2!$A:$B,2,0)),$B2,VLOOKUP($B2,Sheet2!$A:$B,2,0))下拉

提问文件.rar

3.95 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2017-1-27 22:22 | 显示全部楼层
tjshenjian 发表于 2017-1-27 19:19
不知是否能够满足楼主的要求

非常感谢您的回复,祝新年快乐!

回复

使用道具 举报

 楼主| 发表于 2017-1-27 22:23 | 显示全部楼层
hupin6331 发表于 2017-1-27 19:34
新版本D2公式=$A2&IFERROR(VLOOKUP($B2,Sheet2!$A:$B,2,0),$B2)下拉
老版本D2公式=$A2&IF(ISERROR(VLOOKUP ...

非常感谢您的解答,祝新年快乐!
回复

使用道具 举报

发表于 2017-1-28 09:41 | 显示全部楼层
这样可以吗?

提问文件.rar

4.23 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2017-1-28 16:38 | 显示全部楼层

非常感谢,新年快乐!这样替换进来是可以的。但是实际数据量比这个要大。工作簿2的数据远超这个。当这里替换到第六个数据时候开始报错的。请问您编写的公式中   
=SUBSTITUTE(A2,INDEX(Sheet2!$A$2:$A$6,MATCH(,0/ISNUMBER(FIND(Sheet2!$A$2:$A$6,A2)),)),VLOOKUP(INDEX(Sheet2!$A$2:$A$6,MATCH(,0/ISNUMBER(FIND(Sheet2!$A$2:$A$6,A2)),)),Sheet2!$A:$B,2,0))


$6可否替换为实际的数据数量 $13? 但是我直接替换后,第一个数据就开始报错了。

提问文件2.zip

52.08 KB, 下载次数: 5

回复

使用道具 举报

发表于 2017-1-28 17:31 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hupin6331 于 2017-1-28 17:35 编辑
jhzsldtly 发表于 2017-1-28 16:38
非常感谢,新年快乐!这样替换进来是可以的。但是实际数据量比这个要大。工作簿2的数据远超这个。当这里 ...

把原公式改到600,没问题啊!(这是个数组公式,三键结束)

提问文件2.rar

34.13 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2017-1-28 20:23 | 显示全部楼层
hupin6331 发表于 2017-1-28 17:31
把原公式改到600,没问题啊!(这是个数组公式,三键结束)

可以的,非常感谢啊!  非常幸运的是  我修改的工作簿数据是616,刚好比600大一点点,您给的工作簿可以直接使用。
但是我自己尝试修改公式,想把他写到工作簿数据是1200的时候,
我在工作簿1的B2填入  =SUBSTITUTE(A2,INDEX(Sheet2!$A$2:$A$1200,MATCH(,0/ISNUMBER(FIND(Sheet2!$A$2:$A$1200,A2)),)),VLOOKUP(INDEX(Sheet2!$A$2:$A$1200,MATCH(,0/ISNUMBER(FIND(Sheet2!$A$2:$A$1200,A2)),)),Sheet2!$A:$B,2,0))
还是报错。搞不懂原因的呢
回复

使用道具 举报

 楼主| 发表于 2017-1-28 20:31 | 显示全部楼层
hupin6331 发表于 2017-1-28 17:31
把原公式改到600,没问题啊!(这是个数组公式,三键结束)

查了下您说的 三键结束,解决好了,非常感谢!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:21 , Processed in 0.731520 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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