Wie vergibt man eine eindeutige ID in Excel?

3 Antworten

Ich mach dies immer per Makro.
"Zeilen ID" ist (MAX aller bisherigen Zeilen) + 1.
Die ID ist dann Formel unabhängig und bleibt auch für alle zeit gleich.
Dies ist besonders dann wichtig, wenn Daten exportiert werden.
Hier sollten sich die IDs nie wieder ändern.

Hallo,

leider ist mir die Aufgabenstellung nicht ganz klar. Jede Zeile hat bereits eine eindeutige ID - nämlich die jeweilige Zeilennummer.

LG, Chris

Huuss 
Fragesteller
 12.01.2021, 12:51

Wenn ich eine Zeile lösche, lautet die Durchnummerierung leider nicht 10,11,13... sondern ja wieder 10,11,12,13...

1
Funfroc  12.01.2021, 12:56
@Huuss

Das hat auch seinen Sinn, da z.B. Formeln ja auf die Adressierung der Zellen Bezug nehmen.

Wenn du also das beschriebene haben willst, wäre es sicher am einfachsten, in der ersten Spalte einfach selbst eine laufende Nr. zu führen.

1
Huuss 
Fragesteller
 12.01.2021, 13:00
@Huuss

Angenommen ich lösche die Zeile 12, mit der Nummerierung 12, dann bleibt Zeile 12 Zeile 12 nur die Nummerierung ist dann 10,11,13,14.... Nun möchte ich, wenn ich zwischen 13 und 14 eine neue Zeile einfüge das die dann die Zahl von der letzten Zahl der Nummerierung bekommt. Angenommen meine Nummerierung geht bis 50, dann soll diese Zeile automatisch die 51 bekommen

1
jgobond  12.01.2021, 13:09
@Huuss

=Count($A$1:A1). Nach unten kopieren.

1
Huuss 
Fragesteller
 12.01.2021, 14:04
@jgobond

Excel zeigt mir an #NAME? Habe es in A1 eingetragen

1
Funfroc  12.01.2021, 16:11
@jgobond

Hat er/sie doch geschrieben, deine Formel wurde in A1 eingetragen.

Kann natürlich nicht funktionieren, weil die Formel immer 0 ausgeben wird. Davon abgesehen, dass die Formel COUNT in einem deutschen Excel natürlich #NAME? ausgibt, weil die Formel nicht bekannt ist. Im deutschen Excel wäre es ANZAHL, die wie beschrieben, 0 als Ergebnis liefern würde.

Aber auch eine ANZAHL-Funktion, so angewendet, wie du es vermutlich vorhattest, wird nicht das vom Fragesteller gewünschte Ergebnis bringen.

Er/sie will, dass beim löschen der Zeile die jeweilige ID verschwindet. Passiert bei der Formel aber nicht. Wenn ich die Zeile mit der ID 3 löschen würde, würde die alte ID 4 nun zur ID 3.

Er/sie will, dass beim einfügen einer neuen Zeile zwischen zwei bereits bestehenden Zeilen mit der höchsten Nr. + 1 fortgefahren wird... also wenn zwischen 12 und 13 eine Zeile eingefügt wird, soll ID 51 stehen, weil die bisher höchste 50 war. Macht deine Formel auch nicht.

@Huuss: Was du möchtest, wird sich vermutlich mit den gewöhnlichen Bordmitteln und Formeln nicht umsetzen lassen.

Ich gehe davon aus, dass hierfür ein VBA geschrieben werden muss. Da bin ich leider nicht so Firm, dass ich dir das einfach aus dem Handschuh zaubern könnte.

Ich würde vermutlich ein Worksheet_Change Ereignis zugrunde legen, mit IF Funktion prüfen, ob eine Zeile eingefügt wurde und dann eine MAX()+1 Funktion ausführen lassen. Ist aber nur der erste Gedanke - ob es so funktioniert, bin ich nicht sicher.

Die Frage ist aber auch, ob hier nicht viel eher die Erfassungslogik überdacht werden sollte, also eine Krücke mit VBA zu basteln.

LG, Chris

1
Er/sie will, dass beim löschen der Zeile die jeweilige ID verschwindet.

tut er das?

Nun möchte ich, wenn ich zwischen 13 und 14 eine neue Zeile einfüge das die dann die Zahl von der letzten Zahl der Nummerierung bekommt.
Hat er/sie doch geschrieben, deine Formel wurde in A1 eingetragen.

das wäre dann ja ein bezug auf sich selbst.

Aber mir wurscht. Ich beherrsche in excel alles was ich brauche. Also nicht mein Problem.

Funfroc  12.01.2021, 20:25

Schön von oben herab... aber nicht in der Lage einen Kommentar, statt einer Antwort hier zu schreiben. Daher nicht böse nehmen, wenn ich gleiches jetzt hier mache - etwas von oben herab.

Er/sie will, dass beim löschen der Zeile die jeweilige ID verschwindet.
tut er das?

Ja, geht aus dem Kommentar in meiner Antwort, auf welchen du geantwortet hast hervor. Lesen - Verstehen.

Nun möchte ich, wenn ich zwischen 13 und 14 eine neue Zeile einfüge das die dann die Zahl von der letzten Zahl der Nummerierung bekommt.

Und das hätte deine Formel als getan? Interessant. Deinem letzten Satz zu folge, brauchst du das also scheinbar nicht.

das wäre dann ja ein bezug auf sich selbst.

Ja, richtig. Aber wenn halt ein Excel-Anfänger hier fragt, ist diesem das vielleicht nicht klar.

Aber mir wurscht. Ich beherrsche in excel alles was ich brauche. Also nicht mein Problem.

Schön für dich - das bringt den Fragesteller bestimmt weiter.

Ich versuche zu hier zu helfen, auch wenn es nicht immer zur Lösung führt und lasse mich dabei auch gerne von anderen mal berichtigen. Wenn du nicht helfen willst, dann lass es doch einfach - das Fehlen deiner Antwort hätte keiner vermisst.

1
jgobond  12.01.2021, 21:31
@Funfroc

ich hab deinen Kommentar nicht bis zum Ende gelesen. War auch nicht so wichtig, oder?

1