EXCEL如何判断某个单元格是否包含另一列中的字符,并输出符合的字符

嘻嘻茶 2020-09-28 02:57:47
一个表里有两列,如图所示

问题:查找A列中是否包含B列中的公司名称,并在C列输出B列对应的值,如果包含多个单元格,则输出最高行的值
例如:A7同时包含B列中的B2,B3,B4,B19,在C7中输出B2的值

实际情况两列都是100行以上的,有没有大佬能用excel里的公式或VBA做出这个
...全文
40250 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘻嘻茶 2020-09-29
感谢2、3楼的大佬,方法很管用
回复
zara 2020-09-28
好像数组公式就可以的,如下图示例,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 列有效数据范围,根据实际情况调整。
回复 2
hihx77 08-11
@zara 为了感谢你的答案,我特意注册点个赞。感谢感谢!!!!
回复 1
X-i-n 2020-09-28
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
回复
相关推荐
发帖
Microsoft Office应用
创建于2007-08-02

6158

社区成员

Microsoft Office应用
申请成为版主
帖子事件
创建了帖子
2020-09-28 02:57
社区公告
暂无公告