Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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

Aus Tabelle mehrere Werte suchen

Aus Tabelle mehrere Werte suchen
02.08.2022 13:19:44
Thomas
Hallo,
ich steh mir auf dem Schlauch, ich habe eine Arbeitsmappe mit 2 Tabellenblättern, in dem einen Tabellenblatt (Stamm) stehen Daten, welche in einer Schleife nach und nach abgearbeitet werden sollen und dabei sollen Daten aus einem zweiten Tabellenblatt (Suchen) genutzt werden.
Je Zeile in Tabelle (Stamm) soll der Wert in Spalte 14 (Bundesland) in der Tabelle (Suchen) in Spalte 5 gesucht werden, wenn er gefunden wurde, dann soll in Spalte 7 ein vorgegebener Wert (in dem Fall 3T) gesucht werden und wenn dieser gefunden wird in Spalte 8 der höchste Werte der zu den beiden vorherigen Suchen passt, dann aus der Spalte 12 der Wert genommen, in der Beispieldatei anbei wäre das dann für Zeile 2 aus der Tabelle (Stamm) der Wert 451 aus Zeile 5 Spalte 12
Mir fehlt die idee wie ich das in VBA umsetzen kann
https://www.herber.de/bbs/user/154483.xlsm
Danke

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Unlogisch...
02.08.2022 13:31:28
{Boris}
Hi,
Rheinland-Pfalz und 3T liefert 2 Treffer mit den Werten 5540 und 451. Warum ist der höchste daraus dann 451?
VG, Boris
AW: Unlogisch...
02.08.2022 13:56:19
Thomas
Hallo Boris, die zwei Treffer sollten ja dann nach dem höchsten Wert in Spalte 8 gesucht werden, was in dem Fall bei Rheinland Pfalz und 3T die 2 wäre und in der Zeile ist dann der Wert die 451
MFG
Thomas
AW: Aus Tabelle mehrere Werte suchen
02.08.2022 13:33:58
{Boris}
Hi,
schreib mal in Stamm!O2:
=MAX(FILTER(Tabelle1[Wert];(Tabelle1[Bundesland]=[@Bundesland])*(Tabelle1[Nummer5]="3T");0))
VG, Boris
AW: Aus Tabelle mehrere Werte suchen
02.08.2022 13:59:14
Thomas
HI
Dann bekomme ich als Wert 5540, was stimmen würde, wenn nicht aus Spalte 8 der höchste Wert genommen werden soll und das ganzen in VBA
Anzeige
AW: Aus Tabelle mehrere Werte suchen
03.08.2022 09:36:18
{Boris}
Hi,
per Formel:
O2:
=MAX(FILTER(Tabelle1[Wert];(Tabelle1[Bundesland]=[@Bundesland])*(Tabelle1[Nummer5]="3T") *(Tabelle1[Nummer6]=MAX((Tabelle1[Bundesland]=[@Bundesland])*(Tabelle1[Nummer5]="3T") *Tabelle1[Nummer6]));0))
Weshalb soll es unbedingt VBA sein?
VG, Boris
AW: Aus Tabelle mehrere Werte suchen
04.08.2022 12:23:42
Thomas
Hi Boris,
vielen Dank dafür, die Formel werde ich gleichmal testen, sobald ich dazu kommen, zu deiner Frage wieso unbedingt VBA, das liegt daran das mehrere Bearbeitungsschritte usw. gibt die per VBA ausgeführt werden, und da passte es dann mit rein, das ich das Ergebnisse dann mit Auswerten könnte.
AW: Aus Tabelle mehrere Werte suchen
04.08.2022 14:23:30
Daniel
Hi
wenn du es als VBA brauchst, dann vielleicht so:
1. füge diesen Code in ein allgemeines Modul ein:

Function MeineSuche(BundesLand As String, Typ As String)
Static dicWert
Static dicMax
Dim ID As String
Dim arr, z As Long
If VarType(dicWert) = vbEmpty Then
Set dicWert = CreateObject("Scripting.Dictionary")
Set dicMax = CreateObject("Scripting.Dictionary")
arr = Range("Tabelle1").Value
For z = 2 To UBound(arr, 1)
ID = arr(z, 5) & "|" & arr(z, 7)
If dicMax(ID) 
wenn du jetzt einen Wert brauchst, führst du einfach die Funktion aus

=MeineSuche("Rheinlandpfalz", "3T")
und du bekommst den Wert.
Du kannst diese Funktion in VBA verwenden oder auch in einer Formel in einer Excelzelle (Schreibweisen natürlich anpassen) und dann statt den Fixwerten natürlich Variablen oder Zellbezüge einsetzen.
Achtung, diese Funktion ist darauf ausgelegt, dass die Tabelle im Blatt Suchen statisch ist und sich der Inhalt nicht verändert.
die Werte werden nur einmalig zu Beginn beim ersten Ausführen der Funktion ins Dictionary eingelesen und bleiben dann so.
sollte sich in der Tabelle was ändern und das muss aktualsiert werden, müsste man im VBA-Editor einmal den "Zurücksetzen"-Button klicken und dann das Makro nochmal ausführen.
Gruß Daniel
Anzeige
AW: Aus Tabelle mehrere Werte suchen
02.08.2022 14:55:41
Daniel
Hi
ich habe jetzt kein Excel 365, aber als Formel würde ich das in deiner Excelversion mit Index(Filtern(Sortieren())) lösen
Wenn du dann nach Spatle 8 absteigend sortierst, kannst du den Index 1 verwenden.
In VBA müsstest du diese diese Formel entweder in eine Zelle schreiben und das Ergebnis auslesen, oder die Formel in englisch zusammenbasteln und mit EVALUATE berechnen lassen
Gruß Daniel

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige