Skuriler Excel-Fehler mit Matrixformel
11.03.2014 09:18:25
Calliano
Hier habe ich ein Problem für die Matrix-Spezialisten. Eine Matrixformel hat das Ergebnis {falsch.wahr}, das wird auch mit F2/F9 angezeigt, ebenso bei Eingabe der Matrixformel über mehrere Zellen.
Bei Weiterverarbeitung mit bspw. ODER(Matrixformel) wird mit F2/F9 auch wie erwartet als Ergebnis WAHR angezeigt. Gibt man die Matrixformel jedoch mit Umsch./Strg/Eingabe ein, wird als Ergebnis FALSCH angezeigt, und das ist natürlich falsch.
Oder({falsch.wahr}) sollte natürlich WAHR egeben.
Das ganze tritt hier mit Excel2003SP3 auf. Ist das bei aktuelleren Versionen immernoch so?
Zum Testen hier die Matrixformel. Diese macht VBA-frei weiter, wo SVERWEIS() aufhört. Sie liefert alle Daten, deren Vergleichswerte dem Suchkriterium entsprechen als Matrix und diese hat dann auch genau die Größe, die der Trefferanzahl entspricht.
Außerdem brauchen die Daten, nach denen gesucht wird nicht in der ersten Spalte der Matrix stehen, sondern die Nummer der Vergleichsspalte wird angegeben. Matrix darf auch größer sein, als in diesem Sandboxbeispiel angegeben und beliebige Daten enthalten.
Matrix:
a FALSCH
a WAHR
b WAHR
Suchkriterium: a
Vergleichspalte: 1
Spaltenindex: 2
Bezüge am besten mit Einfügen/Namen/Definieren benennen.
Matrixformel:
=BEREICH.VERSCHIEBEN(Matrix; VERGLEICH(SPALTE(INDIREKT("Z1S1:Z1S"&ZÄHLENWENN(BEREICH.VERSCHIEBEN(Matrix;0;Vergleichsspalte-1;;1); Suchkriterium);FALSCH));ZÄHLENWENN(BEREICH.VERSCHIEBEN(Matrix;0;Vergleichsspalte-1; ZEILE(INDIREKT("Z1S1:Z"&ZEILEN(Matrix)&"S1";FALSCH));1);Suchkriterium);0)-1;Spaltenindex-1;1;1)
Bei Eingabe der Formel über mehrere Zellen und Weiterverarbeitung des Bereichs mit ODER() funktioniert alles wie gewünscht, hat bloß den kleinen Schönheitsfehler, dass man die Formel in genau sovie Zellen eingeben muß, wie es später Treffer gibt. Funktioniert also nur wenn mann die Trefferzahl vorher kennt und dann ginge es ja sowieso auch mit einer weniger aufwendigen Formel.
Also, kann jemand sagen, ob das mit neueren Excel-Versionen inzwischen funktioniert oder wo vielleicht an der Formel gefeilt werden kann?