So füllen Sie ansteigende Werte automatisch zwischen vorhandenen ausgefüllten Zellen aus

So füllen Sie ansteigende Werte automatisch zwischen vorhandenen ausgefüllten Zellen aus

die Situation ist wie folgt:

0
-
-
0
-
-
-
-
0
-
-
-
0

Ich wollte so sein:

0
1
2
0
1
2
3
4
0
1
2
3
0

Der Bereich umfasst Tausende von Zellen und kann nicht manuell durchgeführt werden.

Antwort1

Wenn die Zellen zwischen den Nullen leer sind, können Sie Folgendes tun:

Wählen Sie alle Zellen in Ihrer Tabelle aus, drücken Sie dann F5, klicken Sie auf „Spezial“, aktivieren Sie „Leere“ und drücken Sie OK. Jetzt sind alle leeren Zellen ausgewählt.

Beginnen Sie mit der Eingabe, ohne die Auswahl zu ändern

=if(

Drücken Sie den Aufwärtspfeil und geben Sie dann

=0,1,

Drücken Sie den Aufwärtspfeil und geben Sie dann

+1)

Es wird ungefähr so ​​aussehen:

Bildbeschreibung hier eingeben

Halten Sie die Strg-Taste gedrückt und drücken Sie die Eingabetaste. Jetzt haben alle zuvor leeren Zellen eine Formel wie

=if(A1=0,1,A1+1)

und Zellen zwischen Nullen werden nummeriert. Beachten Sie, dass dies für mehrere Spalten gleichzeitig funktioniert.

Bildbeschreibung hier eingeben

Die Formel in Jason Allers Beitrag funktioniert bei mir überhaupt nicht. Der Vollständigkeit halber hier ein Screenshot der Formel.

Bildbeschreibung hier eingeben

Antwort2

Wenn die einzigen Elemente in der Spalte Nullen und Leerzeichen sind und das erste Element eine Null ist, wählen Sie die Zellen aus, die Sie verarbeiten möchten, und führen Sie dieses kleine Makro aus:

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

Vor:

Bildbeschreibung hier eingeben

und danach:

Bildbeschreibung hier eingeben

Antwort3

Fügen Sie rechts von dieser Spalte eine leere Spalte ein und fügen Sie eine Formel hinzu, die die Zelle links betrachtet. Wenn diese Zelle eine Null ist, wird eine Null eingefügt, und wenn nicht, wird dem Wert in der Zelle darüber eine Eins hinzugefügt. Kopieren Sie dann die Spalte und fügen Sie sie als Werte über der Quellspalte ein und löschen Sie die hinzugefügte Spalte.

Wenn Ihre Spalte beispielsweise Spalte A in Zelle B2 ist, platzieren Sie Folgendes:

=if(A2=0,0,B1+1)

und wenn die Zellen zwischen den Nullen leer sind und keinen Bindestrich enthalten, kann die Formel wie folgt geändert werden:

=if(AND(A2=0, NOT(ISBLANK(A2))), 0, B1+1)

verwandte Informationen