Registriert seit: 18.08.2017
Version(en): 2007
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
Registriert seit: 04.04.2017
Version(en): 2013
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")
Gruß Jonas
Registriert seit: 16.04.2014
Version(en): xl2016/365
Hola,
@Jonas: Excel 2007 kennt kein Aggregat()
Gruß,
steve1da
Registriert seit: 04.04.2017
Version(en): 2013
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.
Gruß Jonas
Registriert seit: 04.04.2017
Version(en): 2013
18.08.2017, 15:15
(Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2017, 15:21 von Jonas0806.)
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")
Gruß Jonas