如何在另一个Excel工作表中VLOOKUP一个Excel表

时间:2019-03-26 03:54:47

标签: excel office365 vlookup

我试图VLOOKUP在Excel表中获取一个值,并从另一个工作表中的另一个Excel表获取该值。 第一个表称为PRODUCTS,第二个表称为PRODUCT DETAILSPRODUCTS中,我有:

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

我不明白我在哪里弄错了

2 个答案:

答案 0 :(得分:1)

PRODUCTS表中,将SKU列移到表的最左侧。因此列顺序如下: SKU | GTIN-13 | NAME | PRICE

PRODUCT DETAILS表中,使用以下公式: =VLOOKUP([@SKU],PRODUCTS,2,FALSE)

在此VLOOKUP公式中,数字2表示您尝试在存在匹配项时从第二列中获取值(即GTIN-13PRODUCTS中的第二列)在第一列SKU中的{(VLOOKUP总是尝试匹配搜索范围第一列中的值)在PRODUCTS中。

希望有帮助!

答案 1 :(得分:0)

VLOOKUP仅在两个表中的公共列都在所需值列的左侧时才起作用。

您只需更改SKU列左侧的GTIN-13列位置,您的公式即可正常工作。

现在,如果您不想篡改数据表并希望使用更强大的查找功能,则可以使用INDEXMATCH函数。

enter image description here

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的值。