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

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

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

实际情况两列都是100行以上的,有没有大佬能用excel里的公式或VBA做出这个
...全文
46935 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Elydu 2022-07-06
  • 打赏
  • 举报
回复

R S 列是需要的结果

Elydu 2022-07-06
  • 打赏
  • 举报
回复

img

求大神帮忙写个公式,找出工单对应的订单

TAHITI87 2020-09-29
  • 打赏
  • 举报
回复
感谢2、3楼的大佬,方法很管用
zara 2020-09-28
  • 打赏
  • 举报
回复 3
好像数组公式就可以的,如下图示例,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 列有效数据范围,根据实际情况调整。
hihx77 2021-08-11
  • 举报
回复 2
@zara 为了感谢你的答案,我特意注册点个赞。感谢感谢!!!!
乜哈哈 2022-08-29
  • 举报
回复
@hihx77 大佬的公式无敌了
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
乜哈哈 2022-08-29
  • 举报
回复
@X-i-n 获益匪浅,感谢大佬!

6,216

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧