Excel 2003 - Zellen automatisch durchnummerieren?

farquaharson

Lieutenant
Registriert
Mai 2004
Beiträge
767
Hallo,

ich schreibe gerade ein Paar Rechnungen. Diese bleiben monatlich immer gleich. Lediglich die Rechnungsnummer ändert sich.
Diese ReNr zB 12345 steht in der Zelle E16. Ein Blatt weiter dann in E76 steht 12346; in E136 - 12347 usw..
Eine Möglichkeit wäre es nun in E76 einzutragen: E16+1; in E136: E16+2 usw

Dabe habe ich jedoch das Problem, dass beim Löschen eines Rechnungsblattes, dann eine Nummer Rechnungsnummer fehlt und alle Nachfolgenden REs um -1 von Hand geändert werden. Bzw beim Einfügen eines neuen Empfängers alle nachfolgenden Nummerierungen wieder von Hand +1 erhöht werden.

Gibt es dafür eine elegantere Lösung?

Meinen Dank schon mal vorab.
 
Zuletzt bearbeitet: (Die RE-nummer steht in Zelle E16 nicht in E15!)
Wie es scheint, sind die Abstände zwischen den Rechnungsnummern variabel?
Was mir für den Fall einfällt ist, E15 als Referenzwert zu nehmen und dann die Anzahl der Rechnungsnummern zählen. Nehmen wir an, du hast in Spalte D einen Text 'Rechnungsnummer:' stehen:
Code:
=IF(EXACT(D76;"Rechnungsnummer:");$E$15+COUNTA($D$15:D75);"")

Das kannst du dann einfach nach unten erweitern. Wenn in der aktuellen Zeile Rechnungsnummer steht, zählt die Formel alle Texte die mit "Rechnungsnummer" übereinstimmen und addiert diesen Wert auf den Wert in E15.
 
Das hat leider nicht geklappt. Vielleicht habe ich es auch nur falsch eingegeben. Mit kopieren und einfügen beschwert sich jedoch excel, dass das erste " hinter Rechnungsnummer in deiner formel falsch ist.

Anbei hänge ich mal ein PDf der RE damit ihr sehen könnt wie die RE aussieht. Die Gitternetzlinien sind normalerweise nicht sichtbar.
 

Anhänge

Komisch. Bei mir klappt es. Man muss nur bedenken, dass die Formel, die ich dir kopiert habe in Zeile 76 bei dir platziert werden sollte. D.h. 'D75' und 'D76' sind genau für diese Zeile gültig. Wenn du die Formel einmal in die korrekte Zelle eingefügt hast, sollte Excel das für alle anderen automatisch machen.

Bei deinem Layout wäre übrigens ein COUNTIF besser als das COUNTA:
Code:
=IF(EXACT(D76;"RE.-Nr.:");$E$15+COUNTIF($D$15:D75;"RE.-Nr.:");"")

...oder falls du R1C1 Referenzierung benutzt:
Code:
=IF(EXACT(RC[-1];"RE.-Nr.:");R15C5+COUNTIF(R15C4:R[-1]C[-1];"RE.-Nr.:");"")

Funktioniert bei mir ohne Probleme. Ich habe allerdings ein englisches Excel. Kann es sein, dass selbst bei Excel 2003 die Formeln an die jeweilige Sprachversion gebunden sind??:freak:
Ich kann mich noch dunkel an so etwas erinnern....

Edit: Ja. kann es. Setz mal statt 'COUNTIF' 'ZÄHLENWENN' und statt EXACT' 'IDENTISCH' ein:
Code:
=WENN(IDENTISCH(D76;"RE.-Nr.:");$E$15+ZÄHLENWENN($D$15:D75;"RE.-Nr.:");"")
Ach ja: IF = WENN^^
Klingt irgendwie komisch und testen kann ich es auch nicht aber vielleicht klappt es ja :)
 
Zuletzt bearbeitet:
=WENN(IDENTISCH(D76;"RE.-Nr.:");$E$16+ZÄHLENWENN($D$16:D75;"RE.-Nr.:");"")

habe die formel abgeändert. die rechnungsnummer steht in zelle E16 und nicht in E15 wie ganz zu anfang geschrieben (siehe edit 1. post)

Mit der Formel berechnet er mir nun die Zelle E76 korrekt. (zB 100+1 )
(Zelle E76 ist die Zelle in der die Re-Nummer der 2. Seite steht)
Für Zelle E136 (Zelle der Re-Nr. der 3. Seite) funktioniert das allerdings nicht.
Beim Kopieren und Einfügen der o.g. Formel schreibt er mir dann 100+1 rein anstatt 100+2

Es muß doch möglich sein Zellen automatisch durchzunummerieren wenn dazwischen eine oder mehrere Leerzeilen liegen?
 
Kopiere mal die Formel aus Zelle E76 und füge die in E136 ein. Ich vermute mal, du hast die Formel aus dem Browser kopiert und in beide Zellen eingefügt. Bei mir hat Excel die Referenzen angepasst, wenn ich von einer Zelle in eine andere kopiert habe aber dann geht es einwandfrei.

Ansonsten kannst du unter Extras->Optionen->General (Allgemein im deutschen Excel?)-> R1C1 Referenz style ein Häkchen machen und diese Formel nehmen:
Code:
=IF(EXACT(RC[-1];"RE.-Nr.:");R16C5+COUNTIF(R16C4:R[-1]C[-1];"RE.-Nr.:");"")
Hier werden die Referenzen bezüglich der aktuellen Zelle gebildet. D.h. er geht eine Zelle nach links (RC[-1]) und vergleicht den Inhalt mit "RE.-Nr.:". Dann zählt er alle vorkommen von "RE.-Nr.:" von Zeile 16, Spalte 4 (D16) bis zur Zelle, die links über der aktuellen liegt - also Zeile-1 und Spalte-1 - und addiert das zum Wert in Zeile 16, Spalte 5 (E16)

Formelbezeichnungen musst du natürlich wieder anpassen.
 
:volllol::daumen: - Prima, jetzt klappts!

jetzt noch ein letztes...
und zwar ist eine Rechnung dabei, die zu einem anderen Datum erstellt wird (Monatsende, alle anderen zur Monatsmitte) und daher nicht mitgezählt werden darf.

Erstens könnte ich den Zellinhalt aus Zelle D1234 von [RE.-Nr.:] abändern in [RE-Nr.:] damit würde sie aus der Autonummerierung herausfallen.
Zweite Möglichkeit wäre die Rechnung komplett zu löschen und separat zu erledigen.

Beides machbar. Gibt es evtl. eine elegantere Möglichkeit, eine Erweiterung der o.g. Formel, die den Zellinhalt von zB D1234 überspringt und nicht mitzählt?

Wenn es nicht geht ist das auch kein Problem. :)
Bin ja so schon zufrieden.
 
Bestimmt ginge das auch irgendwie aber besonders schön ist es sicherlich nicht. Wenn das öfter vorkommt, würde die Formel ziemlich lang werden. Text ändern ist da sicherlich die einfachere Möglichkeit.
Alternativ kannst du natürlich auch statt des Re.-Nr. in eine Spalte (z.B. J), die nicht gedruckt wird etwas eintragen und diese Einträge dann zählen.
Du könntest in die neue Spalte auf Spalte 'D' referenzieren
Code:
=WENN(IDENTISCH(D1;"RE.-Nr.:");D1;"")
Das dann nach unten erweitern und für die Re.-Nr.: die du nicht mitzählen möchtest, löschst du einfach die Formel in der Zelle.

Deine original-Formel musst du dann halt so anpassen, dass statt Spalte D dann z.B. Spalte J ausgewertet wird.

Würde dann also so aussehen:
Code:
Spalte D    Spalte E    Spalte F    Spalte G    Spalte H    Spalte I    Spalte J    
Datum:      16.02.2009
RE.-Nr.:    91050                                                       RE.-Nr.:
....
RE.-Nr.:    91051
91051 ist dann die Rechnung, die nicht auftauchen soll. Also löschst du die Zelle in der Spalte 'J'. Spalte 'J' kannst du dann verstecken
 
Zurück
Oben