我有一个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个值。
请帮助
答案 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 + 输入输入。