Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MAX wenn mit Indirekt in Matrixformel

MAX wenn mit Indirekt in Matrixformel
01.09.2019 12:35:31
Roland
Hallo liebes Forum,
habe mal wieder ein Problem mit EXCEL Proffessionel Plus 20162016, das ich nicht verstehe zu loesen.
Benoetige einen Maximalwert (in diesem Fall ein Datum) wenn in einer anderen Spalte ein bestimmtes Kriterium erfuellt ist. Da ich diese Formel in diversen anderen Zeilen mit unterschiedlichem Bereich benoetige habe ich dies mit Indirekt ergaenzt.
Mittlerweile habe ich auch herausgefunden, dass Indirekt bei Matrixformeln etwas zickt und wandle deshalb mit Hilfe der funktion N() den Indirekt Bereich in eine Zahl um. Soweit funktioniert auch alles nur dass ich das kleinste Datum als Ergebnis erhalte also MIN anstelle von MAX.
Habe alles mehrmals ueberprueft und es ist keine Fehler bezueglich des Bereiches innerhalb Indirekt() vorhanden.
Upload einer Beispieldatei ist schlecht, da sehr gross.
Ueber jegliche Hilfe bin ich Euch dankbar.
Hier die Formel:
{=MAX( IF( N(INDIRECT("E$"&MATCH("",$F$1:F3264,-1)+2 & ":E" &ROW())) =E3263, N(INDIRECT("R$"&MATCH("",$F$1:F3264,-1)+2 & ":R" & ROW()-1))) ) }

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
INDIREKT-Array
01.09.2019 12:57:40
{Boris}
Hi,
ohne Deine konkreten Daten zu kennen, nur eine Vermutung:
Mit VERGLEICH("",$F$1:F3264,-1) wird der letzte Werte in Spalte F gefunden - und zwar nur TEXT und keine Zahlen.
Wenn das bei Dir der Fall ist, dann musst Du das INDIREKT-Array nicht mit N() sondern mit T() zum Leben erwecken.
Also: Textarrays mit T(), Zahlenarrays mit N().
VG, Boris
AW: INDIREKT-Array
01.09.2019 16:34:34
Roland
Hi Boris,
danke fuer den tipp aber das aendert nichts.
vielleicht erst mal eine kurze Beschreibung zu der Tabelle.
Es geht hier um einen Gantt, also eine Datei mit der ich die Anzahl der benoetigten Mitarbeiter je Projekt berufsspezifisch erfasse sowie den jeweiligen prozentuellen Arbeitsfortschritt (und noch so einiges mehr). Das Projekt geht bereits mehrere Jahre und hat zig- Unterprojekte.
Nun habe ich mir gedacht zur genaueren Terminierung kann ich Aktivitaeten, die gleichzeitig ausgefuehrt werden koennen mit gleichzeitigem Anfangsdatum versehen. Die naechste Gruppe, die erst nach Fertigstellung dieser Arbeiten starten kann muss somit als Starttermin den Tag nach Fertigstellung der vorhergehenden Aktivitaeten erhalten. Da die Aktivitaeten jedoch unterschiedlicher Dauer sind benoetige ich das Fertigstellungsdatum der Aktivitaet mit den meisten Arbeitstagen. Und genau das wollte ich mit dem Teil der Formel die ich gepostet hatte erreichen.
Mit dem Vergleich in Spalte "F" erhalte ich die letzte volle Zeile in dieser Spalte zurueck. Indem ich 2 zeilen hinzu addiere gebe ich mir somit indirekt den Startbereich vor. In Spalte "E" stehen die Aktivitaeten, die gleichzeitig durchgefuehrt werden koennen als Zahlen von 1 bis z.B. 10
Also erst starten die 1-er Aktivitaeten, dann die 2-er u.s.w. In Spalte "R" stehen die Enddaten der jeweiligen Aktivitaeten in abhaengigkeit von der prozentualen Fertigstellung.
In Spalte "M" gebe ich mit dem Eintrag "YES" vor ob gemeinsame Aktivitaeten durchgefuehrt werden muessen oder ob die Aktivitaeten nacheinander abgearbeitet werden koennen.
Ich habe in der Formel somit noch mehrere "IF()"-Abfragen, die ich hier nicht mit aufgefuehrt habe.
Wenn ich jetzt in der zeile davor in Spalte "M" den Eintrag "YES" habe, muss ich innerhalb dieses Teilprojektes alle Aktivitaeten mit der Zahl (z.B.) 2 auf den spaetesten Endtermin pruefen, einen Tag hinzuzaehlen und als Starttermin fuer die naechste Aktivitaet verwenden.
Und dies moechte ich mit der Matrixformel erreichen. Aber wie bereits erwaehnt erhalte ich trotz allem den fruehesten Endtermin (also MIN) und nicht den spaetesten (MAX).
Ich habe eine Beispieldatei unter
https://www.herber.de/bbs/user/131765.xlsx
zur Veranschaulichung hochgeladen. Die ist allerdings ohne Formeln, da das alles zu komplex ist und die Datei nur ein ganz kleiner Teil meiner Datei ist.
Wie gesagt, bin dankbar fuer jede Hilfe.
Hier nochmal der Teil der Formel der nicht funzt wie er soll:
{=MAX( IF( N(INDIRECT("E$"&MATCH("",$F$1:F3264,-1)+2 & ":E" &ROW())) =E3263, N(INDIRECT("R$"&MATCH("",$F$1:F3264,-1)+2 & ":R" & ROW()-1))) ) }
Anzeige
So viel Text...
01.09.2019 16:45:30
{Boris}
Hi,
...aber stattdessen hättest Du einfach schreiben sollen:
Die Formel steht in Zelle XY und ich erwarte folgendes Ergebnis: …
So zumindest blick ich grad nicht durch.
VG, Boris
AW: So viel Text...
02.09.2019 12:11:06
Roland
Sorry Boris, hatte mir bereits gedacht dass dies zuviel geschreibe ist.....wollte halt vesuchen alle missverstaendnisse auszuraeumen. Aber manchmal ist weniger oft mehr.
Habe die Beispieldatei etwas vereinfacht und nochmals hochgeladen:
https://www.herber.de/bbs/user/131784.xlsx
Nehmen wir mal die Gruppe MON01-3 (Zeile 26 bis 53) und hiervon Zelle "E33".
Hier soll nun das MAX-Datum aus Spalte "G" der Gruppe MON01-3 stehen , wenn in Spalte A eine 1 steht, also:
MAX(R28:R32)
~f~
bzw. nach der Formel in E33:
~f~
{MAX(IF(A28:A33=A32,G28:G33))}
~f~
Hier nochmals der komplette Teil der Formel der mir Probleme bereitet:
~f~
{=MAX( IF( N(INDIRECT("A$"&MATCH("",$B$1:B33,-1)+2 & ":A" &ROW())) =A32, N(INDIRECT("G$"&MATCH("",$B$1:B33,-1)+2 & ":G" & ROW()-1))) ) }
Wieso erhalte ich immer das Minimum-Datum ?
Hoffe das ist nun verstaendlich.
Vielen Dank.
Anzeige
Noch offen...
02.09.2019 22:32:46
{Boris}
Hi,
ich bin die Woche nicht am Rechner. Daher stell ich mal auf offen.
VG Boris
AW: So viel Text...
04.09.2019 08:30:18
fcs
Hallo Roland,
warum es mit der Funktion MATCH (bzw. VERGLEICH) innerhalb der Matrix-Formel Probleme gibt kann ich dir nicht sagen.
Scheinbar gibt es bei der AUswertung als Matrixformel eine Berechnung, die von außen nicht nachvollzogen werden kann.
Du musst die Berechnung der 1. Zeile für den per INDIREKT zu ermittelnden Bereich in einer Hilfsspalte berecnen. Dann funktioniert es.
Sheet1

 EFGHI
3328-Aug-19809-Sep-190%28

Formeln der Tabelle
ZelleFormel
E33{=MAX( WENN(N( INDIREKT("A" & I33 & ":A" & ZEILE()-1)) =A32; INDIREKT("G" & I33 & ":G" & ZEILE()-1); 0) )}
G33=ARBEITSTAG.INTL(E33;F33;7;Holidays!Holidays)
I33=VERGLEICH("";$B$1:B33;-1)+2
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
LG
Franz
Anzeige
AW: So viel Text...
05.09.2019 15:42:04
Roland
Hallo Franz,
vielen Dank fuer die Antwort.
Hast Du evtl. eine Idee fuer eine Formel ohne Hilfsspalte ?
Wuerde die Hilfsspalte lieber vermeiden.
mfG
Roland

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige