Clever-Excel-Forum

Normale Version: Eindeutige ID für jede Zeile vergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ich brauche in eine Formel, die eine automatische ID für jede Zeile vergibt und automatisch für jede neue Zeile "hochzählt".

Die ID soll für jede Zeile fest bleiben, d.h. auch wenn z.B. nachträglich eine Zeile zwischen den anderen Zeilen hinzugefügt wird (z.B. aufgrund nachträglichem Eintrag für 15.11.2021), UND der neu hinzugefügte Eintrag soll ebenfalls die nächsthöhere ID zugewiesen bekommen.

(Optional:)
Schön wäre es noch, wenn ich die Ausgangszahl festlegen könnte, z.B. wenn ich möchte dass die ID ab der Zahl 3456 weitergezählt wird.

In der Beispiel-Datei wird ersichtlich, was ich benötige.

Falls es wichtig ist: In der Arbeit habe ich leider nur Excel 2016 zur Verfügung.

Herzlichen Dank!
[attachment=41030]
Hola,

ich glaube nicht dass das mit einer Formel möglich ist.
Gruß,
steve1da
Echt? Aber das würde auch erklären warum ich bisher keine Lösung gefunden habe... Confused

Wie wäre es dann evtl. mit einer zufälligen ID? Hauptsache, diese ist eindeutig und verändert sich nicht mehr.
Hallo,

mit VBA sollte es gehen:

Zuerst eine Formel für die nächste ID in die Zelle schreiben, dann mit "copy/ paste value" permanent machen.

Ist VBA möglich?

mfg
Leider nein, da ich von VBA keinerlei Ahnung habe. Angel
Hallöchen,

stelle bei den Optionen die Iterationszahl auf 1 und verwende diesen Ansatz. Die Zahl wird eingetragen, wenn Du in B etwas einträgst.
Wenn Du eine intelligente Tabelle nimmst, wird die Formel automatisch beim Einfügen einer Zeile hier in die neue Zelle in A übertragen.
Beim Anfügen unter die Daten wäre es bei einer iT vorteilhaft, wenn Du noch eine Spalte hättest und die Tabelle über einen Eintrag dort erweiterst.
Warum? probier's mit diesem Beispiel aus Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
11s
22t
34o
43u

ZelleFormel
A1=WENN(B1<>"";WENN(A1="";MAX(A:A)+1;A1);"")
A2=WENN(B2<>"";WENN(A2="";MAX(A:A)+1;A2);"")
A3=WENN(B3<>"";WENN(A3="";MAX(A:A)+1;A3);"")
A4=WENN(B4<>"";WENN(A4="";MAX(A:A)+1;A4);"")
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg
Vielen Dank - ich werde es damit versuchen.

Darf ich noch fragen was es bewirkt wenn man Iteration auf 1 stellt? Vorher war 100 eingestellt?
Hallöchen,

100 geht auch, aber 1 ist zumindest theoretisch schneller. Smile
Wow, man kann tatsächlich Formeln mit Zirkelbezug in Excel verweden? Das gibt's aber nicht schon immer, oder?
Hallo MT,

saudumme Frage: Warum nimmst Du nicht einfach die Zeilennummer als ID?
Code:
= ZEILE()
Wenn Du noch eine Bezeichner für das Arbeitsblatt benötigst, schreibst Du den in Zelle A1. Dann lautet die Formel 
Code:
=$A$1 & (ZEILE()-1)
Deine Liste beginnt jetzt bei 1, weil ja Zeile-1. Runterkopieren und gut ist's.

Grüße
Seiten: 1 2