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
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
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
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
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)
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.
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
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

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Top


Gehe zu:


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