Excel 2007: Formel automatisches Auslesen Werte zwischen festgelegten Bereichen

McKofFly

Ensign
Registriert
Okt. 2007
Beiträge
221
Hallo,

Ich habe folgendes Problem

1. Ich habe in Spalte A vier Bereiche welche Zahlen beinhalten, die Bereiche ergeben sich aus Spalte B
2. Ich selektiere die Bereiche und filtere Start und Ende der Bereiche und schreibe diese in einer zweite Tabelle
3. Nun möchte ich die Mittelwerte der einzelnen Bereiche, siehe Tablelle 3, dort habe ich auch meine aktuelle Vorgehensweise erläutert (RUNDEN(MITTELWERT(A1:A5);1))
4. Da die Bereiche aber immer unterschiedlich lang sind, muss ich Schritt 3 per Hand machen. In meiner normalen Tabelle hat Spalte A um die 4000 Einträge und das per Hand zu machen, würde einiges an Zeit kosten
5. Diesen Schritt würde ich nun gerne per Formel lösen, sodass ich bei 3. eventuell irgendeine Formel bekomme, wo er sich die Zeilen selber "besorgt", bzw. sich die Zeilen aus meiner ersten Tabelle nimmt und dann eventuell irgendetwas in der Art von RUNDEN(MITTELWERT(Werte von Feld E2 (=A1) bis F2 (=A5) nehmen?);1) kommt.
6. Bestenfalls gebe es auch noch eine möglich, Schritt 2 per Formel zu lösen


Anbei ein Bild sowie eine Beispiel xlsx.

Vielen Dank für eure Hilfe.
 

Anhänge

  • 11.jpg
    11.jpg
    123,5 KB · Aufrufe: 231
  • Beispiel2.xlsx
    11 KB · Aufrufe: 230
Für F8 aus dem Beispiel:
=RUNDEN(MITTELWERT(INDIREKT("A"&E2):INDIREKT("A"&F2));1)

Mit der Indirekt Funktion sollte das gehen. Wie du die Bereiche automatisch erkennen kannst, kommt drauf an, wie du sie auswählst ;)
 
Du bist ja ein wahrer "Alchemist" :king:

Das klappt tatsächlich! Oh man, wie kann ich dir danken? :D Ich habe jetzt 2 Tage lang rumprobiert ... nix ging. 1000 Dank!
 
Kein Problem, immer gerne :)
 
Wirklich vielen Dank!

Das man die Werte automatisch von E2:F5 ausliest ist aber nicht irgendwie möglich, oder?

In meiner Tabelle bspw. zählt die Spalte B von - 0,5 - 1 - 1,5 - 2 - 2,5 - 3 - 2,5 - 2 - 1,5 - 1 - 0,5 - 1 - 1,5 - 2 - 2,5 - 3 - 2,5 - 2 - 1,5 - 1 - 0,5 und das in mehreren Zyklen, daraus ergeben sich dann eben die Bereiche. Ein Zyklus geht von 0,5 - 0,5, dann startet der nächste.
 
Kannst du mit Makros umgehen?

Für dein Beispiel kannst du mal folgenden Code ausprobieren:
Code:
Sub test()
zeile = 2
For i = 1 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
    If Cells(i, 2) = 0.5 Then
        Cells(i, 2) = "$$" 'Ersetzen durch sonderzeichen
        Cells(zeile, 7) = i 'Zeile notieren, hier eventuell Spalte anpassen (7)
        For j = i + 1 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
            If Cells(j, 2) = 0.5 Then
            Cells(j, 2) = "$$"
            Cells(zeile, 8) = j
            Exit For
            End If
        Next j
        zeile = zeile + 1
    End If
Next i
For i = 1 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 2) = "$$" Then Cells(i, 2) = 0.5 'Sonderzeichen wieder ersetzen
Next i

    
End Sub
Vielleicht fällt mir heute Abend noch was besseres ein, bei der Hitze ist das mit dem Denken so eine Sache :lol:

Zum Aktivieren: DATEI ; Optionen ; Menüband anpassen; Entwickertools anmachen

Dann hast du oben das Menü dafür, dort dann Makros und ein neues mit beliebigem Namen erstellen, den Code einfügen. Sub... und End sub wird natürlich nur ein mal am Anfang/Ende gebraucht
 
Zuletzt bearbeitet:
Ja nutze auch ein paar kleinere Makros. Werde deins gleich mal probieren!

So, wenn ich das ausführe gibt er mir folgendes aus:
111.jpg

also:
1 2
3 4
5

Musst da nicht so ein Aufwand betreiben, das vorherige war wirklich wichtig für mich, das wäre nur ein Bonus ^^
 
Zuletzt bearbeitet:
Ach so funktioniert das, moment ich ändere es kurz.
 
Hattest du den Post nochmal editiert gehabt? Wenn ich den Code so wie er jetzt ist, eingebe, passiert erstmal gar nix ^^
 
Zurück
Oben