Sub VBA()
On Error Resume Next '主要过滤掉值为0的情况
T = Sheets(1).UsedRange.Rows.Count
arr1 = Sheets(1).Range("a1:m" & T)
Dim arr2
ReDim arr2(1 To T - 1, 1 To 15)
For n = 1 To UBound(arr2)
For i = 1 To 13
arr2(n, i) = (arr1(n + 1, i) - arr1(n, i)) / arr1(n, i)
Next
Next
Sheets(2).[a1:m1].Resize(UBound(arr2)) = arr2
TT = Sheets(2).UsedRange.Rows.Count
For i = 1 To TT
Sheets(2).Range("o" & i) = Abs(Application.WorksheetFunction.Sum(Sheets(2).Range("a" & i & ":m" & i)))
TTT = Sheets(3).UsedRange.Rows.Count
If Sheets(2).Range("o" & i) < 0.3 Then
Sheets(3).Range("a" & TTT + 1 & ":m" & TTT + 1) = Sheets(1).Range("a" & TTT + 1 & ":m" & TTT + 1)
Sheets(3).Range("a" & TTT + 2 & ":o" & TTT + 2) = Sheets(2).Range("a" & TTT + 2 & ":o" & TTT + 2)
End If
Next
End Sub
有规则VBA肯定能完成的。。。。