excel,VLOOKUP函数“值不可用”怎么解决?

=VLOOKUP(MID(名单!B4,5,2),行政区划代码!B$4:C$38,2,0)将准考证第5,6位作为行政区划代码,用这公式错在哪?

因为前面的准考证号列是文本格式,所以用MID函数提出来的是文本,并不是数字,所以需要用INT函数(取整数函数)将文本转化成数字格式。具体公式如下:=VLOOKUP(INT(MID(B4,5,2)),行政区划代码!B$4:C$38,2,0)或者公式=VLOOKUP(--(MID(B4,5,2)),行政区划代码!B$4:C$38,2,0)。其中“--”符号就起到了将文本转化成数字格式的作用。另外,你可以用TYPE函数进行检验,返回数字及代表含义如下:1=数字;2=文本;4=逻辑值;16=误差值;64=数组。
除了上述两个公式外,还有另外一种方法:MID函数提出的数字外侧的任何一个单元格输入1,复制单元格,再选中MID选出的数字右击选择性粘贴,注意勾选“乘”。此时也将文本格式转换成了数字格式,正常使用VLOOKUP函数就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-16
改为以下公式经检验正常了(引用时取消本工作表名称“名单”就正常了,但还知道原理)
=VLOOKUP(VALUE(MID(B4,5,2)),行政区划代码!B$4:C$38,2,0)本回答被提问者采纳
第2个回答  2018-03-16
试一下,应该是文本和数字格式的问题
=VLOOKUP(NUMBERVALUE(MID(名单!B4,5,2)),行政区划代码!B$4:C$38,2,0)追问

还是不行,改为你这个就变成“公式中包含不可识别的文本”。

追答

你把行政区代码里的B列格式改成文本再试一下

第3个回答  2019-01-30
=VLOOKUP(MID(B4,5,2),行政区域代码!$A$4:$B$38,2,0)
这样还是不行 该怎么弄呀
第4个回答  2018-03-16
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
语法: VLOOKUP(查找值,区域,列序号,逻辑值)
“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。
“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。
“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。
“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
如果“查找值”为文本时,“逻辑值”一般应为 FALSE 。另外: ·如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到“查找值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
相似回答