Clever-Excel-Forum

Normale Version: Sverweis hilfe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,
Ich habe folgendes Problem ich habe eine Tabelle in der in der Spalte B installierte Programme stehen und in Spalte E die versionen das ganze bezieht sich auf mehrere Pcs also kann ein programm mehr mals in der Tabelle vorkommen und die spalte E dann auch leer sein. Ich würde gerne eine formel haben die Wenn ich ein Programm in eine Zelle schreibe er mir zu dem Programm eine Version auspuckt und wenn der erste treffer eine leere version findet er weiter sucht. Habe schon viel mit sverweis gespielt und Index aber komme einfach nicht auf eine funktionierende lösung.
Würde mich sehr über hilfe freuen
mfg Daniel
Hallo Daniel,

wenn in A1 dein zu suchendes Programm steht:

PHP-Code:
=WENNFEHLER(INDEX($E$1:$E$1000;AGGREGAT(15;6;ZEILE($1:$1000)/($B$1:$B$1000=$A$1)/($E$1:$E$1000<>"");1));"Keine Treffer"
Hola,

@Jonas: Excel 2007 kennt kein Aggregat() Wink

Gruß,
steve1da
Hallo,

ups, da habe ich doch glatt die Version außer Acht gelassen  :19:

Daniel, wenn es dir reicht, dass immer die unterste gefunden wird, könntest Du es mittels VERWEIS lösen. Falls nicht, bläht es dir Formel ein wenig auf:
PHP-Code:
{=WENN((INDEX($E$1:$E$1000;MIN(WENN((($B$1:$B$1000=$A$1)*($E$1:$E$1000<>"")*ZEILE($E$1:$E$1000))<>0;($B$1:$B$1000=$A$1)*($E$1:$E$1000<>"")*ZEILE($E$1:$E$1000)))))=0;"Nicht gefunden";INDEX($E$1:$E$1000;MIN(WENN((($B$1:$B$1000=$A$1)*($E$1:$E$1000<>"")*ZEILE($E$1:$E$1000))<>0;($B$1:$B$1000=$A$1)*($E$1:$E$1000<>"")*ZEILE($E$1:$E$1000)))))} 

Achtung, das ist eine Matrixformel. Die {} nicht mit eingeben, stattdessen die Formel mit Strg+Shift+Enter abschließen.
Hallo nochmal,

hier noch eine nette kürzere Lösung, ohne Matrixabschluss:

PHP-Code:
=WENN(ISTFEHLER(VERGLEICH(1;INDEX(($B$1:$B$1000=$A$1)*($E$1:$E$1000<>""););));"Nicht gefunden";INDEX($E$1:$E$1000;VERGLEICH(1;INDEX(($B$1:$B$1000=$A$1)*($E$1:$E$1000<>""););))) 

Sollte auch in xl2007 funktionieren   :05:

Edit: 

Nochmal 20 Zeichen kürzer
PHP-Code:
=WENN(MAX(INDEX(($B$1:$B$1000=$A$1)*($E$1:$E$1000<>"");));INDEX($E$1:$E$1000;VERGLEICH(1;INDEX(($B$1:$B$1000=$A$1)*($E$1:$E$1000<>""););));"Nicht gefunden"

Edit:

Und nochmal 41 Zeichen weniger zum Vorgänger
PHP-Code:
=WENN(ISTFEHLER(INDEX($E$1:$E$1000;VERGLEICH(1;INDEX(($B$1:$B$1000=$A$1)*($E$1:$E$1000<>""););)));"Nicht gefunden"