excel中的vlookup错误

时间:2014-05-02 14:35:03

标签: excel excel-formula

我有两张excel我需要比较工作表和工作表1中的文本并返回相关代码并带来结果,但我得到n /错误

sheet1中的数据

AH  GOLDEN FOODS-BRAND  AAK
TW  TRTNI LLC CINCINNA  Felda, Cinci OH
HT  HUDSON TANK TERM    Hudson
ZJ  ID GLYCERINE    Cincinnati Plant
K7  KANSAS CITY CHEM.   Kansas City Plant
PX  P&G % KMTEX RMCO    KmTex
PN  P&G % PETER CREMER  Peter Cremer
SF  P&G % SUPERFLO  Superflo
71  SACRAMENTO PLANT    Sacramento Plant
RL  RAIL SCARM P&G CH   RAIL (Sacto)
SO  WESTWAY TERMINAL    Westway
CJ  CHEM STOLT HAVEN    Stolt
TQ  TWIN RIVERS TERM'L  TRT
*   All All

sheet2中的数据

GOLDEN FOODS-BRAND
TRTNI LLC CINCINNA
HUDSON TANK TERM
ID GLYCERINE
KANSAS CITY CHEM.
P&G % KMTEX RMCO
P&G % PETER CREMER
P&G % SUPERFLO
SACRAMENTO PLANT
RAIL SCARM P&G CH
WESTWAY TERMINAL
CHEM STOLT HAVEN
TWIN RIVERS TERM'L
All

如果sheet2中的数据与工作表1匹配,则应返回类似AH的代码。

= VLOOKUP(A1,工作表Sheet!A1:C14,1,FALSE)

3 个答案:

答案 0 :(得分:4)

您无法使用Vlookup进行从右向左搜索。您需要合并IndexMatch函数:

要从第一列返回值:

=index(Sheet1!A1:A14,Match(Sheet2!A1,Sheet1!B1:B14,False),1)

如果不重新安排数据,则无法在VLOOKUP中执行此操作。 VLOOKUP公式有3个参数(必需)和1个可选参数。

enter image description here

lookup_value - 这是您要搜索的关键

table_array - 这是执行查找的范围/数组。 Vlookup仅在lookup_value的第一列中搜索table_array

col_index_num - 指定返回值来自{/ 1}}的哪一列

table_array - 可选,默认为[range_lookup],假定您的表按第一列按升序排序,如果找不到确切的值,则会返回近似匹配。由于我通常不做这个假设,也不想要“近似匹配”,我通常使用True来强制完全匹配。

如果您想使用VLOOKUP执行此操作,则必须重新排列数据,以便查找值位于A列中:

False

答案 1 :(得分:0)

试试这个:

  =INDEX(Sheet1!A1:A13, MATCH(A1,Sheet1!B1:B13 , False))

答案 2 :(得分:0)

我经常发现我需要正常化'我做vlookup之前的数据。格式的差异可能会导致不匹配。

为了规范化,我复制现有列(复制它们)然后使用这个'技巧'

第1步 - 摆脱各种格式 1.选择将用于查找数据的一列 2. DATA选项卡 - >文字到列 - >定界 - > (删除所有检查标记) - >单击“完成”

步骤2 - 规范化为小写并删除所有空格 1.在Step 1列旁边插入新列 2.使用此公式=LOWER(TRIM(A2))(使用实际单元格编号)。

然后,确保在A列上进行查找 - 只需确保查找值位于所有内容的前面。

在sheet1上完成这些步骤后,还需要规范化工作表2。 然后,您可以使用标准化列中的数据执行vlookup。