Liebe Excelianer,
ich kriegs leider nicht hin und hoffe, jemand kann mir helfen.
In S2:S600 stehen Diagnosekürzel, F0, F1 …F9.
In M2:M600 stehen die dazugehörigen Verweildauern in Tagen.
Für Das Maximum habe ich folgenden Array:
{=MAX((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600))}
Der liefert mir einwandfreie Ergebnisse für die einzelnen Diagnosen.
Jetzt habe ich die Formel vor dem Array kopiert und das MAX durch MIN ersetzt, ansonsten alles identisch.
{=MIN((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600))}
Leider ist weder das Formelergebnis noch der Array erfolgreich; ich bekomme bei allen Gruppen das Ergebnis „0“. Das stimmt eindeutig nicht, habs per Filter geprüft.
Da dieses Aas bestimmt alles richtig macht, muss der Fehler wohl wieder bei mir liegen.
Habt ihr eine Idee, was ich da falsch mache.
Und noch eine frohe Rest-Weihnacht.
Liebe Grüße
Jorge
Grüezi Jorge
In S2:S600 stehen Diagnosekürzel, F0, F1 …F9.
In M2:M600 stehen die dazugehörigen Verweildauern in Tagen.
Für Das Maximum habe ich folgenden Array:
{=MAX((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600))}
Der liefert mir einwandfreie Ergebnisse für die einzelnen
Diagnosen.
Jetzt habe ich die Formel vor dem Array kopiert und das MAX
durch MIN ersetzt, ansonsten alles identisch.
{=MIN((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600))}
Leider ist weder das Formelergebnis noch der Array
erfolgreich; ich bekomme bei allen Gruppen das Ergebnis „0“.
Das stimmt eindeutig nicht, habs per Filter geprüft.
Wenn Du mit MIN() prüfst werden durch die Matrix-Multiplikation alle Zeilen, die nicht den Kriterien entsprechen zu 0 und das wird dir dann als Minimum ausgegeben.
In diesem Falle musst Du noch eine WENN() hinzunehmen um die Nullen zu eliminieren. Damit müsste es klappen:
{=MIN(WENN((‚2501‘!$S$2:blush:S$600=O2)*(‚2501‘!$M$2:blush:M$600"");‚2501‘!$M$2:blush:M$600;""))}
–
Mit freundlichen Grüssen
Thomas Ramel
Danke !! und noch eine Zusatzfrage
Hallo Thomas,
total genial,
ich lese zwar gerade das Zauberbuch, aber soweit hatte ich das noch nicht verstanden.
Vielen Dank, jetzt kann ich weitermachen.
Vielleicht noch ne Nachfrage: wo muss ich das >5 hinmachen, wenn ich nur die Verweildauern als Minimum haben will, die größer 5 sind?
=MIN(WENN((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600"");‚2501‘!$M$2:blush:M$600;""))
Liebe Grüße
Jorge
Grüezi Jorge
Vielen Dank, jetzt kann ich weitermachen.
Aber gerne doch 
Vielleicht noch ne Nachfrage: wo muss ich das >5 hinmachen,
wenn ich nur die Verweildauern als Minimum haben will, die
größer 5 sind?
=MIN(WENN((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600"");‚2501‘!$M$2:blush:M$600;""))
Hier kannst Du einfach anstelle des „“ dein >5 verwenden.
Alle Ergebnisse die nicht dem Kriterium entsprechen werden dann als ‚0‘ ausgegeben, daher kannst Du ja vielleicht die Nullwerte über die Optionen oder das Zellenformat ausblenden.
–
Mit freundlichen Grüssen
Thomas Ramel
Hallo,
{=MAX((‚2501‘!$S$2:blush:S$600=„F0“)*(‚2501‘!$M$2:blush:M$600))}
geholfen wurde Dir ja schon, aber kurz die Erklärung:
‚2501‘!$S$2:blush:S$600=„F0“
ist ein Vergleich, er ergibt entweder WAHR oder FALSCH. Wenn Du damit weiterrechnest
*(‚2501‘!$M$2:blush:M$600)
(in Deinem Fall multiplizierst), dann wandelt Excel WAHR in 1 um und FALSCH in 0. Also bleibt bei wahr (*1) das Ergebnis, wie es war, bei FALSCH (*0) wird jedes Ergebnis zu 0.
Daraus holst Du Dir dann mit
=MAX(
bzw.
=MIN(
den zufällig richtigen Maximalwert bzw. den Minimalwert, der mit hoher Wahrscheinlichkeit durch die Multiplikation mit FALSCH 0 ist.
Richtig ist also:
{=MAX(WENN(‚2501‘!$S$2:blush:S$600=„F0“;‚2501‘!$M$2:blush:M$600))}
und
{=MIN(WENN(‚2501‘!$S$2:blush:S$600=„F0“;‚2501‘!$M$2:blush:M$600))}
Gruß, Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]