计算唯一的string变体

可以有一个相当简单的解决scheme,但我试图find一个string的唯一变体(即非重复)出现在一个列的次数。 但是这个string只是包含在单元格中的文本的一部分,而不是整个单元格。 为了显示:

EuropeSpainMadrid EuropeSpainBarcelona AsiaChinaShanghai AsiaJapanTokyo EuropeEnglandLondon EuropeSpainMadrid 

我想找出有多less个唯一的实例有一个包含“EuropeSpain”的string。 因此,使用这个例子,我会发现“EuropeSpain”的变体只出现两次(因为“EuropeSpainMadrid”的第二个实例是重复的)。

解决这个问题的方法是使用pivot来汇总数据并删除重复的数据; 但是考虑到我的基本数据集经常变化,这将需要手动调整和更正。 因此,我想避免在我的数据和计数之间添加任何中间步骤(即数据透视表,其他数据集等)。

更新:我现在明白要使用通配符来解决我的问题的第一部分(计算“EuropeSpain”的发生),但是我还不清楚我的问题的第二部分(如何find唯一的事件的数量)。

有公式或VBA代码可以做到这一点?

使用通配符:

 =COUNTIF(A1:A6,"="&"*"&C1&"*") 

在这里输入图像说明

对于没有VBA,但有一些多function性,我build议在ColumnA(标记),ColumnB标记FlagEuropeSpain在C1中的文本:

 =FIND(C$1,A2) 

在B2下复制下来。

然后将A:B Flag为FILTERS(并select1 ),对于ROWS的文本和对于Sigma VALUES的文本计数。

如果需要(和可用!)应用不同的值,或者这样的公式:

 =MATCH("Grand Total",E:E)-4 

会计数独特。