Wie Daten aus Tabelle in eine andere übertragen? ("Verknüpfung" in Excel/Access)

D

dbones

Gast
Hi Leute,

vielleicht kann mir ja einer bei meinem Problem helfen. Ich habe zwei Excel-Tabellen vorliegen. Die eine enthält u.a. zwei Spalten, ich nenne sie mal ABC und CDE, die andere ebenfalls, ich nenne sie mal 123 und 456. Die Spalte 456 ist die einzig leere, die im Folgenden zu befüllen ist. Natürlich sind da noch weitere Spalten, aber die sind irrelevant.

Ich möchte nun folgendes machen: es soll verglichen werden, ob die Werte in der Spalte 123 denen in der Spalte ABC entsprechen. Wenn ja, soll der entsprechende Wert in der Spalte CDE in die Spalte 456 übernommen werden.

Da dies möglichst automatisiert ablaufen sollte, wird wohl eine Formel/Funktion am logischsten sein. Ich denke mal, sowohl Excel als auch Access bieten für solche Fälle Lösungen an. Mit Excel habe ich mich noch nicht befasst. Falls es dazu also Tipps gibt, nehme ich die gerne an.

Mit Access habe ich das selbst mal ausprobiert, bin aber auf ein lästiges Problem gestoßen. Ich habe einfach beide Tabellen importiert und eine Abfrage erstellt. In die Abfrage habe ich beide Tabellen integriert. In die Kopfzeile der zu befüllenden Spalte 456 habe ich folgende Funktion reingeschrieben:

WENN([123]=[ABC];[DEF])

Durch diese Abfrage wurden dann über 770.000 Datensätze generiert, also eine riesige Tabelle, aber meine Anfrage wurde nicht bearbeitet.

Dann habe ich zur Probe mal eine der Tabellen durch eine kleine selbstgebastelte Tabelle ersetzt und dort ein paar Werte eingegeben, nur um zu sehen, ob mit einer der Tabellen was nicht stimmt oder der Import nicht gut funktioniert hat. Über die Abfrage wurde die Spalte dann tatsächlich befüllt. Das Problem aber auch hier: es wurde exakt doppelt so viele Datensätze ausgegeben wie vorhanden waren. Jede Zeile war doppelt vorhanden und nur jede zweite war mit dem Ergebnis befüllt.

Weiß jetzt vielleicht jemand, wie man diese mehrfach-Datensätze verhindern kann und wie vielleicht eine perfekt fehlerfreie Funktion für solch einen Fall aussehen muss? Mir wär's sogar lieber, wenn jemand eine Excel-Lösung parat hätte, dann könnte ich mir das Importieren auch noch sparen.

Ich hoffe, es ist klar geworden, was das Problem ist. Würde mich über eure Hilfe freuen. Danke und Gruß!
 
Zuletzt bearbeitet:

ecki43

Cadet 4th Year
Dabei seit
Apr. 2007
Beiträge
74
Hallo,

Beispiel: =WENN((A1=E1);B1;"") wäre nach deiner Schreibweise =WENN(("ABC"="123");"DEF";"")

wobei der Buchstabe die Spalte, die Zahl die Zeile bezeichnet, diese gibst du in "E1" ein und kopierst sie so weit wie gewünscht in der Spalte nach unten, die Zeilennummern passen sich an da es ein relativer Bezug ist.

Du musst nur die Spaltenbezeichnungen in deiner Formel anpassen und natürlich auch die Zeilennummer (hier "1") muss korrekt sein.


mfG Ecki

edit: das kommt vom schnellen Lesen, zwei Tabellen, liegen die in einer Datei, (also Tabelle1 u. Tabelle2) oder jeweils in einer anderen Datei. Am Prinzip ändert sich aber nichts, die Formel wird nur etwas länger.
 
Zuletzt bearbeitet: (Faselfehler)

ecki43

Cadet 4th Year
Dabei seit
Apr. 2007
Beiträge
74
hier ein Beispiel, wenn die Ergebnisspalte "456" auf Tabelle 2 der gleichen Datei liegt.

=WENN((Tabelle1!A1=E1);Tabelle1!B1;"")
 
D

dbones

Gast
Danke für die Antwort, aber leider werde ich aus Deiner Antwort nicht so ganz schlau. Ich bin ja nicht gerade der Office-Crack.

Eines kann ich Dir aber schon mal sagen: die Tabellen sind in verschiedenen Dateien. Zur Not kann ich in Excel doch aber beide zusammenfügen, oder? Ich habe nämlich mehrere Tabellen, die mit der einen auf diese Weise verglichen werden müssen. Da könnte ich ja einfach die Vergleichstabelle bei allen anderen auf ein weiteres Tabellenblatt übertragen.

Trotzdem bin ich nicht so sicher, was ich mit Deiner Antwort anfangen soll :(. Z.B. habe ich nicht so recht verstanden, was Du mit A1...E1 meinst. Bei mir sind ABC, DEF, 123 und 456 nämlich nicht die Spalten und Zeilen, sondern nur die Spalten. ABC und DEF sind Spalten in der einen Tabelle, 123 und 456 in der anderen. Und sind in Deiner Formel die Anführungszeichen um ABC, 123 und DEF nicht falsch? Mit Anführungszeichen werden doch exakt die darin eingeschlossenen Ausdrücke und nicht die Werte wiedergegeben, oder?

Danke und Gruß!


EDIT: ich konnte Deine Formel jetzt zwar doch anwenden, aber habe ein Problem damit. Mir ist es nämlich wichtig, dass jede Zelle der einen Tabelle mit der gesamten Spalte der anderen verglichen wird. Die beiden haben nämlich nicht dieselbe Struktur und deshalb kann ich in der Formel nicht genau sagen, wo nach demselben Wert gesucht werden soll. Genau das verlangt die Formel aber...oder doch nicht?


EDIT 2: Ich habe jetzt mal ein bisschen was mit "SVERWEIS" probiert. Ich glaube der könnte mein Problem lösen, auch wenn er momentan beim Spaltenindex einen Fehler ausspuckt. Ich probier's mal weiter...


EDIT 3: Wollte nur mal sagen, dass ich nun in Excel eine Lösung mit "SVERWEIS" gefunden habe. Ist zwar nicht so elegant wie eine Access-Lösung, aber erfüllt seinen Zweck. Danke!
 
Zuletzt bearbeitet:
Top