我在excel中有一个数字列表,例如:
11111 12345 23222 13111 11511 92099
我想计算这些数字出现的次数,就像这样
11111 5 12345 0 23222 4 13111 4 11511 4 92099 3
ma8fv8wu1#
=LET(ξ,MAX(LEN(A1)-LEN(SUBSTITUTE(A1,SEQUENCE(10,,0),""))),IF(ξ=1,0,ξ))
5ssjco0h2#
使用SUMPRODUCT和MODE.SNGL:
=IFERROR(SUMPRODUCT(--(MODE.SNGL(--MID(A1,SEQUENCE(LEN(A1)),1))=--MID(A1,SEQUENCE(LEN(A1)),1))),0)
我们也可以使用BYROW和LET来一次完成整个范围:
=BYROW( A1:A6, LAMBDA(rg, LET( a,--MID(rg,SEQUENCE(LEN(rg)),1), IFERROR(SUMPRODUCT(--(MODE.SNGL(a)=a)),0))))
gzjq41n43#
这适用于任何字符,而不仅仅是数字:
=LET(d,B8, s,MID(d,SEQUENCE(LEN(d)),1), m,XMATCH(s,s), f,MAX(FREQUENCY(m,m)), IF(f=1,0,f))
首先,由单元格中的每个字符组成一个数组(s)。m创建s与其自身的匹配结果的数组。f返回匹配频率的最大值。由于这可能为所有唯一值返回1,因此添加了一个if语句,以便在1的情况下更改为0。
s
m
f
1
0
3条答案
按热度按时间ma8fv8wu1#
=LET(ξ,MAX(LEN(A1)-LEN(SUBSTITUTE(A1,SEQUENCE(10,,0),""))),IF(ξ=1,0,ξ))
5ssjco0h2#
使用SUMPRODUCT和MODE.SNGL:
我们也可以使用BYROW和LET来一次完成整个范围:
gzjq41n43#
这适用于任何字符,而不仅仅是数字:
首先,由单元格中的每个字符组成一个数组(
s
)。m
创建s
与其自身的匹配结果的数组。f
返回匹配频率的最大值。由于这可能为所有唯一值返回
1
,因此添加了一个if语句,以便在1
的情况下更改为0
。