我有两张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)
答案 0 :(得分:4)
您无法使用Vlookup进行从右向左搜索。您需要合并Index
和Match
函数:
要从第一列返回值:
=index(Sheet1!A1:A14,Match(Sheet2!A1,Sheet1!B1:B14,False),1)
如果不重新安排数据,则无法在VLOOKUP中执行此操作。 VLOOKUP公式有3个参数(必需)和1个可选参数。
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。