我有一个包含4列的excel 2010电子表格。
A栏:我销售的产品的UPC代码列表。大约300行。
B栏:公式(稍后会详细介绍)
C列:另一个UPC代码列表。这些UPC代码约为10,000行。
D栏:与C栏中的UPC代码相对应的库存盘点。
公式:
=VLOOKUP(A2,C:D,2,FALSE)
我的想法是将我的UPC代码与供应商的UPC代码相匹配,以检索相应的库存数量。
所有数据都已粘贴到其他电子表格的新电子表格中,并仅作为值粘贴,以确保未导入其他字符或格式。
此公式被拖累了所有300行。
我在B列收到错误#N / A,直到我在A列的值之前插入了以下字符:
'
注意:通过单击单元格并在上面的框中键入'
,手动插入了'
。
完成此操作后,#N / A将立即更改为从D列检索到的相应库存。
我的问题是为什么这有效?为什么没有'
的方法不起作用?有没有办法在A列中的所有值之前快速添加'
?注意:CONCATENATE(“'”,A2)由于某种原因不起作用。
答案 0 :(得分:3)
raphael你已经在那里了 - 你的号码作为文本存储在一个查找表中,而另一个作为数字存储。添加'到每一行将修复它,但这是非常可怕的任务。单击绿色箭头也可以修复它,但是excels默认方法对于大表来说真的很慢(而且它也会改变你的源数据,这对我来说是禁止的,因为当你更新数据时,你必须再来一遍)。在这种情况下,更改格式很少有用。
如果表中包含数字且查找值为number-stored-as-text,则可以将查找值乘以1:
=VLOOKUP(A2*1,C:D,2,FALSE)
如果表中包含“text”且查找值为number,则可以将其转换为如下文本:
=VLOOKUP(TEXT(A1,0),C:D,2,FALSE)
答案 1 :(得分:0)
这是我的理论。在VLOOKUP中,如果查找值(A2)小于查找表(C:D)中的最小值,则返回N / A.当您在引号(')前面加上A2时,不是数字。因此,例如,1002的UPC不再被视为数字一千二,而是字符串序列一零零二。这使得VLOOKUP能够以不同的方式进行比较并避免使用N / A.
您可以在A栏中尝试Ctrl-1,然后将其全部视为文本。