Supportnet / Forum / Tabellenkalkulation
Fortlaufende Zeilennummer in einer Tabelle.
Frage
Hallo,
ich habe ein Problem mit einer fortlaufenden Zeilennumerierung.
Zur Erläuterung soll hier eine 5-zeilige Tabelle dienen.
In der 1. Spalte ist eine laufende Nr. für jede Tabellenzeile vergeben.
Zur Ermittlung der lfd. Nummer in den Zellen A1 bis A5 habe ich folgende Formeln hinterlegt:
1. Zeile
[b][code]=WENN(B1="";"";1) [/code][/b]
(wenn Wert in B1 ungleich blank, dann 1)
2. Zeile
[b][code]=WENN(B2="";"";A1+1)[/code][/b]
(wenn Wert in B2 ungleich blank, dann Wert aus Zelle A1 + 1)
3. Zeile
[b][code]=WENN(B3="";"";A2+1)[/code][/b]
(wenn Wert in B3 ungleich blank, dann Wert aus Zelle A2 + 1)
4. Zeile
[b][code]=WENN(B4="";"";A3+1)[/code][/b]
(wenn Wert in B4 ungleich blank, dann Wert aus Zelle A3 + 1)
5. Zeile
[b][code]=WENN(B5="";"";A4+1)[/code][/b]
(wenn Wert in B5 ungleich blank, dann Wert aus Zelle A4 + 1)
Die fortlaufende Numerierung funktioniert aber nur, so lange, keine Zeile aus der Tabelle gelöscht wird.
Sobald eine Zeile gelöscht wird, kann in den danach folgenden Zeilen keine laufende Nummer mehr ermittelt werden,
Es wird ein Bezugfehler angezeigt [b][code](###)[/code][/b] .
Meine Lösung ist sicherlich nicht optimal, sie entspricht meinen Excel-Kenntnissen.
Gibt es evtl. eine Lösung mittels VBA-Macro?
Bin für jeden Tip dankbar.
Gruss
hanswerner[
Antwort 1 von Beverly
Hi Hanswerner,
=WENN(B5="";"";ZEILE())
Bis später,
Karin
=WENN(B5="";"";ZEILE())
Bis später,
Karin
Antwort 2 von hanswerner
Hallo Karin,
würdest Du mir bitte Deine Antwort etwas näher erläutern?
Gruss
hanswerner
würdest Du mir bitte Deine Antwort etwas näher erläutern?
Gruss
hanswerner
Antwort 3 von Beverly
Hi Hanswerner,
mit dieser Formel wird die laufend Nummer in Abhängigkeit von der jeweiligen Zeilennummer ermittelt. Damit passt sich die laufende Nummer jeweils an.
Bis später,
Karin
mit dieser Formel wird die laufend Nummer in Abhängigkeit von der jeweiligen Zeilennummer ermittelt. Damit passt sich die laufende Nummer jeweils an.
Bis später,
Karin
Antwort 4 von Saarbauer
Hallo,
die lösung von @Beverly, ist ok, gibt aber immer die Zeilennummer wieder. Also in der 5 .Zeile eine 5 usw.
Meine Lösung kann auch Leerzeilen enthalten und bei Löschung einer Zeile wird neu nummeriert.
In Zelle A1 steht 1 und in Zelle A2.
=WENN(ISTLEER(B2);"";MAX($A$1:A1)+1)
Dann nach unten ziehen und in jeder beschriebenen Zeile der Spalte B steht die nächste Zahl.
Gruß
Helmut
die lösung von @Beverly, ist ok, gibt aber immer die Zeilennummer wieder. Also in der 5 .Zeile eine 5 usw.
Meine Lösung kann auch Leerzeilen enthalten und bei Löschung einer Zeile wird neu nummeriert.
In Zelle A1 steht 1 und in Zelle A2.
=WENN(ISTLEER(B2);"";MAX($A$1:A1)+1)
Dann nach unten ziehen und in jeder beschriebenen Zeile der Spalte B steht die nächste Zahl.
Gruß
Helmut
Antwort 5 von CaroS
Hallo Hanswerner,
Du hast 2 etwa gleich gute (aber verschiedene) Möglichkeiten mit Formeln und eine dritte: VBA.
1. Lückenlose, fortlaufende Nummerierung
Wenn Nachbarzelle B leer ist, wird "unsichtbar" weitergezählt.
A1: =WENN(B1=""; ""; ZEILE())
A2 bis A5 markieren, Strg + U
Löschen einer Zeile aus 1:5 ohne Probleme möglich. Nach Einfügen einer neuen Zeile muss die fehlende Formel "per Hand" übertragen werden. Dazu am besten die leere A-Zelle gemeinsam mit der darüber liegenden markieren, Strg + U.
2. Fortlaufende Nummerierung für Nicht-"Leerzeilen"
Wenn Nachbarzelle B leer ist, wird der Zähler in dieser "Leerzeile" nicht weitergezählt.
A1: =WENN(B1=""; ""; 1)
A2: =WENN(B2=""; ""; MAX(A$1:A1) + 1)
A3 bis A5 markieren, Strg + U
Löschen einer Zeile aus 1:5 ohne Probleme möglich. Nach Einfügen einer neuen Zeile muss die fehlende Formel "per Hand" übertragen werden. Dazu am besten die leere A-Zelle gemeinsam mit der darüber und der darunter liegenden markieren, Strg + U.
Gruß,
CaroS
Du hast 2 etwa gleich gute (aber verschiedene) Möglichkeiten mit Formeln und eine dritte: VBA.
1. Lückenlose, fortlaufende Nummerierung
Wenn Nachbarzelle B leer ist, wird "unsichtbar" weitergezählt.
A1: =WENN(B1=""; ""; ZEILE())
A2 bis A5 markieren, Strg + U
Löschen einer Zeile aus 1:5 ohne Probleme möglich. Nach Einfügen einer neuen Zeile muss die fehlende Formel "per Hand" übertragen werden. Dazu am besten die leere A-Zelle gemeinsam mit der darüber liegenden markieren, Strg + U.
2. Fortlaufende Nummerierung für Nicht-"Leerzeilen"
Wenn Nachbarzelle B leer ist, wird der Zähler in dieser "Leerzeile" nicht weitergezählt.
A1: =WENN(B1=""; ""; 1)
A2: =WENN(B2=""; ""; MAX(A$1:A1) + 1)
A3 bis A5 markieren, Strg + U
Löschen einer Zeile aus 1:5 ohne Probleme möglich. Nach Einfügen einer neuen Zeile muss die fehlende Formel "per Hand" übertragen werden. Dazu am besten die leere A-Zelle gemeinsam mit der darüber und der darunter liegenden markieren, Strg + U.
Gruß,
CaroS
Antwort 6 von Saarbauer
Hallo,
bei @CaroS Lösung 2 und meiner kommt im ergebnis das gleiche raus. Ich habe nur für die 1.Zeile eine 1 gesetzt, aber die Lösung von @CaroS ist richtig, da bei einer leeren Zelle B1 der richtige Wert automatisch eingetragen wird.
Gruß
Helmut
P.S. @CaroS wir sollten nicht immer die gleichen Themen bearbeiten, würde doppelte Arbeit sparen. :-))))
bei @CaroS Lösung 2 und meiner kommt im ergebnis das gleiche raus. Ich habe nur für die 1.Zeile eine 1 gesetzt, aber die Lösung von @CaroS ist richtig, da bei einer leeren Zelle B1 der richtige Wert automatisch eingetragen wird.
Gruß
Helmut
P.S. @CaroS wir sollten nicht immer die gleichen Themen bearbeiten, würde doppelte Arbeit sparen. :-))))
Antwort 7 von hanswerner
Hallo zusammen,
also ich bin wirklich beeindruckt, mit so vielen Lösungsantworten in so kurzer Zeit hatte ich nicht gerechnet. Dafür "Herzlichen Dank " an alle Ratgeber.
Gruss
hanswerner
also ich bin wirklich beeindruckt, mit so vielen Lösungsantworten in so kurzer Zeit hatte ich nicht gerechnet. Dafür "Herzlichen Dank " an alle Ratgeber.
Gruss
hanswerner
Antwort 8 von Saarbauer
Hallo @hanswerner,
herzlichen dank für die Rückmeldung.
es wäre für die Helfer aber interessant ob eine für dich passende Lösung dabei ist, wenn ja, welche?
Gruß
Helmut
herzlichen dank für die Rückmeldung.
es wäre für die Helfer aber interessant ob eine für dich passende Lösung dabei ist, wenn ja, welche?
Gruß
Helmut
Antwort 9 von hanswerner
Hallo Helmut,
Du hast Recht, ich melde mich wieder, wenn ich die für mich passende Lösung gefunden habe.
Gruss
hanswerner
Du hast Recht, ich melde mich wieder, wenn ich die für mich passende Lösung gefunden habe.
Gruss
hanswerner
Antwort 10 von CaroS
Hallo Helmut,
ich sollte auch nicht immer so langsam sein und so viel schreiben, das habe ich mir schon öfter gesagt, nur geholfen hat´s nichts.
Aber wenn dann "schlimmstenfalls" doch mal zwei gleiche Lösungen herauskommen anstatt - wie in diesem Fall - etwas Vielfalt, die ich sehr schätze, dann kommt beim Leser vielleicht wenigstens das Gefühl auf, dass an den Vorschlägen ja was dran sein muss.
Manche (vor allem einfache) Dinge sind eben so, wie sie sind. Viel mehr war nicht drin, aber mit weniger muss man sich auch nicht zufrieden geben. Und da wollten wir Beverlys Vorschlag eben beide auf dieselbe Weise ergänzen.
Ich werde Dir wohl auch in Zukunft noch öfter den Vortritt lassen, schöne Grüße,
CaroS
ich sollte auch nicht immer so langsam sein und so viel schreiben, das habe ich mir schon öfter gesagt, nur geholfen hat´s nichts.
Aber wenn dann "schlimmstenfalls" doch mal zwei gleiche Lösungen herauskommen anstatt - wie in diesem Fall - etwas Vielfalt, die ich sehr schätze, dann kommt beim Leser vielleicht wenigstens das Gefühl auf, dass an den Vorschlägen ja was dran sein muss.
Manche (vor allem einfache) Dinge sind eben so, wie sie sind. Viel mehr war nicht drin, aber mit weniger muss man sich auch nicht zufrieden geben. Und da wollten wir Beverlys Vorschlag eben beide auf dieselbe Weise ergänzen.
Ich werde Dir wohl auch in Zukunft noch öfter den Vortritt lassen, schöne Grüße,
CaroS
Antwort 11 von hanswerner
Hallo zusammen,
ich hab mich für die Lösung aus Antwort 4 vom Saarbauer (oder Helmut?) entschieden. Das funktioniert so, wie ich es mir vorgestellt habe und ich kann sie mit meinem derzeitigen Wissensstand von Excel auch nachvollziehen.
Nochmals vielen Dank an alle, die mir Ihre Hilfe angeboten haben.
Gut´s Nächt´le
hanswerner
ich hab mich für die Lösung aus Antwort 4 vom Saarbauer (oder Helmut?) entschieden. Das funktioniert so, wie ich es mir vorgestellt habe und ich kann sie mit meinem derzeitigen Wissensstand von Excel auch nachvollziehen.
Nochmals vielen Dank an alle, die mir Ihre Hilfe angeboten haben.
Gut´s Nächt´le
hanswerner
Antwort 12 von Saarbauer
Hallo,
schön, dass du dich für meinen Vorschlag entschieden hast, aber schreibe in A1 anstatt 1 die abgewandelte Formel von CaroS
=WENN(ISTLEER(B1);"";1)
da sonst auch bei einer leeren Zelle B1 dort 1 steht.
Gruß
Helmut
schön, dass du dich für meinen Vorschlag entschieden hast, aber schreibe in A1 anstatt 1 die abgewandelte Formel von CaroS
=WENN(ISTLEER(B1);"";1)
da sonst auch bei einer leeren Zelle B1 dort 1 steht.
Gruß
Helmut