Sub panduan()
arr = [b2:u12] '计算范围
For i = 1 To UBound(arr)
For j = 1 To UBound(arr, 2)
If arr(i, j) <> "" Then
str1 = str1 & arr(i, j) & "、"
If j <> 20 Then
If (arr(i, j) + 1) = arr(i, j + 1) Then
k = k + 1
If arr(i, j + 2) = "" Then
str2 = str2 & (k + 1) & "—"
End If
End If
End If
Else
k = 0
End If
Next j
If Len(str2) = 0 Then
Cells(i + 1, "v") = 0 '输出v列
Else
Cells(i + 1, "v") = 1 '输出v列
End If
Cells(i + 1, "x") = Left(str1, Len(str1) - 1) '输出x列
If Len(str2) = 2 Then
str2 = str2 & "0"
ElseIf Len(str2) = 0 Then
str2 = "0—0"
Else
str2 = Left(str2, Len(str2) - 1)
End If
Cells(i + 1, "z") = str2 '输出z列
str1 = ""
str2 = ""
Next i
End Sub
注:代码里备注了计算范围和输出位置,可以根据需要修改。试试吧
公式都可以实现,图片看不清,重新上传清晰点