我试图VLOOKUP
在Excel表中获取一个值,并从另一个工作表中的另一个Excel表获取该值。
第一个表称为PRODUCTS
,第二个表称为PRODUCT DETAILS
在PRODUCTS
中,我有:
GTIN-13 | SKU | NAME | PRICE
在PRODUCT DETAILS
中,我有:
GTIN-13 | SKU | NAME | GW | NW
我正在PRODUCT DETAILS
中从SKU
到Vlookup PRODUCTS
并将GTIN-13
的值放入PRODUCT DETAILS
GTIN-13 (PRODUCT DETAILS)
:=VLOOKUP([@SKU],PRODUCTS,1,)
但是公式返回#N/A
。
我不明白我在哪里弄错了
答案 0 :(得分:1)
在PRODUCTS
表中,将SKU列移到表的最左侧。因此列顺序如下:
SKU | GTIN-13 | NAME | PRICE
在PRODUCT DETAILS
表中,使用以下公式:
=VLOOKUP([@SKU],PRODUCTS,2,FALSE)
在此VLOOKUP
公式中,数字2表示您尝试在存在匹配项时从第二列中获取值(即GTIN-13
是PRODUCTS
中的第二列)在第一列SKU
中的{(VLOOKUP总是尝试匹配搜索范围第一列中的值)在PRODUCTS
中。
希望有帮助!
答案 1 :(得分:0)
VLOOKUP
仅在两个表中的公共列都在所需值列的左侧时才起作用。
您只需更改SKU
列左侧的GTIN-13
列位置,您的公式即可正常工作。
现在,如果您不想篡改数据表并希望使用更强大的查找功能,则可以使用INDEX
和MATCH
函数。
INDEX
取3个值-INDEX(Table, Row, Column)
MATCH
取3个值-MATCH(Cell, Column, [-1, 0, 1])
----这里0
用于查找精确匹配
现在,如果您同时使用这两个功能,则可以将Row
的{{1}}替换为INDEX
函数。
就是这样-MATCH
我在工作表中的公式为INDEX(Table, MATCH(Cell, Column, 0), Column)
在这里,我将1用作INDEX(I:J, MATCH(D2, J:J, 0), 1)
的{{1}},因为我想要Column
的值。