Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

Älteste Datum im Monat

Älteste Datum im Monat
08.09.2023 11:49:51
Tim
Hallo zusammen,

ich arbeite gerade an einen Pivot Chart welches mir den Verlauf von Lagerbeständen ausgeben soll. Herausforderung besteht darin, dass die Datengrundlage täglich den aktuellen IST-Stand hält und Pivot die Summe bildet.

Heißt, jeder neue Datensatz wird im Ergebnis aufsummiert, was somit den falschen IST-Stand widerspiegelt.

Um dies richtig darzustellen, habe ich bisher manuell das letzte Datum im abgelaufenen Monat bzw. das aktuelle Datum aus dem aktuellen Monat, als Filter gesetzt.

Da die manuelle Anpassung manchmal in Vergessenheit geriet, möchte ich gern das Ganze etwas vereinfachen bzw. automatisieren.

Nach meinen Recherchen im Forum gibt es aktuell keine Möglichkeit, in einem Pivot Table ausschließlich Werte statt Summen anzeigen zu lassen, richtig!?

Für mein Beispiel habe ich gelesen, mit einer Hilfsspalte zu arbeiten, jedoch scheitere ich da an der Formel, was zu meiner zweite Frage führt.

In Spalte A:A sind Datumswerte, welche sich doppeln. In Spalte B:B möchte ich gern, ausgehend von Zeileneintrag in Spalte A, des älteste Datum passend zum Monat des Ausgangsdatum.

Bsp: Januar 2023 würde mit der Formel Monatsende den 31.01.2023 ausgeben, jedoch kann es sein, dass in Spalte A:A das letzte Datum der 28.01.2023 welches ich somit benötige.

Wer kann mir bei der Formel weiterhelfen oder bei der Einstellung des Pivot-Table?

https://www.herber.de/bbs/user/162727.xlsx

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Älteste Datum im Monat
08.09.2023 12:09:28
Yal
Hallo Tim,

Lagerbestand ist genauso wie ein Saldo auf dem Bankkonto: es ist bereits das Ergebnis einer Summe. Eine Summe aller Tagessumme ist natürlich sinnlos.

Die Lösung besteht daran, und das zeigt es Dir deine Bankkonto-Aufstellung, nicht die Saldi, sondern die Zugänge (positiv) und Abgänge (negativ) aufzulisten.
Dann kannst Du zu jedem belibigen Zeitpunkt mit einer Pivottabelle/-Chart summieren wie es dir lustig ist.

Zugänge und Abgänge erzeugst Du mit der Formel: Bestand von heute - Bestand von gestern (oder letzter aufgelistete Tag). Voraussetzung ist die sinnvolle Sortierung der Einträge. Startbestand ist dann einen Zugang.

VG
Yal
Anzeige
AW: Älteste Datum im Monat
08.09.2023 12:28:22
Rudi Maintaire
Hallo,
=AGGREGAT(14;6;$A$1:$A$2000/(TEXT($A$1:$A$2000;"JJJJMM")=TEXT(A2;"JJJJMM"));1)

Gruß
Rudi
AW: Älteste Datum im Monat
08.09.2023 13:31:57
Tim
Hallo Yal, hallo Rudi,

vielen Dank für eure schnellen Antworten.
Das Thema mit den Zu-und Abgängen hatte ich so noch gar nicht betrachtet und ja, das wäre die richtige Betrachtungsweise, jedoch müsste ich mit jedem Eintrag, den vorherigen prüfen und darin die Differenz bilden. Prüfung müsste dann anhand drei verschiedener Kriterien erfolgen, dazu reichen meine Makrokenntnisse leider nicht aus.

@Rudi: deine Formel funktioniert super, jedoch hat Excel stark zu tun.

Anzeige
AW: Älteste Datum im Monat
08.09.2023 14:01:12
Yal
Hallo Tim,

liefere eine vereinfachte Datei (mit verschleierte Daten), dann kann man was aufbauen.
Eigentlich geht es nur darum, die passende Sortierung zu haben, dann ist es immer aktuelle Zeile minus vorige, es sei denn neue Kombination der 2 anderen Kriterien, dann Wert der aktuelle Zeile als Zugang nehmen.

VG
Yal
AW: Älteste Datum im Monat
08.09.2023 14:19:24
Tim
Hallo Yal,

ich würde dich zum Freitag feiern, wenn sich das so umsetzen lässt. Es sind im Grunde 3 Kriterien (Datum, Artikel, Zustand). Mit jedem neuen Datum kommt ein Eintrag hinzu, aus dem man die Differenz bilden müsste.

Hier die Bsp. Datei https://www.herber.de/bbs/user/162740.xlsx
Anzeige
AW: Älteste Datum im Monat
08.09.2023 15:17:29
Yal
Hallo Tim,

ich habe die Transformation über Power Query gemacht:
_ nach Produkt, Zustand, Datum sortiert,
_ Index ab 0 und Index ab 1
_ join über Produkt, Zustand, Index (0 zu 1), somit werden aktuelle Bestand mit vorigem Bestand zusammengebracht
_ Berechnung der Bewegeung (Zu- und Abgänge)
_ Marker für Zu- und Abgang
_ Ausgabe direkt in Pivot (plus eine zweite Abfrage, um eine Herausgabe als Liste)

mit dem Zeitachse kann man leichter die Daten "von Anfang" bis Zeitpunkt x summieren, und so die Saldi besser überwachen.

https://www.herber.de/bbs/user/162741.xlsx

VG
Yal


Anzeige
AW: Älteste Datum im Monat
08.09.2023 18:12:12
Tim
Überragend!
Noch eine Frage zum Schluss -> braucht es für die Query Abfrage bzw Datenbasis eine intelligente Tabelle oder geht dies auch ohne?
Hintergrund ist, dass ich die Datenbasis per Makro befülle und ich meine, dass die Bestimmung der letzten Zeile in einer intelligenten Tabelle etwas anders angesprochen werden muss.
AW: Älteste Datum im Monat
08.09.2023 21:35:33
Yal
Hallo Tim,

jein, Tabelle (VBA: ListObject) haben ihre Besonderheit, aber man gewöhnt sich schnell daran.

Hier ein Code Beispiel für die Befüllung einer 2-spaltige Tabelle:

Sub Befüllung()

Dim LO As ListObject
Dim LR As ListRow
Dim R, C

'Tabelle als Objekt erfassen
Set LO = Range("Tabelle1").Parent.ListObjects("Tabelle1")
'Alle Zeilen löschen (es bleibt immer eine Zeile sichtbar)
Do While LO.ListRows.Count > 0
LO.ListRows(1).Delete
Loop
'Tabelle befüllen (4 Zeilen, 2 Spalten)
For R = 1 To 4
Set LR = LO.ListRows.Add
For C = 1 To 2
LR.Range(C) = "R" & R & "C" & C
Next
Next

End Sub


VG
Yal
Anzeige
AW: Älteste Datum im Monat
08.09.2023 22:10:36
Yal
Hallo Tim,

wenn Du schon diese Liste per Marko befüllst, wäre es ein leichte Spiel, anschliessend die Max-of-month per VBA zu markieren:

Sub älteste()

Dim Dic
Dim Z
Dim Schlüssel

Set Dic = CreateObject("Scripting.Dictionary")
With Worksheets(1)
'Älteste sammeln
For Each Z In Range(.Range("A2"), .Cells(Rows.Count, 1).End(xlUp))
Schlüssel = Format(CDate(Z.Value), "YYYY-MM")
Dic(Schlüssel) = WorksheetFunction.Max(Dic(Schlüssel), CLng(Z.Value))
Next
'Älteste markieren
For Each Z In Range(.Range("A2"), .Cells(Rows.Count, 1).End(xlUp))
Schlüssel = Format(CDate(Z.Value), "YYYY-MM")
If Dic(Schlüssel) = CLng(Z.Value) Then Z.Offset(, 1) = "Älteste in " & Schlüssel
Next
End With
End Sub


VG
Yal
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige