A ---------------------------------------------- -----------------------------------乙
www.dog.com
-------------------------------- Dog www.firstcat.com
================ Cat www.internet.com/pig
=============猪关于格式化的道歉。
我在使用VLookUp时遇到了一些问题。基本上我想缩写A列中的URL,并将此缩写放在B列中,如上图所示。要以www.dog.com
为例,我想出了以下公式:
=VLOOKUP("*"Dog"*",A:A,1,True)("Dog","")
有人可以帮帮我,并告诉我上述公式有什么问题。 另外,Vlookup是否适合与其他两个URL一起使用? 最后,如果(不)合适,那么最佳选择是否与VBA兼容?
答案 0 :(得分:1)
我不确定你真正想做什么。但即使不了解你的目标,我也认为这个公式有很多错误。
=VLOOKUP("*"Dog"*",A:A,1,True)("Dog","")
怎么样:
=VLOOKUP("*Dog*",A:B,2,FALSE)
您当然可以使用"*Cat*"
和"*Pig*"
或使用"*"&C1&"*"
等单元格引用执行相同操作。
答案 1 :(得分:0)
无论如何在另一个论坛上获得了这些解决方案。
B1 =LOOKUP(9.99999999999999E+307,SEARCH($E$1:$E$3,A1),$F$1:$F$3)
B2 =LOOKUP(9.99999999999999E+307,SEARCH($E$1:$E$3,A2),$F$1:$F$3)
B3 =LOOKUP(9.99999999999999E+307,SEARCH($E$1:$E$3,A3),$F$1:$F$3)
对于VBA宏
Option Explicit
Option Compare Text
Sub ExtractData()
Dim dcp, i As Long
Dim c As Range
dcp = Array("Dog", "Cat", "Pig")
Columns(2).ClearContents
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp))
For i = LBound(dcp) To UBound(dcp)
If InStr(c, dcp(i)) Then
c.Offset(, 1) = dcp(i)
Exit For
End If
Next i
Next c
End Sub