我在一列中有一个包含> 12500行的Excel文件。 它包含20位数字的随机字符串:
2,3,4,6,7,8,12,13,14,24,30,42,45,46,48,50,56,58,**59**,61
1,2,6,8,11,12,13,16,17,21,24,27,28,33,34,42,44,48,58,61
3,7,10,13,14,15,18,21,23,24,25,29,30,34,37,48,51,56,57,60
8,11,13,16,17,19,21,27,29,35,36,39,42,44,46,50,53,54,57,60
2,4,7,9,21,26,28,30,32,34,35,37,38,39,43,44,50,60,61,62
10,13,15,18,21,22,23,24,25,26,40,42,48,49,51,52,56,**59**,61,62
1,2,4,7,14,15,18,20,24,29,30,32,35,41,42,50,52,55,58,62
1,4,8,9,10,12,17,24,25,33,37,41,43,44,46,49,52,**59**,61,62
1,2,4,6,9,12,15,17,21,24,30,31,32,36,41,44,47,48,51,58
2,7,10,12,15,16,20,24,25,27,30,33,39,44,45,52,54,55,58,60
5,7,10,11,20,22,24,31,32,33,36,38,39,41,43,47,50,52,56,58
3,6,8,9,14,15,19,21,25,28,34,37,39,45,47,54,55,56,57,**59**
1,2,3,4,5,8,14,15,18,20,23,31,33,37,42,45,46,51,52,55
我需要知道数字没有重复的行之间的最大差距。例如 - 我搜索任何数字(例如59),我需要知道数字59没有重复的两行之间的最大差距。 在这个例子中,它是59个之间的4行间隙。
希望我能说清楚。
答案 0 :(得分:1)
似乎是一个有趣的问题,承认一个简单但不太明显的答案。首先 - 确保数据在20列中(使用数据选项卡下的文本到列功能)。使用您的示例,我想出了一个看起来像的电子表格:
V1保留目标号码。公式在U列中。
在U1我输入了:
=IF(ISNA(MATCH($V$1,A1:T1,0)),1,0)
此公式使用MATCH
来测试V1中的值是否位于其左侧的范围内。如果没有,则匹配函数返回#N/A
。函数ISNA
检查此错误值。 IF
它存在,整体公式返回1(因为现在有1个连续的行没有目标数字),否则返回0。
U2中的公式类似于一点点扭曲:
=IF(ISNA(MATCH($V$1,A2:T2,0)),1+U1,0)
相同的基本逻辑 - 但如果目标号码不存在则返回1,而不是将上述数字加1。然后将公式复制到范围的其余部分。它具有保持连续行的运行总数而没有目标值的效果。每当遇到具有目标值的行时,此运行总计将重置为0.
最终成分不需要评论。在U14我只是
=MAX(U1:U13)
这是您要查找的数字(假设没有目标数的连续行的最大数量是您要查找的数字,即使这发生在数据的顶部或底部。如果您想要最大的数字。差距实际上介于两行之间的数量,逻辑需要变得更复杂。)