部分单元格包含在表格Excel中

时间:2016-06-21 12:07:24

标签: excel excel-formula

我有一系列公司,例如:

COCA
COCA COLA
SPRITE

给出了另一份公司名单,更详细。

单元格是否是列表中至少一个元素的子字符串?

COCA COLA USA    TRUE
PEPSI            FALSE
SPIRIT           FALSE

我尝试过近似匹配,但结果是错误的。 我想要这样的东西:

=EQUIV([@Company_long_name];"*"&Table[Company]&"*";0)

感谢您阅读

2 个答案:

答案 0 :(得分:1)

在VBA中你可以这样做:

Sub findIfSubString()
   Dim ws1, ws2 As Worksheet

   Set ws1 = Worksheets("Tabelle1")
   Set ws2 = Worksheets("Tabelle2")

   i = 1


   Do While ws1.Cells(i, 1) <> ""

        j = 1
        ws2.Cells(i, 2) = "FALSE"
        Do While ws2.Cells(j, 1) <> ""
            If InStr(ws2.Cells(i, 1), ws1.Cells(i, 1)) Then
                ws2.Cells(i, 2) = "TRUE"
                Exit Do
            Else
                j = j + 1
            End If
        Loop
        i = i + 1
   Loop

End Sub

根据您的格式更改您的代码。从你的例子中,&#34; COCA&#34;,&#34; COCA COLA&#34;和&#34; SPRITE&#34;将位于ws1的第1列,其他任何一组都位于ws2的第1列和第2列

编辑: 代码现在可以在所有条目的字符串匹配中查找。

答案 1 :(得分:1)

不止一种方法,选择一个你更舒服的方式

enter image description here

方法1公式

=SUM(IFERROR(MATCH("*"&($A$2:$A$4)&"*",$B2,0),0))>0

方法2公式

=LARGE(COUNTIF(B2,"*"&$A$2:$A$4&"*"),1)>0

注意:这是数组公式。它不是单个数组公式,而是每个单元格的seprate数组。所以首先将公式放入单个单元格(从我的公式的第2行开始),然后按CTRL + D来填充。