Excel - Höchstwerte

Hallo,

mit der Funktion „max“ kann man bekanntlich den höchsten Wert in einem vorgegebenen Tabellenbereich anzeigen lassen. Was aber, wenn dieser Tabellenbereich variabel ist?

Beispiel:
Ich will den höchsten Wert anzeigen lassen, den „Paul“ in dem Tabellenbereich a1:z1 erzielt hat. Würde also hier =max(a1:z1) verwenden.
Die Werte, die zu „Paul“ gehören, verändern aber laufend ihre Position, da sie wöchentlich neu sortiert werden. Kann also sein, daß die Werte zu „Paul“ demnächst im Tabellenbereich a3:z3 stehen. Mit der o.g. Funktion würden aber nun weiterhin der max. Wert aus a1:z1 angezeigt, obwohl das nicht mehr „Paul’s“ Werte sind.

Frage also:
Gibt es eine Möglichkeit, den Tabellenbereich mit der Funktion „max“ variabel zu gestalten? Wenn also „Paul“ an eine andere Stelle in der Tabelle sortiert wird, soll nun der max. Wert aus dem neuen Tabellenbereich (hier: a3:z3) für „Paul“ angezeigt werden.

Habe mal probiert, die Funktion „max“ in die Funktion „sverweis“ einzubauen. Klappt aber nicht. Hat jemand eine Idee?

Allseits ein schönes Wochenende,
Raulito

Hallo Raúl,

wie wäre es mit

=MAX(A1:Z3)

Das deckt dann den ganzen Bereich ab …

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielleicht mit BEREICH.VERSCHIEBEN()
Moin,

vielleicht hilft Dir das weiter:

=MAX(BEREICH.VERSCHIEBEN(…))

Guck dazu mal in der Hilfe nach (Hilfe-Knopf im Funktions-Assistenten unten links).

Damit kannst Du einen Bezug um y Zeilen und x Spalten verschieben. x und y musst Du natürlich irgendwo her bekommen.

Kristian

Geht leider nicht
Hallo Kristian,

mit dieser Funktion geht das leider nicht, weil nicht vorhersagbar ist, in welchen Bereich der Tabelle die von Excel - bezogen auf den Höchstwert - zu prüfenden Zeilen liegen. Wie gesagt, die Werte, die zu einer Person gehören (im Bsp. „Paul“) werden regelmäßig nach einer bestimmten Reihenfolge sortiert und verlassenn dadurch ihren ursprünglichen Ort, auf den sich die Funktion „max“ nach dem Sortieren aber leider immernoch bezieht.
Müßte also etwas sein, was im Zuge des Sortierens innerhalb der Funktion „max“ den Tabellenbereich automatisch ändert (im Bsp. von a1:z1 zu a3:z3), wie es Excel in anderen Bereichen durch Verschieben und Einfügen ja auch tut.
Danke trotzdem für Deinen Tipp,
Raulito

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

leider nein
Hallo moritzbock,

wenn ich es so mache, liefert mir Excel Werte, die u.U. nicht zu „Paul“ gehören, sondern zu den Personen, deren Werte in a2:z2 oder a3:z3 stehen. Problem ist, „Paul’s“ Werte können je nach Sortierung in allen drei Zeilen stehen. Dementsprechend sollte auch die Funktion „max“ mitziehen, wenn sortiert wird. Tut sie aber nicht, sie bleibt bei dem ursprünglichen Bezug, unabhängig davon, ob dieser durch Sortieren von Daten noch aktuell ist.
Danke für Deinen Tipp,
Raulito

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe noch nicht so recht verstanden, wie es auf Deinem Tabellenblatt aussieht, muss ich gestehen. Da würde wohl nur ein Beispiel-File helfen (das ggf. gezippt an [email protected]).

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

ich habe das so gelöst:

Ich habe in Spalte A die Namen und von B bis Z Zahlen eingetragen.

Als Suchkriterium gilt „Paul“, und ich gebe als Formel in Spalte AA folgendes ein: =wenn(a1=„Paul“;max(b1:z1);"") und ziehe diese Formel für alle Zeilen hinunter.

Damit stehen nur dort Werte, wo auch tatsächlich Paul davorsteht.

War es das, was Du gesucht hast?

Freundliche Grüße,

Jerry

Hallo…

eine funktionierende Lösung wäre, den Maximal-Wert je Zeile zu ermitteln und z.B. in die erste Zelle nach den Daten - in Deinem Beispiel Spalte AA - zu schreiben.

Anschließend kannst Du außerhalb der Tabelle den Wert der Spalte AA (= gesuchter Maximalwert) für das Kriterium Spalte A = „Paul“ z.B. mit =SVERWEIS(„Paul“;A2:AA5;27;FALSCH) abfragen.
(Annahmen in dieser Formel: Der Name steht in Spalte A, die Werte je Name in den Spalten B bis Z, in Spalte AA (=27. Spalte) steht der mit der Max-Funktion ermittelte Maximalwert, die gesamte Tabelle enthält vier Namen und erstreckt sich über den Zellbereich A2:A55).

Gruß
Wolfgang

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

damit geht’s
Hallo Wolfgang,

als ich für ein anderes Forumsmitglied eine Beispielsdatei anlegen wollte, um mein Excel-Problem anschaulicher darzustellen, ist mir die von Dir vorgeschlagene Lösung auch über den Weg gelaufen. Ist zwar wahrscheinlich nicht höchste Excel-Kunst aber hauptsache, es kommt das Richtige bei heraus.
Allerdings reicht bei mir schon, wenn ich für den höchsten Wert von „Paul“ z.B. eingebe: =sverweis(A2;Tabelle1!a4:f6;4:wink:

A2 ist „Paul“, Tabelle1!a4:f6 der Wertebereich (Namen stehen in Spalte A) und ;4; die Zahl der Spalte, aus der der Wert für „Paul“ entnommen werden soll.

Danke also für Deinen Tipp. Wenn ich nicht zufällig selbst drüber gestolpert wäre, hättest Du mich erleuchtet. :smile:

Schöne Grüße vom Raúl

Ist nicht einfach…
…ein Excel-Problem allgemein verständlich darzustellen, wie ich aufgrund der Antworten so sehe.
Theoretisch ginge das mit der von Dir vorgeschlagenen Lösung. Nur hat die Sache einen Haken. Mit der vorgeschlagenen Funktion wird entweder der Wert für „Paul“ oder nix ("") ausgegeben. Herauskommen soll aber immer ein Wert für eine bestimmte Person. „Paul“ war nur eine von denen. Bin mittlerweile selbst über eine (Behelfs)Lösung gestolpert (s. Vorschlag von Wolfgang), mit der ich zufrieden bin.

Vielen Dank für Deinen Tipp und Deine Mühe, mir zu helfen.

Schöne Grüße vom Raúl

hab’s geschafft
Hallo Kristian,

hat mich sehr gefreut, daß Du mir angeboten hast, Dir eine Beispielsdatei zu schicken, um das Excel-Problem besser nachvollziehen zu können.
Als ich gerade dabei war, Dir eine entsprechende Beispielsdatei zu basteln (Originaldatei ist über 2 MB groß), bin ich selbst auf eine (wahrscheinlich Behelfs)Lösung gekommen, mit der ich leben kann.

Die eigentlichen Werte stehen in der Tabelle1. In Tabelle2 steht eine Liste, neben der informationshalber auch der jeweilige Stand in Tabelle1 eingeblendet werden soll.
Da sich die Situation in Tabelle1 laufend ändert, kann ich in Tabelle2 nicht mit festen Bezügen arbeiten.
Ich wollte am liebsten auf direktem Weg in Tabelle2 einer geänderten Situation (Reihenfolge) in Tabelle1 Rechnung tragen. Habe ich wie gesagt nicht geschafft. Stattdessen mache ich jetzt Folgendes:
Neben der Liste in Tabelle1 lasse ich mir den den Höchstwert jeder Zeile mit der Funktion „max“ anzeigen und mache das Ergebnis durch Formatierung unsichtbar.
In Tabelle2 verwende ich die Funktion SVERWEIS und „verzweige“ auf die Höchstwerte in Tabelle1, z.B.
=sverweis(A2;Tabelle1!a4:f6;4:wink:

A2 ist der Name der Person, dessen Höchstwert angezeigt werden soll, Tabelle1!A4:F6 der Wertebereich einschl. Namen der Personen und ;4; die Nr. der Spalte, aus der der Wert entnommen werden soll (=die Spalte mit den Höchstwerten).

So funktioniert’s, auch wenn es nicht der direkte Weg ist (soweit es den bei diesem Rechenziel überhaupt gibt). Vielen Dank für Deine Bereitschaft, mir mit meinen Excel-Problem weiter zu helfen.

Schöne Grüße vom Raúl

Noch’n Versuch
Hallo Raúl,

Frage also:
Gibt es eine Möglichkeit, den Tabellenbereich mit der Funktion
„max“ variabel zu gestalten?

Ja. Ich hab’s gerade probiert:

Definiere den Bereich mit den Zahlen für Paul als „Name“. Also Einfügen - Namen - Definieren, als Name „Paul“ wählen und - wichtig! - den Zellbezug relativ machen, also den vorgegebenen absoluten Bezug ($A$1:blush:Z$1) zu A1:Z1 ändern.

Dann die Funktion =MAX(Paul) benutzen, um den Maximalwert zu suchen. Beim umsortieren der Werte wird der Namensbereich angepaßt, und die Max-Funktion verweist immer noch auf Pauls Werte.

Das sollte klappen und wäre „elegant“.

Gruß Kubi

Rückfrage
Hallo Kubi,

den ersten Teil habe ich ja noch verstanden aber ich weiß nicht so recht, wohin mit der Funktion =max(Paul). Excel muß doch wissen, wo es die Werte für „Paul“ suchen muß. Der Höchstwert selbst ergibt sich aus einem anderen Tabellenblatt als dem, wo ich ihn präsentieren will. Wenn ich jetzt in dem zweiten Tabellenblatt =max(Paul) verwende, wird „0“ als Ergebnis ausgewiesen, obwohl der Höchstwert für Paul, der sich aus dem ersten Tabellenblatt ergibt, natürlich höher ist als 0.
Wo liegt mein Denk- bzw. Eingabefehler?

Vielen Dank für Deine Mühe und schöne Grüße,
Raúl

moings…

Wo liegt mein Denk- bzw. Eingabefehler?

hmm, ich denke, da fehlt noch der Verweis auf die Tabelle…

Probiers doch mal mit =max(Tabelle1!Paul) [oder wie man auch immer auf
die Tabelle unter Excel verweisen muss… :wink: ]

Servutz
Stephan

Hallo Raúl,

Excel muß
doch wissen, wo es die Werte für „Paul“ suchen muß.

Das ergibt sich doch bei der Namensdefinition. Wenn Du den Bereich markierst, und dann auf Einfügen - Name - Definieren gehst, steht doch im Dialogfenster unten der Bezugsbereich als Tabelle1!$a$1:blush:z$1, also mit dem Namen des Blattes.

Der
Höchstwert selbst ergibt sich aus einem anderen Tabellenblatt
als dem, wo ich ihn präsentieren will. Wenn ich jetzt in dem
zweiten Tabellenblatt =max(Paul) verwende, wird „0“ als
Ergebnis ausgewiesen,

Das verstehe ich nicht. Ich hab’s gerade noch mal getestet, und es klappt auch, wenn ich die MAX-Formel in einem anderen Blatt einsetze.

Vielleicht kannst Du mir die Datei mal mailen, wenn nicht vertraulich, dann gucke ich selbst mal.

Gruß Kubi

Hola Kubi,

Das ergibt sich doch bei der Namensdefinition. Wenn Du den Bereich markierst, und dann auf Einfügen - Name - Definieren
gehst, steht doch im Dialogfenster unten der Bezugsbereich als
Tabelle1!$a$1:blush:z$1, also mit dem Namen des Blattes.

Soweit so gut, das hatte ich ja noch verstanden und entsprechend umgesetzt. Ich frage mich nur, woher Excel weiß, wo es nach dem Höchstwert von Paul suchen soll. In der ganzen Datei, nur in dem Tabellenblatt, wo die Funktion steht oder wo ?

Mit anderen Worten, weiß Excel durch =max(Paul), daß „Paul“ ein Zellbereich ist, dem ich den Namen „Paul“ gegeben habe und ist Wurst, wo in der gesamten Datei dieser Zellbereich namens Paul steht?

Vielleicht kannst Du mir die Datei mal mailen, wenn nicht vertraulich, dann gucke ich selbst mal.

Die Datei ist über 2 MB groß. Wäre es nicht besser, Du schickst mir die Datei, wo Du es ausprobiert hast. Die ist doch vermutlich kleiner. Vielleicht kann ich da schon sehen, ob ich etwas falsch verstanden habe.
Übrigens =max(Tabelle1!Paul) funktioniert auch nicht, wird auch „0“ als Ergebnis ausgewiesen.

Vielen Dank für Deine Mühe,
Raulito

Buenas dias Raúl,

Mit anderen Worten, weiß Excel durch =max(Paul), daß „Paul“
ein Zellbereich ist, dem ich den Namen „Paul“ gegeben habe und
ist Wurst, wo in der gesamten Datei dieser Zellbereich namens
Paul steht?

Genauso ist es.

Die Datei ist über 2 MB groß. Wäre es nicht besser, Du
schickst mir die Datei, wo Du es ausprobiert hast. Die ist
doch vermutlich kleiner. Vielleicht kann ich da schon sehen,
ob ich etwas falsch verstanden habe.

Mach ich, ich habe nur so ungefähr 10 Zellen benutzt…

Mail folgt,

Kubi