
Ist es möglich, so etwas in Excel zu machen? Wie eine Liste aktiver Zeilen mit einer Ordnungszahl darin.
Es gibt eine Spalte B. Sie muss eine Ordnungszahl enthalten, die die aktive Zeile im Arbeitsblatt darstellt. Sehen Sie sich das Bild an.
Wenn die Zeile inaktiv ist, enthält Spalte B keine Ordnungszahl. Wenn ich nuneinige Ordnungszahlen löschenAb Spalte B muss die Ordnungsreihenfolge entsprechend aktualisiert werden. Nehmen wir an, ich entferne den Text aus Zelle B7. Wie kann ich dafür sorgen, dass Spalte B ihre Werte aktualisiert? Sehen Sie sich das Bild an.
Ist es möglich, dies auf einfache Weise zu tun, ohne viel Skriptcode schreiben zu müssen?
PS. Ich bin kein Excel-Experte, daher wäre es toll, wenn es eine einfache Lösung über die eingebetteten Formeln von Excel gäbe. :) PPS. Diese Funktion ähnelt der nummerierten Liste von Word. Wenn ich ein Listenelement lösche, aktualisieren nachfolgende Elemente ihre Werte entsprechend.
BEARBEITEN
In Spalte A sind alle Aufgaben von 1 bis X aufgelistet. In Spalte B sind aktive Aufgaben aufgelistet. Sie sind nach ihrem Status sortiert (aktiv, inaktiv). Wenn ich eine bestimmte Aufgabe erledigt habe (z. B. die 7. Aufgabe), lösche ich einfach ihren Wert in Spalte B und korrigiere dann alle nachfolgenden Zahlen manuell. Auf diese Weise weiß ich, wie viele aktive Aufgaben ich habe und welche aktiv sind.
Bitte sagen Sie, wenn noch Unklarheiten bestehen und welcher Teil weiterer Erklärung bedarf!!!
PS. Aufgaben werden in den Spalten C, D und E beschrieben, aber dieser Teil war hier nicht relevant.
Antwort1
Ich denke, es wäre einfacher zu handhaben, wenn Sie eine zusätzliche Spalte hätten, in der Sie einfach markieren könnten, ob eine Zeile aktiv ist, beispielsweise mit einem „x“. Dann könnten Sie den Ordinalrang jeder aktiven Zeile automatisch in der nächsten Spalte berechnen lassen.
Wenn Sie beispielsweise in Spalte B „x“ eintragen, um anzuzeigen, dass die Zeile aktiv ist, können Sie in Spalte C Folgendes eingeben (in C2
):
=IF(B2="x",MAX(C$1:C1)+1,"")
Tragen Sie dies anschließend in die Spalte ein.
Antwort2
Basierend auf Vorschlägen habe ich den richtigen und einfachen Weg gefunden, dies zu tun. Einfach max
die Funktion verwenden.
Die Formel lautet=MAX($B$X:BY)+1
Beispielsweise gebe ich in Zelle B2 eine Formel ein =MAX($B$1:B1)+1
und kopiere sie dann in alle anderen Zellen in Spalte B und voilà – ich habe, was ich brauche. Ich kann jeden Zellenwert löschen und alle nachfolgenden werden sofort aktualisiert.
Danke Leute!
Antwort3
Ohne zu wissen, wie die Eingabe dorthin gelangt oder wofür sie verwendet wird, können Sie Folgendes versuchen:
Wenn Sie in Zelle B1 „1“ eingegeben haben und die folgende Formel in Zelle B2 kopieren:
=IF(B1 = "", OFFSET(B1,-1,0)+1,B1+1)
Damit können Sie eine Liste verwalten und einen einzelnen Bereich löschen. Wenn Sie zwei Zellen löschen möchten, müssen Sie einen weiteren if-Block hinzufügen, um jede vorherige Zelle zu überprüfen.
Notiz: Offset
ermöglicht das Löschen des Inhalts einer Zelle und das „Sprung nach oben“ in der Liste, wenn die darüber liegende Zelle leer ist
Die Verwendung eines Schleifenmakros würde eine größere Skalierbarkeit ermöglichen.
Weitere Einzelheiten zu Ihrem Ziel wären sehr hilfreich.