为什么这个工作? 探索VLOOKUP公式
我有一个excel 2010电子表格4列。
列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)不起作用。
拉斐尔你已经在那里 – 你的号码被存储为一个查询表中的文本,另一个号码。 给每一行添加一个'会修复它,但这是非常可怕的任务。 点击绿色的箭头也可以修复它,但超过默认的方法可以真的很慢的大表(并且它也改变了你的源数据,这对我来说是一个不允许的,因为当你更新数据,你将不得不再来一遍)。 在这种情况下更改格式很less有帮助。
如果表格包含数字并且查找值以数字forms存储为文本,则可以将查找值乘以1:
=VLOOKUP(A2*1,C:D,2,FALSE)
如果表格包含“文本”,查找值是数字,您可以将其转换为文本,如下所示:
=VLOOKUP(TEXT(A1,0),C:D,2,FALSE)
这是我的理论。 在VLOOKUP中,如果查找值(A2)小于查找表(C:D)中的最小值,则返回N / A。 当你在引号(')的前面加上A2时,不是一个数字。 因此,例如,一个1002的UPC不再被视为数字一千零二,而是作为string序列one-zero-zero-two。 这让VLOOKUP以不同的方式进行比较,避免N / A。
您可以尝试在列A中使用Ctrl-1,并将其全部视为文本。