Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
516to520
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zuordnungen anhand von Produktnummern

Zuordnungen anhand von Produktnummern
17.11.2004 06:45:45
Produktnummern
Hallo!
Folgendes Problem habe ich:
Es bestehen in einer Arbeitsmappe drei Listen.
In Liste 1 sind Produktnummern aufgefuehrt. Hierzu sollen Preise eingetragen werden.
In Liste 2 sind Produktnummern, Preise und ein Code zu finden.
In Liste 3 sind weitere Produktnummern, Preise und ein Code zu finden.
(es handelt sich um sehr viele Eintraege, so dass zwei Listen benoetigt werden).
Die Aufgabe: Erst soll in Liste 1 die erste Produktnummer genommen werden, um anschliessend in Liste 2 und 3 zu schauen, ob diese Produktnummer dort auch aufgefuehrt ist.
Wenn nicht: Preisfeld in Liste 1 leer lassen.
Wenn ja: Preis von Liste 2 oder 3 in Liste 1 kopieren, wobei der Preis von Liste 2 noch anhand des Codes modifiziert wird:
- wenn Code = 1: gleicher Preis soll in Liste 1 eingetragen werden.
- wenn Code = 2: Preis soll durch hundert geteilt werden und so in Liste 1 eingetragen werden
- wenn Code = 3: Preis soll durch 1000 geteilt werden und so in Liste 1 eingetragen werden.
Es soll exakt nach den Produktnummern gesucht werden (und nicht nur nach dem String), da evtl. eine Produktnummer von einer anderen ein String ist.
Es handelt sich um 5 mal den gleichen Vorgang (also 5 mal jeweils drei Listen) und jeweils etwa 300 zuzuordnende Produktnummern.
Das ganze habe ich in einer Beispieldatei (mit Resultat) dargestellt: https://www.herber.de/bbs/user/13541.xls
Koenntet Ihr mir helfen? Danke!
Arpad

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zuordnungen anhand von Produktnummern
17.11.2004 09:43:00
Produktnummern
soll heissen:
wenn preis in liste 3 nimm preis aus liste 3.
wenn preis in liste 2 und 3 nimm preis aus liste 2 und modifiziere
wenn preis in liste 2 nimm preis aus liste 2 und modifiziere
ansonsten leer
richtig?
dann hast du jetzt ein problem ;)
=WENN(ISTFEHLER(SVERWEIS(A2;'Liste 3'!A:C;2;FALSCH));WENN(ISTFEHLER(WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=1;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH);WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=2;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH)/100;WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=3;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH)/1000;""))));"";WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=1;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH);WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=2;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH)/100;WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=3;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH)/1000;""))));SVERWEIS(A2;'Liste 3'!A:C;2;FALSCH))
die funktion würde gehen, wenn man mehr als 7 verschachtelungen machen könnte, bei der funktion hier schluckt er leider die WENN(SVERWEIS(A2;'Liste 2'!A:C;3;FALSCH)=3;SVERWEIS(A2;'Liste 2'!A:C;2;FALSCH)/1000;""), ansonsten funktionierts. vielleicht kannst ja was mit dem netten 5 zeiler was anfangen...
Anzeige
AW: Zuordnungen anhand von Produktnummern
17.11.2004 09:58:14
Produktnummern
c0bRa, vielen Dank fuer die Antwort!
Problem sollte aber einfacher sein, denn es tauchen garantiert nicht die gleichen Nummern in Liste 2 und 3 auf, d. h. es gibt entweder eine Zuordnung bei Liste 2 ODER bei Liste 3 ODER es gibt eben keine.
Die Anpassungen nach Code muessen immer durchgefuehrt werden, egal ob der Preis aus Liste 2 oder 3 kommt.
Wie wuerde die Formel dann aussehen?
Vielen Dank fuer die Hilfe!!
Arpad
AW: Zuordnungen anhand von Produktnummern
Produktnummern
dann machs einfach so, dass du per sverweis in den 2 zeilen dahinter deinen preis aus liste 2 und 3 holst, dann lässte den code drüberrennen (also 3 wenn schleifen) und packst das ganze noch innen schönen wenn(istfehler()) rein und das sollte es gewesen sein.
die 2 zeilen mit den hilfswerten dahinter kannst ja gruppieren und dann ausblenden, somit störts auch nicht im layout ;)
c0bRa
Anzeige
AW: Zuordnungen anhand von Produktnummern
Produktnummern
Hallo Arpad,
wie gefällt Dir dieser Makro-Vorschlag?

Sub Arpad()
Dim SuBe As Range
Dim s As String
Dim dW As Double
Dim laR1 As Long, laR2 As Long, laR3 As Long, i As Long
Application.ScreenUpdating = False
Sheets("Liste 1").Select
laR1 = Cells(Rows.Count, 1).End(xlUp).Row
laR2 = Sheets("Liste 2").Cells(Rows.Count, 1).End(xlUp).Row
laR3 = Sheets("Liste 3").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To laR1
s = Cells(i, 1).Text
With Sheets("Liste 2")
Set SuBe = .Range(.Cells(2, 1), .Cells(laR2, 1)). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
dW = .Cells(SuBe.Row, 2).Value
If .Cells(SuBe.Row, 3).Value = 2 Then
dW = dW / 100
ElseIf .Cells(SuBe.Row, 3).Value = 3 Then
dW = dW / 1000
End If
Cells(i, 2).Value = dW
End If
End With
If SuBe Is Nothing Then
With Sheets("Liste 3")
Set SuBe = .Range(.Cells(2, 1), .Cells(laR3, 1)). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
dW = .Cells(SuBe.Row, 2).Value
If .Cells(SuBe.Row, 3).Value = 2 Then
dW = dW / 100
ElseIf .Cells(SuBe.Row, 3).Value = 3 Then
dW = dW / 1000
End If
Cells(i, 2).Value = dW
End If
End With
End If
Set SuBe = Nothing
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
Loesung
18.11.2004 07:04:58
Arpad
Hallo Werner,
vielen Dank fuer das Makro, das ging wie geschmiert und genau so wie ich mir es vorgestellt habe.
Danke!
Arpad
Schon mal Danke!
17.11.2004 10:27:27
Arpad
Vielen Dank schon mal fuer Eure Hilfe! Da es hier schon abend ist (Asien), werde ich mir Eure Anregungen erst morgen frueh genau anschauen koennen - hoffe, dass ich nochmal auf Eure super Hilfe zuruckkommen darf, wenn ich Fragen habe...
Arpad

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige