请教vlookup函数的用法

新手涉及到的教学或入门贴,推荐新手必看,版主维护
回复
头像
TeliuTe
论坛版主
帖子: 7668
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

请教vlookup函数的用法

#1

帖子 TeliuTe » 2015-04-08 11:05

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

代码: 全选

=VLOOKUP(A1,H1:I1021,2)
sheet.png
附件
sheet.csv.tar.gz
(9.28 KiB) 已下载 186 次
头像
百草谷居士
帖子: 3908
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: 请教vlookup函数的用法

#2

帖子 百草谷居士 » 2015-04-08 12:31

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

建议:对h1:i1020区域进行排序。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
wojiaowwj
帖子: 662
注册时间: 2011-03-18 0:22
系统: Chakra Linux
来自: 上海

Re: 请教vlookup函数的用法

#3

帖子 wojiaowwj » 2015-04-08 12:50

vlookup函数用的时候,出现这种错误,一般都是两列要合并的数据格式不一样造成的。而且你写出的函数数据区域没有锁定,这样下拉的结果不知道是什么,但不会是你要的结果。
另外,第四个参数不写的话,我不知道会输出什么。TRUE是模糊匹配,FALSE是精确匹配。你应该是要精确匹配吧,那应该有FALSE参数。
头像
TeliuTe
论坛版主
帖子: 7668
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 请教vlookup函数的用法

#4

帖子 TeliuTe » 2015-04-08 14:01

谢谢二位,果然是排序的问题,
需要将数组列按照升序排列,最后一个参数留空,自动填充的时候要设成绝对引用

代码: 全选

=VLOOKUP(A2,$H$1:$I$765,2, )
头像
TeliuTe
论坛版主
帖子: 7668
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 请教vlookup函数的用法

#5

帖子 TeliuTe » 2015-04-08 16:45

最终是用的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
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 请教vlookup函数的用法

#6

帖子 tang.zhe » 2015-04-09 19:45

VLOOKUP(A1,$H$1:$I$765,2, false)
回复