la situación es así:
0
-
-
0
-
-
-
-
0
-
-
-
0
Yo quería ser así:
0
1
2
0
1
2
3
4
0
1
2
3
0
Hay miles de celdas en el rango y esto no se puede hacer manualmente.
Respuesta1
Si las celdas entre los ceros están vacías, puedes hacer esto:
Seleccione todas las celdas en su hoja de cálculo, luego presione F5, haga clic en "Especial", marque "Blancos" y presione Aceptar. Ahora se seleccionan todas las celdas en blanco.
Sin cambiar la selección, comience a escribir
=if(
presiona la flecha hacia arriba, luego escribe
=0,1,
presiona la flecha hacia arriba, luego escribe
+1)
Se verá algo como esto:
Mantenga presionada la tecla Ctrl y presione Enter. Ahora todas las celdas previamente vacías tendrán una fórmula como
=if(A1=0,1,A1+1)
y las celdas entre ceros se numerarán. Tenga en cuenta que esto funciona para varias columnas a la vez.
La fórmula de la publicación de Jason Aller no me funciona en absoluto. Para completar, aquí está esa fórmula en una captura de pantalla.
Respuesta2
Si los únicos elementos en la columna son cero y espacios en blanco y el primer elemento es un cero, seleccione las celdas que desea procesar y ejecute esta pequeña macro:
Sub FillInTheBlanks()
Dim r As Range, K As Long, CH As String
K = 1
For Each r In Selection
CH = r.Text
If CH = "" Then
r.Value = K
K = K + 1
Else
K = 1
End If
Next r
End Sub
Antes:
y después:
Respuesta3
Inserte una columna vacía a la derecha de esta columna y agregue una fórmula que mirará la celda de la izquierda y si esa celda es un cero, colocará un cero, y si no, agregará uno al valor en la celda de arriba. . Luego copie la columna y péguela como valores sobre la columna de origen y elimine la columna agregada.
Por ejemplo, si su columna es la columna A, en la celda B2 coloque:
=if(A2=0,0,B1+1)
y si las celdas entre los ceros están vacías y no tienen un guión, entonces la fórmula se puede cambiar a:
=if(AND(A2=0, NOT(ISBLANK(A2))), 0, B1+1)