列内的字符串的Vlookup

时间:2015-12-14 03:07:53

标签: xml excel vba vlookup

我必须通过从其他两个CSV

中提取数据来构建CSV

首先,将它们链接在一起的列如下所示:

CSV 1

Column A | Column B | Column C
   Honda |  I_1999  |  Red
   Honda |  I_1999  |  Blue   
   Honda |  I_1999  |  Green
   Toyota|  I_1998  |  Yellow   

CSV 2

Column A | Column B  | Column C
   Honda |  1999.xml |  Coupe
   Honda |  1999.xml |  Sedan
   Toyota|  1998.xml |  Coupe
   Toyota|  1998.xml |  Sedan

有没有办法vlookup部分字符串?在" I _"之后说vlookup字符串在CSV 1中,B列之前的字符串为#34; .xml" CSV 2 B列。

其次,如何将引用的数据一旦链接起来就将它们放在1个文件中?

我希望新的CSV最终看起来像这样:

Column A | Column B |  Column D |  Column E
Honda    |   I_1999 |    Red    |  Coupe 
Honda    |   I_1999 |    Red    |  Sedan
Honda    |   I_1999 |    Blue   |  Coupe 
Honda    |   I_1999 |    Blue   |  Sedan

2 个答案:

答案 0 :(得分:0)

要使用VLOOKUP,我们需要一些独特的东西,但根据您的详细信息,您可以使用以下数组公式。

=IF($A$1:$A$5=$F$1:$F$5,INDEX($F$1:$H$5,MATCH(RIGHT(B2,4),LEFT($G$1:$G$5),0),"")

CTRL + Shift + Enter

enter image description here

在上面的快照中,您可以在D2单元格中看到结果而不是" Sedan" "双门轿跑车"因为它是相同标准的重复匹配(在VLOOKUP中也存在)。您可以添加一个唯一ID,然后尝试获得确切结果:)

答案 1 :(得分:0)

您实际上应该能够使用ADO创建两个数据表并使用SQL来执行您想要的操作。

假设你有第一个数据在范围内:Sheet1!A1:C3和范围sheet1中的第二个数据!E1:G5。每个数据列都有一个A,B,C等标题。

enter image description here

以下查询将根据您的需要加入。

SELECT Data.A AS [Column A],
       Data.B AS [Column B],
       Data.C AS [Column C],
       Data1.C AS [Column D] 
FROM [Sheet1$A1:C3] Data 
INNER JOIN [Sheet1$E1:G5] Data1 
ON Data.A = Data1.A 

将copyfromrecordset用于其他范围以粘贴结果数据。

enter image description here