一個表里有兩列,如圖所示

問題:查找A列中是否包含B列中的公司名稱,并在C列輸出B列對應的值,如果包含多個單元格,則輸出最高行的值
例如:A7同時包含B列中的B2,B3,B4,B19,在C7中輸出B2的值
實際情況兩列都是100行以上的,有沒有大佬能用excel里的公式或VBA做出這個
uj5u.com熱心網友回復:
Sub pickup()
Dim a() As String, b() As String
Dim value As String, row As Integer, index As Integer
row = 0: index = -1
For i = 1 To Sheet1.UsedRange.Rows.Count
value = Cells(i, 2)
If value <> "" Then
index = index + 1
ReDim Preserve b(index) As String
b(index) = value
End If
If Cells(i, 1) <> "" Then row = row + 1
Next
For i = 1 To row
value = Cells(i, 1)
For j = 0 To index
If InStr(value, b(j)) > 0 Then
Cells(i, 3) = b(j)
Exit For
End If
Next
Next
End Sub
uj5u.com熱心網友回復:
好像陣列公式就可以的,如下圖示例,C1 單元格的公式:=OFFSET($B$1,MATCH(TRUE,IFERROR(SEARCH($B$1:$B$4,A1),0)<>0,0)-1,0,1,1) 按住 Ctl+Shift 再回車,下面的拉公式即可;$B$1:$B$4 是 B 列有效資料范圍,根據實際情況調整。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/135552.html
下一篇:求大神指導指導
