Duplikate aus Rohtabelle (Excel) entfernen und für den Import in Access bereit machen?

...komplette Frage anzeigen

3 Antworten

ich verstehe dich so, dass Du alle Einträge gelistet haben willst, aber eine pro Vor+Nachname spezifische Personen-ID vergeben willst in einer eigenen Spalte. Und dass die Reihenfolge nicht verändert werden soll? Geht in xl so:

Füge vor A eine Spalte ein mit fortlaufenden Zahlen ggf über die Formel =Zeile(A1), Doppelklick aufs Ausfüllkästchen: Die Formel wird nach unten kopiert, solange in B:B was steht.

Jetzt Spalte A am Spaltenkopf markieren, kopieren, als WERTE einfügen: die Zahlen sind jetzt Konstanten. Du brauchst sie, um am Ende die Originalreihenfolge wiederherstellen zu können.

Nun sortierst du alles nach Priorität 1.Name, 2.Vorname (ggf weiteres Kriterium, zB Postleitzahl oder sonst. Adressbestandteile), wenn Du so viele Namen hast, denn da tauchen sicher mehrere Hans Huber auf?), hast danach also alle gleichen Namen direkt nacheinander stehen. Oberhalb von allem fügst du eine Leerzeile ein, so dass der erste Name frühestens in Zeile 2 Kommt.

Nun in der Spalte(zB K für Kennziffer), wo(evtl nur vorläufig) die Personennnummer stehen soll die Formel:

K2: =wenn(Und(B2=B1;C2=C1;ggf.weiteresKritgleich);K1;Text(Zeile(K2);"000000"))

diese Formel kopierst du wieder runter bis ans Ende (ggf Spalte vorher nach links schieben, falls Lücken in Zellen links davon auftreten)

Ob diese Art der Nummernzuweisung sinnvoll ist, weiß ich nicht, sie hat Lücken.

die Teilformel könnte auch sein ;Text(K1*1+1;"000000") ,  das ergäbe lückenlos fortlaufende IDs.Kannst in K1 auch eine Startnummer eintragen, falls du keine kleinen Nummern haben willst. [Anm: eine Textzahl wird in xl rechnerisch verwertet, sobald man eine mathematische Operation damit durchführt, in diesem Fall +1]

Jede Zeile hat nun die gleichen Nummern für die gleichen Namen und unterschiedliche für verschiedene Namen (orientiert sich am Sortierkriterium, zB aufsteigend Alphabet. Wird sich aber beim Hinzukommen neuer Namen ändern).

Spalte wieder kopieren, als WERTE einfügen, so dass die vergebenen Nummern unverändert bleiben.

Bei Bedarf zurücksortieren nach der anfangs eingeführten Zahlenspalte, diese kann anschließend gelöscht werden.

Ob Du das nach Access transportieren willst oder in xl belassen: ich kenn mich in Access nicht aus und persönlich in xl weiter arbeiten, das ist aber Deine Sache.

War es das, was du wolltest?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Iamiam
01.08.2016, 21:29

Du kannst hinterher natürlich auch nach Auftragsnummern sortieren, zB fallend, so dass die letzten Aufträge (höchsten Auftragsnummern) oben stehen.

Am besten vergibst du einen Namen für den gesamten zu sortierenden Bereich, dann sparst du Dir die nicht unerhebliche Mühe, so eine Riesentabelle jedesmal neu zu markieren.

Kannst dazu ja noch "ein paar" Zeilen pro forma füllen; Name ZZZ Vorname ZZ0001, das füllt sich dann auf bis zu zB ZZ9999, Auftragsnummern 990000)>999999 daraus kannst Du dann Neueinträge generieren, muss aber nicht sein. Eine Zeile mit ZZZ  ZZ 999999 reicht, darüber --bzw wenn 999999 oben: darunter-- immer wieder eine Zeile neu einfügen für den nächsten Eintrag - xl erweitert den benannten Bereich entsprechend.

0

Frag Dich, was in Access eine eindeutige Information werden soll.

Ich nehme mal an, jede Auftragsnummer wird es nur einmal geben.

Dann markierst Du die Spalten A-C (oder eben die, die Deine Daten enthalten). Dann Reiter Daten --> Duplikate entfernen. Hier kannst Du auswählen, wo es keine Duplikate mehr geben darf, in dem Du Häckchen bei den jeweiligen Spalten setzt. Bestätigen und fertig.

Jetzt hast Du eine Tabelle, in der Nach- und Vornamen doppelt sein können, die Auftragsnummer ist aber eindeutig.

Jetzt kannst Du das Ganze in Access importieren und die Auftragsnummer als eindeutigen Primärschlüssel setzen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von mali1234
01.08.2016, 16:24

Die Auftragsnummer ist eindeutig. Exakt. Allerdings möchte ich folgendes schaffen: der vor und nachname gehören der gleichen person, sodass ich eine personen-id brauche, und jede person kann mehrer aufträge haben. wie mache ich das, damit alle duplikate raus sind?

0
Kommentar von Orsovai
01.08.2016, 16:26

Welche Duplikate willst Du raus? In der Auftragsnummer oder in den Namen?

Durch meine Methode hast Du nachher doppelte Namen und eindeutige Auftragsnummern.

0
Kommentar von Orsovai
01.08.2016, 17:26

Ich glaub wir reden etwas aneinander vorbei. Es ist okay, mehrmals den Namen vorkommen zu haben. Anders lässt sich eine 1:n Beziehung umzusetzen. Entweder hast Du Namen in Klartext dastehen oder referierst über eine ID.

0

Typischerweise würde man pro Person eine ID vergeben.

Dann machst du aus der einen Tabelle zwei, nämlich

Person-ID, Vorname, Name und
Auftragsnummer, Person-ID

In der zweiten Tabelle ist die Auftragsnummer eindeutig. Das bedeutet, dass die Personen-IDs mehrfach vorkommen können.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von mali1234
01.08.2016, 16:18

ok, vielen dank für deine info. ich weiß, wie es geht, wenn man es plant. darum geht es mir aber nicht.

Bitte geh von dem Fall aus, dass die Tabelle bereits existiert mit Millionen Einträgen. Wie kann ich sie dann aufteilen?

Sollte ich es in Excel oder schon in Access machen? Und wie?

Ich möchte sozusagen eine riesige Tabelle, die aus Excel kommt normalisieren.

0

Was möchtest Du wissen?