Formel auf Zelle der vorherigen Zeile beziehen
#1
Hallo zusammen,

ich habe folgendes Anliegen:

Bei einer sehr umfangreichen Datenauswertung soll Excel den Mittelwert über bestimmte Bereiche bilden, also z.B: =MITTELWERT(B1:B50)
Auf diesen Mittelwert folgend soll dann der Mittelwert von (B51:100) gebildet werden. Darauf folgend dann (B101:B150) und so weiter. Also ist das Ende des vorherigen Bereichs der Beginn des neuen Bereichs.
Wenn ich allerdings zwei drei Zeilen mit der Mittelwert-Formel befülle und dann versuche die Formel automatisch auf alle weiteren Bereiche anwenden zu lassen, führt Excel die Formel (B1:B50) mit (B2:B51), (B3:B52)... fort.

Könnt ihr mir sagen, wie ich das am einfachsten anpasse?


Danke und Grüße!
Toby
Antworten Top
#2
Hallo Tobi,

könnte mit der Funktion Teilergebnis gehen, falls deine Abschnitte irgend einen gemeinsamen Nenner haben.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo Toby , ein Gedanke dazu:

=MITTELWERT(INDIREKT("B"&(ZEILE(A1)-1)*$D$2+1&":B"&(ZEILE(A2)-1)*$D$2))
Formel rein kopieren und runter ziehen.
In D2 habe ich die Schrittweite eingefügt, hier kann natürlich für dein Beispiel auch 50 stehen.

Gruß Holger
Antworten Top
#4
Hi Tobi,

mein Vorschlag:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
1ZahlenreiheMittelwertBlock
2125,5A2 - A51
32
43
4948
5049
5150
525175,5A52 - A101
5352
5453
9998
10099
101100
102101125,5A102 - A151
103102
104103
105104

ZelleFormel
B2=WENN(REST(ZEILE()-1;50)=50-49;MITTELWERT(A2:A51);"")
C2=WENN(ISTZAHL(B2);"A"&ZEILE()&" - "&"A"&ZEILE()+49;"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Geht auch ohne INDIREKT():
=MITTELWERT(INDEX(B:B;ZEILE(A1)*50-49):INDEX(B:B;ZEILE(A1)*50))
herunterziehen …

BC
1125,5
2275,5
33125,5
44175,5
55225,5
66275,5
77325,5
88
99
1010
1111
1212
1313
1414
1515
1616
1717
1818
1919
2020

ZelleFormel
C1=MITTELWERT(INDEX(B:B;ZEILE(A1)*50-49):INDEX(B:B;ZEILE(A1)*50))

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Habe das Problem mit eurer Hilfe gelöst bekommen. 

=MITTELWERT(INDEX(B:B;ZEILE(B2)+$AV2):INDEX(B:B;ZEILE(B61)+$AV2))

In der Spalte AV steht bei mir nun 0x59,1x59,2x59... Dadurch kann ich die Zeit relativ einfach variieren. 


Vielen Dank und ein frohes Weihnachtsfest euch allen.
Antworten Top
#7
Oder


Code:
Sub M_snb()
  With ThisWorkbook.Sheets("DPV1")
    sn = Array(.Range("A3"), Format(.Range("B1"), "m_yyyy"), Application.TemplatesPath & "\DPV1_" & Format(Now, "ddmmyyyy_hhmm") & ".xlsx")
  End With
    
  Sheets("DPV1").Copy
  With ActiveWorkbook
    .Sheets(1).UsedRange.Value = Sheets(1).UsedRange.Value
    .SaveAs sn(2)
    .Close 0
  End With
   
  With CreateObject("Outlook.Application").CreateItem(0)
    .To = "My.Kollegen@mail.de"
    .Subject = "Dienstplan - Gruppe: " & sn(0) & " - Monat: " & sn(1) & " - " & Now
    .Attachments.Add sn(2)
    .Body = "Öffnen auf eigenem Gefahr"
    .Send
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Hallo, so kurz vor dem Jahreswechsel eine Power Query Variante (also aktualisieren nicht vergessen) 


.xlsx   31122018_Mittelwert_mit_Schrittweite_PowerQuery.xlsx (Größe: 40,33 KB / Downloads: 3)
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Antworten Top


Gehe zu:


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