本文作者:office教程网

excel怎么统计分隔符的字符串

office教程网 2023-11-08 09:21:37
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要: excel怎么统计分隔符的字符串
Q:某些情况下,我们可能要统计带有分隔符的字符串中不重复的子字符串数。如下所示,我想知道单元格A1中不重复的数字有几个,应该...

excel怎么统计分隔符的字符串

Q某些情况下,我们可能要统计带有分隔符的字符串中不重复的子字符串数。如下所示,我想知道单元格A1中不重复的数字有几个,应该怎么编写公式?

A:下面的数组公式可以完成单元格A1的字符串不重复值的统计:

=SUM(N(MATCH(TRIM(MID(SUBSTITUTE(A1,”,”,REPT(“”,999)),ROW(INDIRECT(“1:” &LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))*999-998,999)),TRIM(MID(SUBSTITUTE(A1,”,”,REPT(“”,999)),ROW(INDIRECT(“1:” &LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))*999-998,999)), )=ROW(INDIRECT(“1:”& LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))))

结果为6。注意,公式输入完成后要按下Ctrl Shift Enter组合键。

公式解析

这么长的公式,一看到可能被吓着了,让我们来看看这个复杂的公式是怎么得来的。

上面的公式可以简化为:

=SUM(N(MATCH(单元格中的子字符串组成的数组, 单元格中的子字符串组成的数组, )=连续数字组成的数组))

其中,生成单元格中的子字符串组成的数组的公式:

TRIM(MID(SUBSTITUTE(A1,”,”,REPT(“”,999)),ROW(INDIRECT(“1:” &LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))*999-998,999))

ROW(INDIRECT(“1:”& LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))获得从1至子字符串个数的连续数字。本例中,单元格中的子字符串组成的数组为:

{“1″;”2″;”3″;”1″;”2″;”3″;”4″;”5″;”6”}

COUNTIFS函数处理数组

COUNTIFS函数处理数组?这篇文章将详细讲解COUNTIFS/SUMIFS函数的运行原理,特别是将包含多个作为条件的元素的数组传递给一个或多个Criteria_Range参数时。 先看一个示例,如下图1所示的数据。 图1 现在,想要得到Sex为“Male”,Pet为“Sea lion”的数量,使用公式:

上述数组作为MATCH函数的参数,查找每个子字符串在上面数组中出现的位置,得到下面的数组:

{1;2;3;1;2;3;7;8;9}

公式中的:

ROW(INDIRECT(“1:”& LEN(A1)-LEN(SUBSTITUTE(A1,”,”,””)) 1))

生成由连续的数字组成的数组:

{1;2;3;4;5;6;7;8;9}

上面生成的两个数组进行比较:

{1;2;3;1;2;3;7;8;9}={1;2;3;4;5;6;7;8;9}

得到由布尔值组成的数组:

{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE}

其中的TRUE表明是不重复的值,FALSE表明值出现的重复。因为不重复值出现的位置应该与其在子字符串中的位置一致,也就是说比较的结果为TRUE;如果位置不一致,则前面已经出现过该子字符串,即为重复值,比较的结果为FALSE。

N函数将上述布尔值数组转换成由和1组成的数组:

{1;1;1; ; ; ;1;1;1}

数组中元素之和即为不重复的值的个数。

excel怎么筛选内容

excel怎么筛选内容 Q:如下所示,一个名为“InputFile.csv”文件,每行有6个数字,每个数字使用空格分隔开。 现在,我要将以6 至69开头的行放置到另一个名为“OutputFile.csv”的文件中。中只是给出了少量的示例数据,我的数据有几千行,如何快速对这些数据进行查找并将满足条件的行复制到新文

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:excel怎么统计分隔符的字符串发布于2023-11-08 09:21:37
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: