返回首页
当前位置: 主页 > Excel教程 > Excel函数教程 >

excel统计字符串中不重复字符数量的公式

时间:2012-07-08 19:12来源:Office教程学习网 www.office68.com编辑:麦田守望者

要统计字符串中不包括重复字符的数量,即字符串中的字符种类数量,在Excel中可以用下面的一些公式。假如A1单元格中包含字符串“Excel2010”,在B1单元格中输入公式:

=SUMPRODUCT(--(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),A1)=ROW(INDIRECT("1:"&LEN(A1)))))

公式返回结果为8,即重复的字符“0”只计算了一次。

说明:

1.用MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)返回包含各字符的数组:{"E";"x";"c";"e";"l";"2";"0";"1";"0"},其中ROW(INDIRECT("1:"&LEN(A1)))返回数组:{1;2;3;4;5;6;7;8;9}。

2.用FIND函数返回各字符在字符串中的起始位置:{1;2;3;4;5;6;7;8;7},然后与上面的数组进行比较:{1;2;3;4;5;6;7;8;7}={1;2;3;4;5;6;7;8;9},返回数组{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE},并用双重否定符“--”返回{1;1;1;1;1;1;1;1;0}.

3.最后用SUMPRODUCT函数返回结果。

另外,还可以用下面的两个公式:

=SUM(--(FREQUENCY(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),A1),FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),A1))>0))

或:

=COUNT(1/FREQUENCY(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),A1),FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),A1)))

如果不区分字符串中英文字母的大小写,将上述公式中的FIND改为SEARCH即可。本例中公式将返回“7”,即“E”和“e”只算作一个字符。

------分隔线----------------------------
标签(Tag):excel excel2007 excel2010 excel2003 excel技巧 excel教程 excel实例教程 excel2010技巧
------分隔线----------------------------
推荐内容
猜你感兴趣