Clever-Excel-Forum

Normale Version: Tabelle nach mehreren Kriterien durchsuchen inkl. Näherungswerte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe ein kleines Problem. Ich kenne bereits die Funktionen VERWEIS und INDEX+VERGLEICH, leider kann keine dieser Formeln ohne Tricks nach mehr als einem Kriterium suchen.

Setting:
Suchmatrix: $A$1:$D$100
Filterzellen: $G$1 (zu finden in Spalte A), $G$2 (zu finden in Spalte B), $G$3 (=Näherungswert, zu finden in Spalte C)
Resultatspalte: D

Ich habe zwei Lösungsansätze in der Google-Recherche gefunden:
1. Verschachtelter SVERWEIS als Matrixformel (hier Suche nach zwei Kriterien):
{=SVERWEIS($G$1;WENN($B$1:$B$100=$G$2;$A$1:$D$100;““);4)}

2. SVERWEIS & WAHL als Matrixformel:
{=SVERWEIS($G$1&$G$2;WAHL({1.2};$A$1:$A$100&$B$1:$B$100;$D$1:$D$100);2;FALSCH)}

Nun eine Frage vorab zum Verständnis:
Wie verstehe ich den Ausdruck "{1.2}" in der Wahlfunktion? Ich verstehe zwar, was da geschieht, sprich zuerst wird eine vitruelle Matrix einspaltig und 100-zeilig generiert aus den zusammengesetzten Werten von Spalten A&B sowie eine weitere Spalte als Abgleich der Spalte D und es wird somit aus beiden Spalten mit besagtem Ausdruck je ein Wert extrahiert und diese zweispaltige Matrix wird per SVERWEIS durchlaufen. Ich verstehe nur den Ausdruck an sich nicht, kann mir jemand erklären wie das funktioniert? Und weshalb die geschweifen Klammern nochmals?

2. Frage:
Mein Problem ist zusätzlich, dass einer der Suchwerte (ein Datum) nicht exakt ist, sondern das am naheliegenstene Datum <= dem Suchdatum extrahiert werden sollte.
Diesbezüglich habe ich mal eine Formel in dieser Art in einem anderen Forum gefunden, die ich leider auch nicht verstehe:
=VERWEIS(42;1/($A$1:$A$100=$G$1)/($C$1:$C$100<=$G$3);$D$1:$D$100)

Meine Frage nun, da obige Formel nicht funktioniert (ich verstehe nicht einmal die Zahl "42", vielleicht war das situationsbezogen im anderen Thread), wie kann ich die genannten Formeln so erweitern, dass meine Problematik gelöst wird?
Ein Ansatz zur Ermittlung des korrekten Datums ist schon einmal dieser:
{=MAX(WENN(($A$1:$A$100=$G$1)*($C$1:$C$100<=$G$3)>0;$C$1:$C$100))}

Weiter komme ich noch nicht, zumal ein Datum in dieser Spalte auch häufiger als einmal vorkommen kann. Es gibt aber immer nur einmal das gleiche Datum für die genannten Suchkriterien...

Kann mir jemand helfen? Smile

LG Binary
Ich habe die Lösung selbst gefunden.

Hier ein Beispiel für eine 3-spaltige Tabelle mit:
 - Spalte 'A': Datum
 - Spalte 'B': Suchwerte (können häufiger vorkommen, aber immer nur einmal pro korrespondierendem Datumswert aus Spalte 'A')
 - Spalte 'C': Resultat

 - $D$1: zu suchendes Datum
 - $D$2: zu suchender Wert

Die nachfolgende Formel liefert das Resultat für das exakte Vorkommen von Suchkriterium mit dem identischen oder am nahest zurückliegendem Datum:

Code:
=INDEX($C$1:$C$100;MIN(WENN(($A$1:$A$100=MAX(WENN(($A$1:$A$100<=$D$1)*($B$1:$B$100=$D$2);$A$1:$A$100)))*($B$1:$B$100=$D$2);ZEILE($A$1:$A$100))))

Hat jemand Verbesserungsvorschläge? Performance? Denkfehler? Limitationen?

LG Binary