您好我有一张包含单个大量网格值的Excel工作表,我想找到数字中最大的间隙(任何数字,不一定是两个相邻的数字)。我已经在这里看到了单列数据的解决方案,但我有一个巨大的网格,我几乎可以肯定唯一值的数量大于现代excel中的最大行数,所以合并它们进入一个专栏不会起作用。关于如何使这项工作有效的任何想法?
如果它有用,可以做出一些假设:
赞赏公式和VBA方法。
答案 0 :(得分:1)
我认为你应该遍历所有列并计算这样的最大差距(我希望这很好用我目前没有Excel,所以我只是在这里写了这个,如果有任何错误出现评论它和我将纠正我的代码):
Sub LargestGap()
Dim RowCount as Double, ColumnCount as Double, i as Double, j as Double, maxgap as Double
' largest gap
Dim lgc as string
' for performance
Application.Screenupdating=False
' this is just a sample set your columncount to the max columns
ColumnCount = 20
maxgap=0
For i=1 to ColumnCount
j=0
do until Cells(i,j+1)=""
If Cells(i,j)<>Cells(i,j+1) then
If (Cells(i,j+1)-Cells(i,j)) > maxgap then
maxgap=(Cells(i,j+1)-Cells(i,j))
lgc=Cells(i,j+1).address
End if
End if
j=j+1
Loop
Next i
Application.Screenupdating=True
' the messagebox will tell you the adress of the largest gap's cell (the first in the bigger)
msgbox(lgc)
End Sub