Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1932to1936
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
Inhaltsverzeichnis

Dynamische Bereichszuweisung für SVERWEI

Dynamische Bereichszuweisung für SVERWEI
29.06.2023 13:29:40
Reaper Grim

Hallo Excel Profis,

Ich brauche wieder mal Hilfe bezüglich einer ich nenns mal speziellen Formel für einen Sverweis (oder Alternativen zum Sverweis).

Ich bin grad am rumexperimentieren und bin auf der Suche nach einer Art Sverweis mit dynamischer Bereichszuweisung, wo die "Matrix" nicht vordefiniert ist, sondern erst ermittelt werden muss.
Hintergrund ist, dass ich via Webabfrage ein Datensatz einlade der wiederrum zusammenhängend in mehrere Bereiche unterteilt wird. Was das mit dem Sverweis angeht habe ich das ganze in einer privaten Mappe via VBA gelöst und funzt ganz gut, jedoch musss ich aber auch mit eine öffentlichen Mappe arbeiten und da ist VBA nicht gestattet bzw. kann nicht zur Anwendung kommen und muss das ganze iwi via Formel lösen. Mein momentaner Ansatz ist, dass ich mir die Daten aus dem Netz in meine private Mappe ziehe und dann nahezu 1:1 via copy & paste in die öffentliche Mappe manuell kopiere. Dort soll dann durch Sverweis die Daten dann analysiert werden.
Um es einfach zu erklären
z.b.
Datensatz 1 = "Produkt 1" = Bereich a1:d500
Datensatz 2 = "Produkt 2" = Bereich e1:h500
usw
Jetzt kann es unter Umständen vorkommen, dass beim aktualisieren (der alte Datensatz wird komplett gelöscht und durch den neuen ersetzt) z.b. der Bereich von Datensatz 1 sich verschiebt und z.b den Bereich i1:l1 einnimmt und Datensatz 2 den Bereich m1:p500, oder das komplett andere Datensätze hinzukommen bzw. vorhandene nicht mehr existent sind und somit aus dem großen ganzen Datensatz verschwinden. Sprich nach jeder Aktualisierung haben die einzelnen Datensätze zumeist immer ein anderen Bereich.
Ich habe schon Versucht über diversen Suchkriterien (z.b. über INDEX, VERGLEICH usw.) die einzelnen Bereiche zu ermitteln um diese dann in der eigentlichen Formel als Matrix zu verwenden, komme aber hier nicht wirklich weiter.
Ich habe habe keine Lust immer nach jeder Aktualisierung die einzelnen Bereiche händisch anzupassen und meine Frage ist, ob es eigentlich möglich ist, die "Matrix" aus dem Sverweis so zu gestalten das sie über ein Art "Such und Finden Funktion" verfügt.

Tabelle ist angehängt, ich hoffe das ich mich einigermaßen verständlich ausgedrückt habe

Vielen Dank schon mal im voraus
Viele Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Bereichszuweisung für SVERWEI
29.06.2023 15:03:09
Rudi Maintaire
Hallo,

Wenn die Produktklasse immer in Zeile3 steht:
z.B.
=SVERWEIS("4A";INDEX(C:ZZ;;VERGLEICH("Produktklasse 1";C3:ZZ3;)):INDEX(C:ZZ;; VERGLEICH("Produktklasse 1";C3:ZZ3;)+3);2;)

Gruß
Rudi


AW: alternativ dazu nutze Power Query ...
29.06.2023 17:02:29
neopa C
Hallo,

... hole damit Deine schon die Daten aus dem WEB und sortiere und filtere diese nach Deinen Wunsch ganz ohne Formeln..

Gruß Werner
.. , - ...


AW: Dynamische Bereichszuweisung für SVERWEI
29.06.2023 17:57:13
Yal
Hallo Grim,

Du müsstest deine Daten zuerst so umstellen, dass alle in nur 5 Spalten vorliegen: Produktklasse, Klasse, Spalte2, Spalte3, Spalte4.

Folgende Code sollte diese Sache erledigen:
Sub entpivotieren()
Dim wQ As Worksheet
Dim wZ As Worksheet
Dim R, C
Dim Z As Range

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Set wZ = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    Set wQ = Worksheets("Tabelle1")
    
    With wQ.Range("D5").CurrentRegion
        For C = .Column To .Column + .Columns.Count - 1 Step 4
            For R = .Row + 2 To .Row + .Rows.Count - 1
                Set Z = wZ.Cells(Rows.Count, 1).End(xlUp)
                Z.Offset(1, 0) = wQ.Cells(.Row, C).Value
                Z.Offset(1, 1).Resize(1, 4) = wQ.Cells(R, C).Resize(1, 4).Value
            Next
        Next
    End With
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub
Eventuell könnte man Produktklasse und Klasse als Schlüssel davor einstellen. Dann wäre es:
                Z.Offset(1, 1) = wQ.Cells(.Row, C).Value
                Z.Offset(1, 2).Resize(1, 4) = wQ.Cells(R, C).Resize(1, 4).Value
                Z.Offset(1, 0) = Z.Offset(1, 1).Value & "_" & Z.Offset(1, 2).Value
VG
Yal


Anzeige
AW: Dynamische Bereichszuweisung für SVERWEI
30.06.2023 11:19:01
Reaper Grim
Hallo,

erst mal recht herzlichen Dank an alle für die sehr schnellen Antworten.

@Rudi, die von Dir gepostete Formel ist nahezu Perfekt. Hab sie an meine Bedürfnisse angepasst und macht genau das was ich wollte. :-)
@neopa, das mir der Power Query hab ich so erst mal gar nicht in Betracht bezogen, aber ich werde Dank Dir das auch ausprobieren.
@Yal, Dein VBA Code werd ich auch ausprobieren (sieht vielversprechend aus)

Dank Eurer verschiedensten Ansätze kann ich mich dran setzen einen Weg zu finden, dass die anderen User anschließend mit der eigentlichen Mappe einen einfachen und unkomplizierten Weg haben, die Daten für Ihre Zwecke selbst individuell zu analysieren.

viele Grüße


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige