分页: 1 / 1

请教vlookup函数的用法

发表于 : 2015-04-08 11:05
TeliuTe
数据库有英文指法和中文指法两张表,英文的学号已经输进去了,现在想把英文的学号导入到中文指法表里,
把两张表导出csv,然后用vlookup来合并,下拉自动填充后一直是重复值

代码: 全选

=VLOOKUP(A1,H1:I1021,2)
sheet.png

Re: 请教vlookup函数的用法

发表于 : 2015-04-08 12:31
百草谷居士
vlookup函数还有第四个参数。这是帮助上的介绍:
SortOrder 是可选的参数,用于指示数组中的第一列是否按照升序排序。如果第一列未按升序排列,请输入逻辑值 FALSE 或 0。已排序的列查找比较快并且函数有返回值,即使没有精确地找到要搜索的数值,但只要这个数值介于排序列表的最小值和最大值之间,函数就能够返回一个数值。在未排序列表中,查找的数值必须精确匹配。否则,函数会返回错误信息:错误:找不到该值

建议:对h1:i1020区域进行排序。

Re: 请教vlookup函数的用法

发表于 : 2015-04-08 12:50
wojiaowwj
vlookup函数用的时候,出现这种错误,一般都是两列要合并的数据格式不一样造成的。而且你写出的函数数据区域没有锁定,这样下拉的结果不知道是什么,但不会是你要的结果。
另外,第四个参数不写的话,我不知道会输出什么。TRUE是模糊匹配,FALSE是精确匹配。你应该是要精确匹配吧,那应该有FALSE参数。

Re: 请教vlookup函数的用法

发表于 : 2015-04-08 14:01
TeliuTe
谢谢二位,果然是排序的问题,
需要将数组列按照升序排列,最后一个参数留空,自动填充的时候要设成绝对引用

代码: 全选

=VLOOKUP(A2,$H$1:$I$765,2, )

Re: 请教vlookup函数的用法

发表于 : 2015-04-08 16:45
TeliuTe
最终是用的mysql命令更新,只更新七年级新生的,数据库命令也挺方便的

代码: 全选

UPDATE `pre_app_rzlx_rk`,`pre_app_zflx_rk` SET `pre_app_rzlx_rk`.`No` = `pre_app_zflx_rk`.`No` WHERE `pre_app_rzlx_rk`.`uid` =`pre_app_zflx_rk`.`uid`  AND (`pre_app_rzlx_rk`.`title_now` LIKE '7__')
有了学号,学生的成绩就会查询到排行榜中,限制学号、时间和班级(用篇章名称)

代码: 全选

$query = DB::query("SELECT * FROM ".DB::table('app_rzlx_rk')." WHERE `No` AND `time_now`>" .$tmptime." AND `title_now` LIKE '7__' ORDER by `score_avg` DESC, `time_now` DESC LIMIT $start_limit, 20");
list.png

Re: 请教vlookup函数的用法

发表于 : 2015-04-09 19:45
tang.zhe
VLOOKUP(A1,$H$1:$I$765,2, false)