Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnung mit Schrittweite

Forumthread: Berechnung mit Schrittweite

Berechnung mit Schrittweite
16.03.2004 14:46:49
Martin
Hallo Excelfreunde,
ich habe im Tabellenblatt1 in a1 eine Überschrift und in b1 und b3 zwei Zahlen. in b5 wird die Summe von b1 und b3 gebildet. Soweit, so gut.
nun kommt darunter allerhand Müll und ab Zelle a12 geht das gleiche mit dem gleichen Aufbau weiter. Davon gibt es ca. 5000 Einträge.
Im Tabellenblatt2 brauche ich nur jeweils die Überschrift, beide Summanden und die Gesamtsumme untereinander, ohne den ganzen anderen Müll.
D.h. also, ich möchte z.B. von A1 ausgehend immer den Wert der Zelle rechts daneben (b1), zwei tiefer (b3) und nochmal zwei tiefer (b5). Ab A12 gilt der komplett gleiche Aufbau. Also wieder A12, dann B12, B14 und B16. Dabei soll alles untereinander, ohne leere Zellen ausgegeben werden. Nix ausblenden usw.
Gibt es für so etwas eine Formel?
Danke und Gruß
Martin
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnung mit Schrittweite
16.03.2004 17:30:05
Uwe
Da Du, Martin,
Level: VBA mit nein angibst, hier die Zellenformeln entwickelt, die zum Ziel führen könnten.
Über den standardmäßigen Rhmen hinaus muß in Deinem Fall ein WENN-Block eingefügt werden, da die gleichmäßige Schrittweite von 12 (12, 24, 36, .. = deltaT =T2-T1=12) zwischen den Elementen 1 und 12 gestört ist, da dort deltaT nur 11 ergibt.

Die Basis-Lesezeile in der Tabelle1 von zwölf wird durch den Term 12*ZeileNrInTab2 festgelegt.
Nun ist aber auch der Index in der Tabelle2 indirekt von der Zeile abhängig, nämlich els gilt: Index=GANZZAHL(ZeileNrInTab2/4), da vier Einträge pro Index zu überspringen sind. Wegen der Sonderbehandlung von Zeilennummer=1, siehe ersten Absatz.
Beide Indexberechnungsteile zusammengeführt liefert: Index=12*GANZZAHL(ZeileNrInTab2/4)
Erweitert um die Sonderbehandlung im Falle, dass ZeilenNrInTab2=1 ist, die gleichzeitig dazu benutzt wird, um das rlative Zeilenoffset in der Spalte B zu berücksichtigen.
Tabellenblatt2

ZelleA1 : =INDIREKT("Tabelle1!A"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;1;0))
ZelleA2 : =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;1;0))
ZelleA3 : =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;3;2))
ZelleA4 : =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;5;4))

Den Zellenberich A1 bis A4 auf dem Tabellenblatt2 markieren und durch ziehen, die Formeln in den darunterliegenden Bereich übertragen.
Wenn dies nicht fehlerfrei läuft, dann ist es vielleicht ein Wegidee.
Gruß!
Anzeige
;
Anzeige

Infobox / Tutorial

Berechnung mit Schrittweite in Excel


Schritt-für-Schritt-Anleitung

Um die gewünschten Werte aus der Tabelle1 in Tabelle2 mit einer Schrittweite von 12 zu extrahieren, kannst Du die folgenden Schritte ausführen:

  1. Öffne Excel und gehe zu Tabelle2.

  2. Gib in Zelle A1 die folgende Formel ein:

    =INDIREKT("Tabelle1!A"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;1;0))
  3. Gib in Zelle A2 die folgende Formel ein:

    =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;1;0))
  4. Gib in Zelle A3 die folgende Formel ein:

    =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;3;2))
  5. Gib in Zelle A4 die folgende Formel ein:

    =INDIREKT("Tabelle1!B"&12*GANZZAHL(ZEILE(A1)/4)+WENN(ZEILE(A1)=1;5;4))
  6. Markiere den Bereich A1 bis A4 und ziehe die Formeln nach unten, um die Werte für die restlichen Zeilen zu extrahieren.


Häufige Fehler und Lösungen

  • Fehler: #BEZUG!
    Dieser Fehler tritt auf, wenn der Bezug auf die Zelle nicht korrekt ist. Überprüfe, ob die Tabelle1 korrekt benannt ist und die Formeln genau eingegeben wurden.

  • Fehler: Leere Zellen
    Achte darauf, dass Du die Formeln in den richtigen Zellen eingibst. Wenn Du die Formeln nicht korrekt herunterziehst, kann es sein, dass leere Zellen erscheinen.


Alternative Methoden

Wenn Du nicht mit Formeln arbeiten möchtest, kannst Du auch VBA verwenden. Hier ist ein einfaches VBA-Skript, das die Werte automatisch überträgt:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu und kopiere diesen Code hinein:

    Sub WerteKopieren()
        Dim i As Long, j As Long
        j = 1
        For i = 1 To 5000 Step 12
            Sheets("Tabelle2").Cells(j, 1).Value = Sheets("Tabelle1").Cells(i, 1).Value
            Sheets("Tabelle2").Cells(j, 2).Value = Sheets("Tabelle1").Cells(i + 1, 1).Value
            j = j + 1
        Next i
    End Sub
  3. Führe das Skript aus, um die Daten zu übertragen.


Praktische Beispiele

Angenommen, Du hast in Tabelle1 die folgenden Werte:

A B
Überschrift 10
20
30
40
50
... ...

Nach Anwendung der oben genannten Formeln oder des VBA-Skripts in Tabelle2, erhältst Du:

A B
Überschrift 10
Überschrift 20
Überschrift 30
Überschrift 40
Überschrift 50

Tipps für Profis

  • Nutze die Funktion FILTER, wenn Deine Excel-Version dies unterstützt, um die Daten dynamisch zu extrahieren, ohne die Schritte manuell zu wiederholen.
  • Achte darauf, die Formeln regelmäßig zu überprüfen, besonders wenn Du Änderungen in Tabelle1 vornimmst.

FAQ: Häufige Fragen

1. Kann ich die Schrittweite ändern?
Ja, Du kannst die Zahl 12 in den Formeln durch eine andere Zahl ersetzen, um eine andere Schrittweite zu verwenden.

2. Funktioniert das auch in Excel Online?
Ja, die oben genannten Formeln sollten auch in Excel Online funktionieren, sofern Du die richtigen Berechtigungen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige