sherlock 2007-1-26 16:48
EXCEL高手请进,难题求教
[em07] 有一个EXCEL,Sheet1和Sheet2
Sheet1 的A列,有一串信息,已经按照升序排列
Sheet2的A列,同样有一串信息,其中部分与Sheet1的A列中的值相同,同时,B列有一串数据,与A列一一对应
现在我想在Sheet1 的B列,对应每个A列的值,查找出Sheet2 A列中的相同数值,然后返回Sheet2 B列的数值
我试过Vlookup,Index,M[em07] atch,好像都不行,哪位高手指点一下.
一川妈妈 2007-1-26 22:03
回复 #1sherlock 的帖子
用vlookup 不行么?应该可以的呀.
sherlock 2007-1-26 22:15
[quote]原帖由 [i]一川妈妈[/i] 于 2007-1-26 22:03 发表
用vlookup 不行么?应该可以的呀 [/quote]
我试过,好像引用不了另一个iSheet的,你试试看阿,如果成功,麻烦把公式贴上来,好吗?.
adamyu 2007-1-27 10:50
错误不是因为 vlookup 不能引用另一个 iSheet, 而是你的数据排列有误。
根据 excel 地说明, table_array 第一栏中的值必须以递增顺序排序。
所以解决问题的方案是你只要把 sheet2 中 A 列和 B 列交换一下位置即可。
我已试过,完全没有问题。.
sherlock 2007-1-27 21:06
回复 #4adamyu 的帖子
不太明白,两个Sheet的A列都已经是升序排列了啊
交换位置能有什么用?
能不能麻烦你把函数贴上来看看或者短信告知?多谢!.
sherlock 2007-1-27 21:08
[quote]原帖由 [i]绿茶[/i] 于 2007-1-27 16:03 发表
用Access来实现,很简单 [/quote]
用Access,仅有一个问题
不知道是不是我的版本的问题,我用的是正版的Access2003(公司买的),如果B列数据超过Aceess定义的文本长度,比如说50的话,后面的就被截去了,而且,当你从EXCEL导入的时候,这个属性是不能改成备注之类的,到目前为止,我还不知道怎么解决,不知道你有办法吗?.
苹果梨 2007-1-29 08:51
在table_array里要用绝对引用,就是加$, 如$A$2:$C$10, 如不加$是相对引用, 复制公式时目标区域会变化. 还有如果两个数据不完全一致(如有空格), 也会找不到. 不知道是不是这些原因. Vlookup应该不用排序也找得到的..
million 2007-1-29 12:40
其实无所谓是否排序,两个sheet都做一下trim ,然后做vlookup,就可以了.
绿茶 2007-1-29 18:42
回复 #7sherlock 的帖子
默认值为50最大值为255,应该够了.
dong_min 2007-1-29 21:00
直接用Vlookup来做.不行的话你可以做个样表我来连好公式再传给你
.
sherlock 2007-1-29 21:32
问题解决了,是我选择数据区的时候少选了返回区域,真是个愚蠢的错误
谢谢楼上各位的指点,不过有几点要指出的:
1。排序时一定要的,它的查找逻辑是遇到比要求值大的时候就终止了,如果不排序,就会漏掉了,提醒8楼9楼两位注意。
2。回复10楼绿茶,问题在于导入EXCEL表格的时候,已经没有办法选择字段长度了啊。难道你的意思是导入一张已有的表而不是新表?.