部分单元格包含在表格Excel中
我有一个公司的名单,如:
COCA COCA COLA SPRITE
另一个公司名单给出,更详细的。
单元格是列表中至less一个元素的子string?
COCA COLA USA TRUE PEPSI FALSE SPIRIT FALSE
我曾尝试近似匹配,但结果是错误的。 我想这样的东西:
=EQUIV([@Company_long_name];"*"&Table[Company]&"*";0)
谢谢阅读
不止一种方式来做到这一点,select一个你更舒适的方式
方法1公式
=SUM(IFERROR(MATCH("*"&($A$2:$A$4)&"*",$B2,0),0))>0
方法2公式
=LARGE(COUNTIF(B2,"*"&$A$2:$A$4&"*"),1)>0
注意:这是数组公式。 它不是单个数组公式,而是每个单元格的数组。 所以首先把公式放入单个单元格(从第二行开始我的公式),然后按CTRL + D来填充。
在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
相应地将您的代码更改为您的格式。 从你的例子来看,“可口可乐”,“可口可乐”和“SPRITE”将位于ws1
1列,而其他ws1
将位于ws2
1和第2列
编辑:代码现在可能在所有条目的string匹配。