VBA Excel:查找多个值;将匹配的值返回到下一个单元格

时间:2011-12-16 13:47:10

标签: excel vba cell lookup paste

此问题与此链接VBA Excel : Extract data in specific format from CSV files

相对应

但我在这里有一个不同的问题。

在CVS文件中,在col C中充分了解有关应用程序软件的信息,如Windows XP,Adobe,Office,.net Framework,vlc等....所以,在col C中我有大约1800行。

我想在每个&中寻找Windows XP,Adobe,IBM,VLC等。每个col单元格或整个col如果匹配,则将匹配值粘贴到下一个列单元格中。

例如,如果找到“Adobe”,则将“Adobe”粘贴到下一个col单元格。

我如何使用ìfLookup执行,还是有最好的方法?

if(FIND("Adobe",C:C),"TRUE","FALSE")

=Lookup(Windows XP, C:C) would return "Windows XP" =Lookup(Adobe, C:C) would return "Adobe" =Lookup(IBM, C:C) would return "IBM "

我已经在这里上传了CVS文件!!

http://uploadmb.com/freeuploadservice.php?uploadmbID=1324042163&srv=www&filename=5200.csv

2 个答案:

答案 0 :(得分:1)

您可以使用D栏中的公式来检查“Windows XP”或您要查找的任何数据:

=IF(ISERROR(FIND("Windows XP",C2)),"","Windows XP")

杰西

答案 1 :(得分:0)

Sub AddFormula()
    Dim lLR As Long
    lLR = Range("A" & Rows.Count).End(xlUp).Row
    Range("D2").FormulaArray = "=INDEX($E$2:$E$15,MATCH(1,--ISNUMBER(SEARCH($E$2:$E$15,$C2,1)),0),1)"
    Range("D2").AutoFill Destination:=Range("D2:D" & lLR)

此公式代码正常。