Registriert seit: 08.02.2017
Version(en): 365
Hallo!
Ich habe zwei ziemlich idente Formeln, aber nur eine liefert das richtige Ergebnis, nämlich die
{=TEXT(INDEX(C:C;AGGREGAT(14;6;ZEILE(C:C)/(D:D=IR6)/(C:C>=L6)/(C:C<=MONATSENDE(L6;0));1));"TT.MM.JJJ")}
Als Ergebnis kommt 07.05.2026 raus.
Wenn ich nun aber nicht die ganzen Spalten durchsuchen lassen will, weil mir die Datei sonst zu langsam wird und die obrige Formel auf folgende um ändere
{=TEXT(INDEX(C9:C10000;AGGREGAT(14;6;ZEILE(C9:C10000)/(D9:D10000=IR6)/(C9:C10000>=L6)/(C9:C10000<=MONATSENDE(L6;0));1));"TT.MM.JJJ")}
kommt folgendes raus: 00.01.1900
Ich habe keine Ahnung, woran das liegen kann.
Vielleicht hat ja jemand eine Idee.
Registriert seit: 16.04.2014
Version(en): xl2016/365
Hola,
geraten:
Code:
=TEXT(INDEX(C9:C10000;AGGREGAT(14;6;ZEILE(C9:C10000)-8/(D9:D10000=IR6)/(C9:C10000>=L6)/(C9:C10000<=MONATSENDE(L6;0));1));"TT.MM.JJJ")
Das ist übrigens keine Matrixformel, muss also nicht mit Strg-Shift-Enter abgeschlossen werden
Gruß,
steve1da
Registriert seit: 05.09.2019
Version(en): Office 365
Hallo
ZEILE(C:C) liefert 1;2;3...
ZEILE(C9:C10000) liefert 9;10;11...
Index bezieht sich aber auf den Bereich ab 9 , erwartet wird dann 1 aus dem Bereich
=TEXT(INDEX(C9:C10000;AGGREGAT(14;6;(ZEILE(C9:C10000)-ZEILE(C9)+1)/(D9:D10000=IR6) /(C9:C10000>=L6)/(C9:C10000<=MONATSENDE(L6;0));1));"TT.MM.JJJ")
Oder verkürzt
=TEXT(INDEX(C9:C10000;AGGREGAT(14;6;(ZEILE(C9:C10000)-8)/(D9:D10000=IR6) /(C9:C10000>=L6)/(C9:C10000<=MONATSENDE(L6;0));1));"TT.MM.JJJ")
LG
Registriert seit: 08.02.2017
Version(en): 365
12.05.2026, 11:14
(Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2026, 11:14 von dertommy.)
Hallo an alle!
Danke sehr für eure schnellen Antworten. Ihr habt mir sehr geholfen. Jetzt wird das richtige Ergebnis angezeigt.
Registriert seit: 15.04.2018
Version(en): 2013
12.05.2026, 11:30
(Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2026, 11:30 von slowboarder.)
Hi Steve
natürlich ist das eine Matrixfunktion, auch wenn man kein STRG+SHIFT+ENTER benötigt, weil die Aggregatfunktion das auch in älteren Excelversionen automatisch erkennt.
Eine Matrixfunktion liegt immer dann vor, wenn an einer Stelle, die normalerweise einen Einzelwert erfordert (bspw eine Rechenoperation), eine Matrix mit mehreren Werten steht, die dann in einer Schleife über jeden Einzelwert berechnet werden.
Gruß Daniel
Registriert seit: 16.04.2014
Version(en): xl2016/365
@Daniel: das weiß ich, habe mich leider unglücklich ausgedrückt.
Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:1 Nutzer sagt Danke an steve1da für diesen Beitrag 28
• Jockel
Registriert seit: 15.04.2018
Version(en): 2013
Hi
das Problem wurde ja schon gelöst, aber ich halte die gezeigten Lösungen für fehleranfällig.
aber nochmal:
dein Aggregat + Zeile() liefert die absolute Zeilennummer der Lösungszelle
beim Index gibt man aber nicht die absolute Zeilennummer, sondern die Position innerhalb des angegebenen Zellbereichs an.
dh Index(A9:A100;9) referenziert nicht auf A9, sondern auf A17 (die neunte Zelle von A9:A100)
nur wenn der Zellbereich von Index in der Zeile 1 beginnt oder die ganze Zeile umfasst, sind Position und Zeilennummer identisch.
die einfachste Lösung ist hier, beim Index einfach C:C anzugeben, auch wenn man in der Aggregatfunktion einen anderen, kleineren Zellbereich bearbeitet.
ja, die Regel lautet, dass man innerhalb einer Matrix mit gleichgroßen Zellbereichen arbeiten muss, aber das gilt hier nicht, weil die Matrix mit dem Aggregat beendet ist und die Index-Funktion außerhalb der Matrix steht.
die gezeigten Lösungen mit dem Korrekturwert (-8) haben das Risiko, dass dieser angepasst werden muss, wenn Zeilen hinzugefügt oder gelöscht werden, oder sich der Zellbereich anderweitig verschiebt.
Gruß Daniel
Registriert seit: 13.04.2014
Version(en): 365
Hallo,
da hier 365 vorliegt, ginge auch das:
Code:
=TEXT(MIN(FILTER(C9:C10000;(D9:D10000=IR6)*(C9:C10000>=L6)*(C9:C10000<=MONATSENDE(L6;0))));"TT.MM.JJJJ")
=LET(xa;C9:C10000;xb;FILTER(xa;(D9:D10000=IR6)*(xa>=L6)*(xa<=MONATSENDE(L6;0)));TEXT(MIN(xb);"TT.MM.JJJJ"))
Allerdings verstehe ich nicht, warum das Datum in Text umgewandelt werden muß!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 28.08.2022
Version(en): 365
Hi,
übrigens würde bei deiner Version auch
=TEXT(ÜBERNEHMEN(FILTER(C:C;(D:D=IR6)*(C:C>L6)*(C:C<=MONATSENDE(L6;0)));-1);"TT.MM.JJJ")
funktionieren.
Gruß,
Helmut
Win11 - Office365 / MacOS - Office365