Clever-Excel-Forum

Normale Version: [Array] Indexwert durch Suche in Matrix (Spalten+Zeilen) ermitteln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

ich versuche seit Tagen eine Lösung für das im Betreff genannte Problem zu finden. Ich würde auch wissen wie es geht, jedoch ist der Suchbereich keine Zeile ODER eine Kombination aus Spalten sondern es ist eine Matrix in Kombination mit Gültigkeitsbedingungen in 3 Spalten.

Ich suche also den Eintrag in Spalte A, für den der Suchwert (J1) in der Such-Matrix übereinstimmt und zusätzlich die Kombination von Bedingung1-3 einer Bestimmten Konstellation (J2) entspricht.

Bitte helft mir, ich weiß nicht wie es gehen soll.

PS: Mehrfachergebnisse würde ich in der Tabelleneingabe schon versuchen zu vermeiden. Es sollte also nur eine Lösung geben.

Danke vorab!

VG
Peter

//Anhang aktualisiert
Hola,


Code:
=INDEX(A2:A5;AGGREGAT(15;6;ZEILE(A2:A5)-1/((B2:B5&C2:C5&D2:D5=J2)*(E2:G5=J1));1))

Gruß,
steve1da
Hallo Titus,

ich vermute, anstelle deines "//Anhang aktualisiert" war eine Beispieldatei. Es ist schade, dass du sie entfernt hast - nachfolgende Suchende können jetzt mit der Antwort alleine nichts anfangen. Sad
Hi,

Danke Steve, das scheint zu funktionieren, und sogar ohne Array :20:

Ich steige trotzdem nicht ganz durch, könntest du nochmal etwas Hilfe leisten und die Bestandteile kurz erklären?

PS: hatte nicht die letzte Version meiner Datei hochgeladen, beim Update scheint aber was schiefgegangen zu sein, war keine Absicht. Jetzt ist die neuste Version hochgeladen, inkl. der Formel von Steve.
Hola,

mit aggregat(15;6....ermittelt man die kleinste Zeilennummer (Fehlerwerte werden ignoriert), die die nachfolgenden Bedingungen in der Formel erfüllen. Index() gibt dann den Werte aus Spalte A mit der kleinsten gefundenen Zeilennummer aus.
Man könnte auch noch Mehrfachvorkommen ausgeben lassen - dazu musst du die Bereiche fixieren und am Ende aus der 1 einfach Zeile(A1) machen.

Gruß,
steve1da
Hallo, alternativ geht auch ohne AGGREGAT()..:

PHP-Code:
=VERWEIS(2;1/(B1:B5&C1:C5&D1:D5=J2)*(E1:G5=J1);A:A
steve1da schrieb:Hola,

mit aggregat(15;6....ermittelt man die kleinste Zeilennummer (Fehlerwerte werden ignoriert), die die nachfolgenden Bedingungen in der Formel erfüllen. Index() gibt dann den Werte aus Spalte A mit der kleinsten gefundenen Zeilennummer aus.
Man könnte auch noch Mehrfachvorkommen ausgeben lassen - dazu musst du die Bereiche fixieren und am Ende aus der 1 einfach Zeile(A1) machen.

Gruß,
steve1da

Hi Steve,

für meine eigentliche Tabelle tritt mit deiner FOrmel das Problem auf, dass der Bereich nicht in Zeile 2 beginnt sondern in Zeile 168. Nach Auflösen aller Berechnungen von Aggregat komm dann Index(Bereich E168:E225;170) heraus, was natürlich nicht geht, da Zeile() nicht den relativen Bezug von der Startzeile 168 liefert. Nur zur Vollständigkeit:

A) könntest du dir das nochmal anschauen und mir einen Tipp geben
B) wie löst man das Thema mit Mehrfachvorkommen genau?

Jockel schrieb:Hallo, alternativ geht auch ohne AGGREGAT()..:

PHP-Code:
=VERWEIS(2;1/(B1:B5&C1:C5&D1:D5=J2)*(E1:G5=J1);A:A

Hi,

Auch dir vielen Dank, das Funktioniert auch. Bin sehr verwundert. Was hat es mit Suchkriterium == 2 auf sich? kannst du das noch erklären bitte?
Moin,


Zitat:Was hat es mit Suchkriterium == 2 auf sich? kannst du das noch erklären bitte?
hier https://www.herber.de/excelformeln/pages...oriam.html findest du die Erklärung.
Hola,


Code:
=INDEX($A$168:$A$225;AGGREGAT(15;6;ZEILE($A$168:$A$225)-167/(($B$168:$B$225&$C$168:$C$225&$D$168:$D$225=J2)*($E$168:$G$225=J1));zeile(A1)))

Gruß,
steve1da
WillWissen schrieb:Moin,


hier https://www.herber.de/excelformeln/pages...oriam.html findest du die Erklärung.

ok danke, das macht es um einiges Klarer.
Ich habe jedoch festgestellt, dass trotzdem ein Ergebnis ermittelt wird, scheinbar das aus der letzten Zeile des Suchbereichs, auch wenn keine Übereinstimmung aller 3 Bedingungen und des Suchwertes (9) erfüllt ist. Charmant wäre die Verweis Funktion an der Stelle schon, aber mit der Einschränkung wohl so für mich nicht nutzbar. Confused  Oder?
Seiten: 1 2