Max-Datum in Zelle eintragen abhängig von Sortier-Gruppen
#1
Hi,

ich habe in Spalte B Zahlen von 1 bis x und in C Unterzahlen (1-x), sowie in Spalte F Datümer.

Nun sollen in Spalte F in den Zeilen, die in C eine 0 haben, das höchste Datum der Gruppe aus B stehen. Wenn innerhalb der Gruppe in F eine Leerzelle steht, soll die 0-Zeile ebenfalls leer bleiben.
F11 und F16 sollen leer bleiben, in F3 und F6 ist das richtige Datum manuell eingetragen:

Maßnahmenplan
BCF
2lfd. Nr.Nr.Ende geplant
31031.12.2017
41131.07.2017
51231.12.2017
62019.06.2017
72119.06.2017
82231.12.2017
92319.06.2017
102430.10.2017
1130
123119.06.2017
133219.06.2017
1433
153430.09.2017
1640
174119.06.2017
184219.06.2017
1943
204429.09.2017
2145

verwendete Formeln
Zelle Formel Bereich N/A
B3:B21=WENN([@[Nr.]]=0;MAX($B$2:B2)+1;B2)
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit


Mit welcher Formel für Spalte F geht das?
Top
#2
Hi Ralf,

ich glaube ich kann dir nicht ganz folgen.

Zitat:Nun sollen in Spalte F in den Zeilen, die in C eine 0 haben, das höchste Datum der Gruppe aus B stehen. Wenn innerhalb der Gruppe in F eine Leerzelle steht, soll die 0-Zeile ebenfalls leer bleiben.

In B stehen doch gar keine  Datumsangaben? Wie sieht denn dein Wunschergebnis aus?
Top
#3
Hi,

in Spalte A steht die Haupt-Kategorie 1-x, in Spalte B steht die Unterkategorie 0-x, in Spalte F ein Datum oder leer

Nun soll innerhalb jeder Haupt-Kategorie in Spalte F in der Zeile der Unterkategorie 0 (UK=0) das höchste Datum aus Spalte F erscheinen oder die Zelle F(UK=0) leer sein, wenn in der jeweiligen Hauptkategorie eine Zelle leer ist. F(UK=0) ist hier im Ausschnitt: F3, F6, F11, F16

Die Wunschergebnisse sind in meinem Ausschnitt in der Zelle F(UK=0) manuell eingetragen.
Top
#4
Hi Ralf,

das wird wohl nur mit VBA gehen. Hier mal ein einfacher Ansatz:


Code:
Sub Test()
Dim loA As Long
Dim loB As Long
Dim loC As Long
Dim loLetzte As Long
loLetzte = Cells(Rows.Count, 2).End(xlUp).Row
For loA = 3 To loLetzte
    If Cells(loA, 3) = 0 Then
        loB = Application.WorksheetFunction.CountIf(Range("B:B"), Cells(loA, 2)) - 1
        loC = Application.WorksheetFunction.Count(Range(Cells(loA + 1, 6), Cells(loA + loB, 6)))
        If loB = loC Then
            Cells(loA, 6) = Application.WorksheetFunction.Max(Range(Cells(loA + 1, 6), Cells(loA + loB, 6)))
        Else
            Cells(loA, 6) = ""
        End If
    End If
Next
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Rabe
Top
#5
Hi Edgar,

danke, hat funktioniert!

Das werde ich jetzt noch für eine weitere Spalte mit %-Werten statt Datum anpassen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste