我需要在Excel中编写过滤数据。如何计算重复细胞的数量?
实施例 我在列
中有数据 0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
输出
Count 1 = 10
Count 1;1 = 4
Count 1;1;1 = 2
Count 1;1;1;1 = 1
答案 0 :(得分:3)
使用A1:A15中的值以及您要考虑的连续1的数量,例如: 3,在B1中,这个数组公式** 在C1:
中 =SUM(INT(FREQUENCY(IF(A$1:A$15=1,ROW(A$1:A$15)),IF(A$1:A$15=0,ROW(A$1:A$15)))/B1))
向下复制以给出在B2,B3等中考虑的连续1的数量变化的类似结果。
作为一个如何操作的例子,使用给定的原始数据和B1 = 2,我们可以看到公式将成为:
=SUM(INT(FREQUENCY({FALSE;FALSE;3;FALSE;5;6;FALSE;8;9;10;FALSE;12;13;14;15},{1;2;FALSE;4;FALSE;FALSE;7;FALSE;FALSE;FALSE;11;FALSE;FALSE;FALSE;FALSE})/B1))
现在应该清楚选择 data_array 和 bins_array 的IF语句的原因,每个元素中的元素集合是另一个元素的补充。
因此,当我们将这些数组传递给FREQUENCY时,我们获得的输出包含每个分组中的1个数,以上解析为:
=SUM(INT({0;0;1;2;3;4}/B1))
其余的相当简单。
此致
**数组公式的输入方式与'标准'相同。公式。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果您已正确完成,您会注意到Excel在公式周围放置了大括号{}(尽管不要尝试自己手动插入这些括号)。
答案 1 :(得分:1)
步骤1:将单元格中的所有值作为字符串连接到一个单元格中(对于此示例,我将假设您的数据位于A列中,并且连接位于单元格B1中)。
1(a)在单元格B1中,输入公式=CONCATENATE(A1,A2,A3,...,A_)
。如果有少数细胞,这是非常长的啰嗦
1(b)或者,快速谷歌搜索产生了this文章,该文章提供了一种相当快速(但手动)的方式来连接大范围的值。
步骤2:计算上面串联中较小字符串的出现次数
2.1将要搜索的字符串放在单元格中(对于此示例,我将假设单元格C1)
2.2在单元格D1中,输入公式=(LEN($B$1)-LEN(SUBSTITUTE($B$1,C1,"")))/LEN(C1)
。这可以通过搜索字符串并用空白("")替换目标字符串(C1)的每个匹配项并测量长度差来实现。
2.3对要搜索的每个值重复
以上示例中的结果值:
A: B: C: D:
1 : 0 001011011101111 1 10
2 : 0 11 4
3 : 1 111 2
4 : 0 1111 1
5 : 1
6 : 1
7 : 0
8 : 1
9 : 1
10: 1
11: 0
12: 1
13: 1
14: 1
15: 1