2016-01-08 48 views
1

在B2单元格中,我从一个细胞利用拉一些字符:使用在VLOOKUP字符串函数的结果来匹配数

=MID($A2,27,2) 

然后,我会喜欢使用导致VLOOKUP:

=VLOOKUP(B2,Sheet2!A1:D97,3,0) 

这会导致#N/A ....如果我将公式的结果改写到单元格B2中,那么它会正常工作。我究竟做错了什么??字符串函数不能以这种方式使用吗?

+2

它似乎工作,只要A2中的字符串至少有28个字符长。你能发布任何样本数据吗? –

回答

0

如果像Tom指出的那样少于28个字符,那么VLOOKUP就没有任何匹配。

如果您使用IFERROR功能,您可以用您选择的值替换#N/A。

=IFERROR(VLOOKUP(B2,Sheet2!A1:D97,3,0),"String Not Valid") 
1

您正在寻找在Sheet2中许多A级:A和希望列A

但是从相同的相对工作表的C列的值返回匹配,而MID($A2,27,2)返回文本看起来像一个数字,它仍然返回文本,你不能通过提供文本看起来像一个数字来查找数字,除非你正在使用像COUNTIF这样的重头大的函数之一。

转换的MID($A2,27,2)到真正的号码任B2式等=--MID($A2,27,2)中或在VLOOKUP function等,

=VLOOKUP(VALUE(B2), Sheet2!A$1:D$97, 3, FALSE) 

在该式中,VALUE function服务于相同的目的Double Unary

根据需要填写。

+0

非常感谢VALUE的作品!非常好解释,谢谢你的时间。我认为这可能是某种格式/“真正”的数据问题,但不知道如何解决...... – chalks808

+0

如果使用[MID]解析一段文本(https://support.office.com/en-us/article/MID-function-230833B1-28E7-4EF8-9286-EBA06A3C29AD),[LEFT](https://support.office.com/zh-cn/article/LEFT-function-BE3191EA-D332- 43E4-BAC3-810C97773A22)或[RIGHT](https://support.office.com/en-us/article/RIGHT-RIGHTB-functions-240267EE-9AFA-4639-A02B-F19E1786CF2F)这些将始终是没有文本值一些额外的操作。诀窍是观察默认的单元格格式。数字和日期将默认右对齐;文本将左对齐,错误(例如'#DIV/0!')居中。 – Jeeped

1

由于声誉低,我无法在评论中回答。

检查您的数据类型 - 您可能在这里有一些问题。一般来说,可以在vlookups中使用字符串函数等。

例如我在单元格A1中有一个数字1234。然后在B1中,我有= MID(A1,2,2)这导致了一个字符串(不是数字)23.然后在C1中,我输入了23,结果编号为23(不是字符串)。然后在D1中,我有= VLOOKUP(B1,C1,1,0),这导致了#N/A,因为他发现没有匹配字符串B1和数字C1。另一方面,在E1中,我有= VLOOKUP(B1 * 1,C1,1,0),结果为23,因为他可以找到B1 * 1(字符串'23'和数字1相乘导致转换为数字23)和数字23.

+0

我相信你完全正确。仅仅两分钟。 :P〜 – Jeeped