Supportnet / Forum / Tabellenkalkulation
Excel Tabellen/Matrix auslesen
Frage
Hallo,
ich habe zwei Tabellen aus denen ich etwas auslesen möchte. Wahrscheinlich müssen dabei mehrere Formeln verschachtelt werden. Aber vielleicht weiß ja jemand eine "elegante" Lösung?
Die Aufgabe ist in dem angehängten Bild gut ersichtlich. Ziel ist es die richtige Preisklasse P1 bis P10 zu einer Gruppe mit einem bestimmten Verkaufspreis zuzuordnen.
Danke schon im Vorraus,
Sep
Antwort 1 von Unlogisch
Antwort 2 von rainberg
Hallo Unlogisch,
wenn Du Dein Beispiel als .xls hochlädst, werde ich mal versuchen eine Lösung zu finden.
Habe keine Lust die Tabelle nach zu bauen.
Gruß
rainberg
wenn Du Dein Beispiel als .xls hochlädst, werde ich mal versuchen eine Lösung zu finden.
Habe keine Lust die Tabelle nach zu bauen.
Gruß
rainberg
Antwort 3 von Saarbauer
Hallo,
versuch es mal mit der Formel
=INDEX(D3:M3;;VERGLEICH(C26;BEREICH.VERSCHIEBEN(C3;VERGLEICH(B26;C4:C20;0);1;1;10);1))
in der letzten Spalte M4:M20 solltest du die WErte von > xxx in z.B. 10000 o.ä ändern.
Gruß
Helmut
versuch es mal mit der Formel
=INDEX(D3:M3;;VERGLEICH(C26;BEREICH.VERSCHIEBEN(C3;VERGLEICH(B26;C4:C20;0);1;1;10);1))
in der letzten Spalte M4:M20 solltest du die WErte von > xxx in z.B. 10000 o.ä ändern.
Gruß
Helmut
Antwort 4 von nighty
hi all :-)
anbei noch eine makroloesung :-)
gruss nighty
automatismus durch ein ereignis
einzufuegen
alt+f11/projektexplorer/DeineTabelle
anbei noch eine makroloesung :-)
gruss nighty
automatismus durch ein ereignis
einzufuegen
alt+f11/projektexplorer/DeineTabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 Then
Dim Quelle As Object
Dim Ziel As Object
Dim zeile As Variant
Dim zaehler As Long
Set Quelle = ThisWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(2)
zeile = Ziel.Range("A:A").Find(Quelle.Range("A2"), LookIn:=xlValues).Row
For zaehler = 2 To Quelle.Range("1:1").End(xlToRight).Column
If Quelle.Cells(Target.Row, 2) > Ziel.Cells(Target.Row, zaehler - 1) And Quelle.Cells(Target.Row, 2) < Ziel.Cells(Target.Row, zaehler) Then Quelle.Cells(Target.Row, 3) = Ziel.Cells(1, zaehler)
Next zaehler
End If
Application.EnableEvents = True
End SubAntwort 5 von rainberg
Hallo Unlogisch,
habe nun doch noch meine Faulheit überwunden und die Tabelle nach Deinen Vorgaben nach gebaut.
In der Ausgangsmatrix ergibt sich eine kleine Änderung.
siehe Anhang.
http://rapidshare.com/files/163616514/Preisklassen.xls.html
Gruß
Rainer
habe nun doch noch meine Faulheit überwunden und die Tabelle nach Deinen Vorgaben nach gebaut.
In der Ausgangsmatrix ergibt sich eine kleine Änderung.
siehe Anhang.
http://rapidshare.com/files/163616514/Preisklassen.xls.html
Gruß
Rainer
Antwort 6 von nighty
hi all :-)
ups korrigiert
gruss nighty
ausgehend von tabelle 1 und tabelle 2
tabelle 1 spalte a b besetzt,nach der eingabe von b wird c befuellt
ups korrigiert
gruss nighty
ausgehend von tabelle 1 und tabelle 2
tabelle 1 spalte a b besetzt,nach der eingabe von b wird c befuellt
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 Then
Dim Quelle As Object
Dim Ziel As Object
Dim zeile As Long
Dim zaehler As Long
Set Quelle = ThisWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(2)
zeile = Ziel.Range("A:A").Find(Quelle.Range("A2"), LookIn:=xlValues).Row
For zaehler = 2 To Quelle.Range("1:1").End(xlToRight).Column
If Quelle.Cells(Target.Row, 2) > Ziel.Cells(zeile, zaehler - 1) And Quelle.Cells(Target.Row, 2) < Ziel.Cells(zeile, zaehler) Then Quelle.Cells(Target.Row, 3) = Ziel.Cells(1, zaehler)
Next zaehler
End If
Application.EnableEvents = True
End Sub
