[EXCEL] Werte aus einer Tabelle automatisch in andere Tabelle übertragen und zuordnen

Bruzla

Commodore
Registriert
Okt. 2013
Beiträge
4.098
Servus,

ich hab folgende Aufgabe:

2 Excel listen, eine nur mit Artikelnummern (Liste 1) die Andere mit Artikelnummer UND Attributen zu den Artikeln (Größe, Gewicht usw.) (Liste 2)


Das Problem ist das die Artikelnummern (sind ziemlich viele... ) in den beiden Listen in unterschiedlicher Reihenfolge vorkommen.

Ich hab die Aufgabe die Artikelnummern aus beiden Listen zu vergleichen und die Attribute aus Liste 2 automatisch in die Liste 1 zu übertragen. Natürlich sollen die richtigen Attribute zur richtigen Artikelnummer.





Hier ein Beispiel:


Liste 1:

Artikelnummer: Größe: Gewicht: Etc:


12345678 LEER LEER LEER

Liste 2:

Artikelnummer: Größe: Gewicht: Etc:


12345678 Wert 1 Wert 2 Wert 3


Die Werte sollten also Automatisch von einer Excelliste in die andere (LEER) übertragen werden.


Habt ihr eine Lösung oder Lösungsansätze für mich? Office Version = 2013

Ich hoffe ihr versteht was ich meine.. ;-)

Vielen Dank schon mal und schöne Grüße,
Jonas
 
Zuletzt bearbeitet:
Mit einem SVERWEIS dürfte das gehen.
Vorher deine beiden Blätter nach Artikelnummer aufsteigend sortieren.
 
Danke für den Tipp :-)

Ich kann nur eine Liste sortieren, die andere ist FIX da von einer anderen Firma.
 
Was heißt FIX?
Die bearbeitung ist gesperrt?
Du machst das doch nur einmalig oder?
Kannst du dir keine Kopie machen und dann ändern?
Ist das die Liste mit den Werten?
 
FIX heißt, dass die eine Liste so wie sie ist nur mit den zugeordneten Werten wieder zurück an die Firma muss.
 
Aus der Excel 2007 Hilfe zum SVERWEIS:

"Wenn Bereich_Verweis entweder WAHR oder nicht belegt ist, müssen die Werte in der ersten Spalte von Matrix in aufsteigender Sortierreihenfolge geordnet sein, andernfalls gibt SVERWEIS möglicherweise nicht den richtigen Wert zurück."
Ergänzung ()

filtern und sortieren ändert ja nichts an der Struktur. Somit sollte das möglich sein.
Beide Tabellen aufsteigend sortieren dann den SVERWEIS:

z.b.


Tabelle 1:
Spalte A; Spalte B; Spalte C;
Zeile 1: Artikelnummer Wert1 Wert2
Zeile 2: 12345


Tabelle 2:

Spalte A; Spalte B; Spalte C;
Zeile 1: Artikelnummer Wert1 Wert2
Zeile 2: 12345 A B

In Tabelle 1 dann z.B. den SVERWEIS in Feld B2: =SVERWEIS(A2;Tabelle2!A1:C2;2;WAHR)
 
Zuletzt bearbeitet:
Vielen Dank schon mal für die Antworten!

Wenn ich weitergekommen bin (oder auch nicht), meld ich mich nochmal.
 
Folgende Lösung sollte funktionieren, wenn die zuzuordnenden Werte numerisch sind:

{=summe(n(A1=Tabelle2!A:A) * Tabelle2!B:B)}

In A1 steht die Ausgangsnummer.
Tabelle2!A:A ist der Bereich der "fremden" Artikelnummer.
In Tabelle2!B:B stehen die Werte 1, die der Ausgangstabelle zugeordnet werden sollen.
Für "Wert 2" etc. muss die Formel entsprechend angepasst werden.

Wichtig ist, dass z. B. Tabelle2!A:A und Tabelle2!B:B immer die gleich Zeilenzahl aufweisen.
Die geschweifte Klammer (Matrixformel) wird mit <Shift> + <StrG> und <Enter> erzeugt.

Viel Spaß beim probieren ;-)
 
Hi,

richtig einfach geht es mittels VBA,
einfach ein Modul in dein Workbook mit den Artikelnummern hinzufügen und den Code einfügen (Namen der Workbooks und Sheets bitte anpassen), dann noch eine Schaltfläche auf deine Tabelle anlegen und Makro zuweisen (per Rechtsklick) und los geht's.
!! Alle Tabellen müssen in Excel geöffnet sein !!

(Den VBA-Editor erreicht man per ALT+F11)
Excelbeispiel liegt per zip im Anhang.

Code:
Public Sub getArtNr()
Dim z1 As Integer

z1 = 1
Do While (IsEmpty(Sheets("art_nr").Cells(z1, 1)) = False) And (z < 65000)
    getAttr Sheets("art_nr").Cells(z1, 1), z1
    z1 = z1 + 1
Loop

End Sub

Public Sub getAttr(artNr As String, zT As Integer)
Dim z As Integer

z = 1

Do While (IsEmpty(Workbooks("art_attr.xls").Sheets("Tabelle1").Cells(z, 1)) = False) And (z < 65000)
    If Workbooks("art_attr.xls").Sheets("Tabelle1").Cells(z, 1) = artNr Then
        Workbooks("art_nr.xls").Sheets("art_nr").Cells(zT, 2) = Workbooks("art_attr.xls").Sheets("Tabelle1").Cells(z, 2)
        Workbooks("art_nr.xls").Sheets("art_nr").Cells(zT, 3) = Workbooks("art_attr.xls").Sheets("Tabelle1").Cells(z, 3)
        Workbooks("art_nr.xls").Sheets("art_nr").Cells(zT, 4) = Workbooks("art_attr.xls").Sheets("Tabelle1").Cells(z, 4)
    End If
    
    z = z + 1
Loop

End Sub
 

Anhänge

Vielen Dank!
Ich probier mal alles durch, ich meld mich wenn ich weitergekommen bin. :-)
 
Der Sverweis an sich funktioniert. Aber nicht wenn ich die Matrix in einer anderen Tabelle setzte.

Hat jemand einen Tipp?

Ok das hat jetzt geklappt. Aber das "runterziehen" der Formel klappt nicht.

Formel schaut wie folgt aus: =SVERWEIS(D2;Tabelle4!$D$2:$K$2085;4;FALSCH)

Excel gibt mir den ersten Wert korrekt wieder. Beim nach unten ziehen, gibt er mir aber nur "#NV' wieder.


So, alles klappt jetzt. Die Artikelnummern aus der Tabelle der anderen Firma waren nicht als Zahl formatiert.
 
Zuletzt bearbeitet:
Zurück
Oben