|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 jacky1998 于 2014-9-16 16:40 编辑
- =SMALL(IF(A1:A31<>A2:A32,ROW(2:32)),MATCH(MAX(FREQUENCY(ROW(1:31),IF(A1:A31<>A2:A32,ROW(1:31)))),FREQUENCY(ROW(1:31),IF(A1:A31<>A2:A32,ROW(1:31))),)-1)
复制代码 真丢人,都不知道怎么算啦。弄了个公式,对目前的结果,不知道有没有代表性。- MMULT({1,-1;0,-1},-MID(MAX(FREQUENCY(ROW(1:31),(A1:A30<>A2:A31)*ROW(1:30))%+ROW(1:31)%%)-1%&1%,{3;5},2))
复制代码- =MMULT({1,-1;0,-1;-1,0},-MID(LARGE(FREQUENCY(ROW(1:31),(A1:A30<>A2:A31)*ROW(1:30))%+ROW(1:31)%%,COLUMN(A:AD))&1%,{3;5},2))+{1;0;0}所有数值之频数起终点全包括
FREQUENCY寻找开始位置.rar
(6.56 KB, 下载次数: 42)
复制代码 公式2在一种情况下不会出结果,就是所有的数值都只有1 个即没有相同连续数,这时公式的起点与终点为31即计算数列之外,如果有重复连续数时,最大连续数以最后出现的那个为准。前面有相同的最大连续不予统计。实际按照公式的思路,可以得出所有连续的起点,终点,以及频数。形成内存数组。
公式3
可无误出所有结果,即使所有数的频数为1.
|
评分
-
2
查看全部评分
-
|