在Excel中的查找错误
我在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中的数据与sheet1匹配,它应该返回类似于AH的代码。
= VLOOKUP(A1,Sheet1中A1:C14,1,FALSE)
您不能使用Vlookup进行从右到左的search。 您将需要结合Index
和Match
function:
要从第一列返回值:
=index(Sheet1!A1:A14,Match(Sheet2!A1,Sheet1!B1:B14,False),1)
如果不重新安排数据,则无法在VLOOKUP中执行此操作。 VLOOKUP公式需要3个参数(必需)和1个可选项。
lookup_value
– 这是您正在search的关键
table_array
– 这是执行查找的范围/数组。 Vlookup仅在table_array
的FIRST COLUMN中searchlookup_value
。
col_index_num
– 指定返回值来自哪个table_array
列
[range_lookup]
– 可选,默认为True
,假设您的表格按升序排列在第一列,如果没有find确切的值,将返回一个近似匹配。 由于我通常不会做出这个假设,也不需要“近乎匹配”,所以我通常使用False
来表示这个参数,这个参数强制一个完全匹配。
如果你想用VLOOKUP来做到这一点,你将不得不重新安排你的数据,以便查找值在列A中:
GOLDEN FOODS-BRAND AH AAK TRTNI LLC CINCINNA TW Felda, Cinci OH HUDSON TANK TERM HT Hudson ID GLYCERINE ZJ Cincinnati Plant KANSAS CITY CHEM. K7 Kansas City Plant P&G % KMTEX RMCO PX KmTex P&G % PETER CREMER PN Peter Cremer P&G % SUPERFLO SF Superflo SACRAMENTO PLANT 71 Sacramento Plant RAIL SCARM P&G CH RL RAIL (Sacto) WESTWAY TERMINAL SO Westway CHEM STOLT HAVEN CJ Stolt TWIN RIVERS TERM'L TQ TRT
我经常发现在查看之前我需要“正常化”数据。 格式不同可能会导致不匹配。
要规范化,我复制现有的列(复制它们),然后使用这个“技巧”
第1步 – 摆脱各种格式化1.select一列你将用来查找数据2.数据选项卡 – >文本到列 – >分隔 – >(删除所有的检查) – >点击完成
第2步 – 正常化为小写,并删除所有空格1.在Step 1
列旁边插入新列2.使用此公式=LOWER(TRIM(A2))
(使用实际单元格编号)。
然后,确保你在A
列上查找 – 只要确保查找值在所有内容的前面。
当您在工作表1上完成这些步骤后,还需要对工作表2进行标准化。然后,可以使用标准化列中的数据进行查找。
尝试这个:
=INDEX(Sheet1!A1:A13, MATCH(A1,Sheet1!B1:B13 , False))