通过过滤excel中特定部分文本来计算最大值(文本+数字)出现次数

时间:2014-02-27 05:47:14

标签: excel

我有一个excel列范围(包括空白单元格),例如: 00EGB00-GE001 00EGB00-GE001 00EGB00-GE001 00EGB00-GE001 00EGB00-GE002 00EGB00-GE002 00EGB00-GE002 00EGB00-GE002 00EGD20-GD101 我需要的是计算相似值的总数并且我坚持使用计算总的唯一“相似”值的逻辑...例如“GE”& “GD”分开。

如何计算列表中唯一“GE”值的总数? 我认为=COUNTIF(B:B,"*GE*")应该有用,但事实并非如此。它给出了“GE”的总数,但我需要找到唯一的数量。示例GE001& GE002应被视为总共2个值。

请帮助

1 个答案:

答案 0 :(得分:1)

再次编辑:如果下面有进一步说明,并假设数据总是具有相同的位数,一种方法是将其放在B列中:

=RIGHT(A1,5)

然后,如果您使用Excel 2007或更高版本,复制和粘贴值并使用“删除重复项”为您提供唯一值。然后手动或使用公式删除GD项目。

在这种情况下,输出为:

GE001
GE002

在这种情况下,您可以轻松地看到它是2.如果您有很多值,则可以使用COUNTA。这就是你想要的吗?

根据最后的评论进行另一次编辑:这可能越来越近了:

=SUMPRODUCT(--(MID(A1:A9,9,2)="GE"),1/COUNTIF(A1:A9,A1:A9))

如果“GE”在上面的公式中是硬编码的,那么您也可以替换可以改变值的单元格引用。

或者,如果你不知道你想要的文本在哪里,因为字符数会改变,这将有效(但是你需要小心你所搜索的内容,因为它可能会在其他地方重复在字符串中):

=SUMPRODUCT(--(ISERR(SEARCH("GE",A1:A9))<>TRUE),1/COUNTIF(A1:A9,A1:A9))

同样,您可以用单元格引用替换“GE”。

如下所示,空白单元格会导致失败。几乎肯定有一种方法可以满足它们(可能使用基于FREQUENCY的数组公式),但是如果你能够清理掉空白单元格那么这将是一种方法。

最后编辑:这将占空白单元格。这是一个数组公式,并且可以在整个列上使用,但这会很慢,因为它需要相当多的计算工作量:

{=SUMPRODUCT(--(MID(A1:A9,9,2)="GE"),IF(ISBLANK(A1:A9),1,1/COUNTIF(A1:A9,A1:A9)))}

由于它是一个数组公式,请使用 Ctrl + Shift + 输入输入。