Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Werte eines bestimmten Zeitraums errechnen
#1
Guten Morgen zusammen,

ich hatte im April 2021 schon mal ein Thema erstellt. Hierzu bekam ich eine Hilfe über Power Query, wobei ich sagen muss dass ich mich mit den Befehlsarten etwas schwer tue. Bei meiner Excel-Aufstellung handelt es sich um eine Jahresauswertung mit 2015 Datensätzen.

Spalte A (Startdatum)
Spalte B (Enddatum)
Spalte C (Wert)

Das Start- bzw. Enddatum haben pro Datensatz immer unterschiedliche Werte und somit unterschiedliche Anzahl an Zeiträumen (Tagen) zwischen Start- und Enddatum. Der Wert (Spalte C) muss dann in dem Zeitraum von Start- bis Enddatum mit eingerechnet werden.

Am Ende möchte ich eine Auswertung für das ganze Jahr erstellen könne, wo ich sehen kann an welchem Tag dieses Zeitraums ich den höchsten Wert vorweisen kann.

Vielen Dank im Voraus für eure Antworten und die Hilfe.


Angehängte Dateien
.xlsx   Berechnung_Verwahrung1.xlsx (Größe: 84,33 KB / Downloads: 6)
Antworten Top
#2
Hallo

meinst du das so?

ABCDEFGHI
1StartdatumEnddatumWertMaxStartEnde
229.10.202105.01.20225.857,94 €122.871,79 €10.10.202221.10.2022
301.11.202105.01.20223.369,45 €
401.11.202101.12.20213.927,73 €
501.11.202101.12.20213.788,33 €
601.11.202101.12.202133.409,02 €
701.11.202102.12.20213.788,33 €
801.11.202102.11.20217.700,00 €
901.11.202102.12.20211.016,04 €

ZelleFormel
G2=MAX(C:C)
H2=INDEX(A:A;VERGLEICH($G2;$C:$C;0))
I2=INDEX(B:B;VERGLEICH($G2;$C:$C;0))

Oder so?

ABCDEFGHIJKLM
1StartdatumEnddatumWertEingabe Betrachtungszeitraum:Ergebnis:
229.10.202105.01.20225.857,94 €VonBisMaxStartEnde
301.11.202105.01.20223.369,45 €01.11.202110.11.2022122.871,79 €10.10.202221.10.2022
401.11.202101.12.20213.927,73 €
501.11.202101.12.20213.788,33 €
601.11.202101.12.202133.409,02 €

ZelleFormel
K3=MAXWENNS($C:$C;$A:$A;">="&G3;$B:$B;"<="&H3)
L3=INDEX(A:A;VERGLEICH($K3;$C:$C;0))
M3=INDEX(B:B;VERGLEICH($K3;$C:$C;0))
Antworten Top
#3
Oder so ?


Angehängte Dateien
.xlsx   __oder_so.xlsx (Größe: 130,77 KB / Downloads: 9)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Hallo,

danke für die schnelle Rückantwort. Nein, ich meine es etwas anders. An jedem Tag zwischen Startdatum und Enddatum muss ich den Wert aus Spalte C pro Datensatz voll mit einrechnen. Jetzt möchte ich wissen, an welchem Tag X innerhalb dieses Jahres ich den höchsten Wert rausbekomme.

Ich hab nochmal eine andere Datei mit weniger Datensätzen zur Veranschaulichung mitgeschickt.


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 9,52 KB / Downloads: 8)
Antworten Top
#5
Hi,

z.B. so, in B14, nach unten ziehen:

Code:
=SUMME($C$2:INDEX($C$2:$C$11;VERGLEICH(A14;$A$2:$A$11;1)))-SUMMEWENN($B$2:$B$11;"<"&A14;$C$2:$C$11)

anhand Deiner Originaltabelle sieht das Ganze allerdings ganz anders aus:


.xlsx   Berechnung_Verwahrung1.xlsx (Größe: 95,99 KB / Downloads: 4)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
Schon getestet ?

https://www.clever-excel-forum.de/attach...?aid=46232
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Hallo

per VBA in ein normales Modul

Code:
Sub Zusammenfassung()
    Dim TB1 As Worksheet, TB2 As Worksheet, LR1 As Long, i As Long, LR2 As Long
    Dim Datum As Date, MMax As Double, Zeile As Long, Am As String
    Dim FirstAddr As String, C As Range
   
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
   
    'Reset
    With TB2
        .UsedRange.ClearContents
        .Cells(1, 1) = "Datum"
        .Cells(1, 2) = "Summe"
        .Cells(1, 5) = "Max"
        .Cells(1, 6) = "An den Tagen"
    End With
   
    With TB1
        LR1 = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte
       
        For i = 2 To LR1
            For Datum = .Cells(i, 1) To .Cells(i, 2)
                ' erste freie Zeile
                LR2 = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row + 1
               
               
                'Ist Datum schon vorhanden
                If WorksheetFunction.CountIf(TB2.Columns(1), Datum) = 0 Then
                   
                    'noch nicht vorhanden, also anlegen
                    TB2.Cells(LR2, 1) = Datum
                    TB2.Cells(LR2, 2) = .Cells(i, 3)
                Else
                    'bereits da in Zeile
                    Zeile = WorksheetFunction.Match(CDbl(Datum), TB2.Columns(1), 0)
                    TB2.Cells(Zeile, 2) = TB2.Cells(Zeile, 2) + .Cells(i, 3)
                   
                End If
            Next
        Next
    End With
    With TB2
        MMax = Application.Max(.Columns(2))
        .Cells(2, 5) = MMax
      
       
        'Tage zusammensetzen
        Set C = .Columns(2).Find(MMax, LookIn:=xlFormulas)
        If Not C Is Nothing Then
            FirstAddr = C.Address
            Do
                Am = Am & .Cells(C.Row, 1) & " / "
                Set C = .Columns(2).FindNext(C)
            Loop While Not C Is Nothing And C.Address <> FirstAddr
        End If
       
        'Letzte / weg und in Zelle schreiben
        .Cells(2, 6) = Left(Am, Len(Am) - 3)
       
    End With
End Sub

Ergibt dann:

ABCDEF
1DatumSummeMaxAn den Tagen
201.01.202010.000,00 €60.000,00 €05.01.2020 / 06.01.2020 / 07.01.2020 / 08.01.2020
302.01.202010.000,00 €
403.01.202020.000,00 €
504.01.202040.000,00 €
605.01.202060.000,00 €
706.01.202060.000,00 €
807.01.202060.000,00 €
908.01.202060.000,00 €
1009.01.202040.000,00 €
1110.01.202040.000,00 €
1211.01.202010.000,00 €
1312.01.202010.000,00 €


LG UweD
Antworten Top
#8
Mit Powerquery und Powerpivot kommt man ohne VBA auf folgendes Ergebnis
   
Antworten Top
#9
Hallo,

danke für die Antwort. Wäre es möglich die Excel Datei, die ohne VBA sondern mit PowerQuery bzw. PowerPivot erstellt wurde, einmal zu bekommen?

Vielen Dank.
Antworten Top
#10
Hab es hinbekommen. Danke nochmal an alle die mir geantwortet und geholfen haben.
Antworten Top


Gehe zu:


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