[MS Excel] Formeln kopieren

BtK

Cadet 2nd Year
Registriert
Okt. 2008
Beiträge
24
Hallo,

ich möchte in einer Tabelle Formeln so in die darunter liegenden Spalten kopieren, dass der Wert nicht um 1 sondern um 4 inkrementiert wird.

Beispiel:
Spalte 1: =SUMME(Gesamt!$C5)
Spalte 2: =SUMME(Gesamt!$C9)
Spalte 3: =SUMME(Gesamt!$C13)
usw...

Wenn ich nun aber diese Spalten nach Unten kopiere erhalte ich folgendes:

Spalte 1: =SUMME(Gesamt!$C5)
Spalte 2: =SUMME(Gesamt!$C9)
Spalte 3: =SUMME(Gesamt!$C13)
Spalte 4: =SUMME(Gesamt!$C8)
Spalte 5: =SUMME(Gesamt!$C12)
Spalte 6: =SUMME(Gesamt!$C16)
Spalte 7: =SUMME(Gesamt!$C11)

Wie kommt das:freak:? Und wie kann ich erreichen, dass der Wert um 4 erhöht wird?
Das würde mir sehr weiter helfen.

Google hat mir komischerweise noch nicht viel weiter geholfen.
Wenn ich doch noch was finde, poste ich das hier...

Danke für Hilfe!
 
Hi,

wie das direkt mit Excel "Bord-Mitteln" funktioniert kann ich dir leider auch nicht sagen,
allerdings sollte dir dieses kleine Makro weiterhelfen:

Code:
Sub ink()

Dim i, a As Integer
a = 5
For i = 1 To 20
    Cells(i, 1).FormulaLocal = "=SUMME(Gesamt!$C" & a & ")"
    a = a + 4
Next
End Sub

VG
 
Excel funktioniert anders, als Du es Dir vorstellst. Formeln lassen sich nicht wie Werte kopieren/automatisch ergänzen (und das macht auch Sinn).

Damit Formeln auch nach dem Kopieren noch funktionieren, wird hier nicht automatisch inkrementiert, sondern der relative Zellbezug erhalten. Wenn Du in Zeile(!) 1 auf $C5 verweist, dann verweist dies absolut auf Spalte C (durch das Dollarzeichen wird Spalte beim kopieren nie verändert) und relativ auf Zeile 5 (relativ=4 Zeilen tiefer). Wenn Du diese Formel dann in Zeile 4 kopierst, wird nach wie vor auf die absolut definierte Spalte C verwiesen und auch nach wie vor auf 4 Zeilen tiefer, sprich auf $C8. Also alles wie erwartet. War das verständlich?

Würde es Dir helfen, die Referenz auf Basis der Zeile berechnen?
=INDIREKT("Gesamt!$C" & 5+((ZEILE()-1)*4))
Summe habe ich weggelassen, weil ich den Sinn davon nicht erkenne. Ein Feld summieren?

Oder nutze eine Hilfsspalte, schreibe dort 5, 9, 13 als Werte, kopiere das nach unten.
Das funktioniert so, wie Du es irrtümlich auch von Formeln erwartet hast.
Mittels indirekt und Stringverbindung kannst Du dann in eigentlicher Spalte zusammensetzen, was
Du brauchst.
 
Zuletzt bearbeitet:
Vielen Dank Euch beiden, für die Schnelle Antwort.

@myoizo, dein Makro hat supoer funktioniert und mir die manuelle bearbeitung von 1166 Zellen erspart! Danke!

@OhNoIKilledMyHD, danke auch Dir. Nun habe ich das Verhalten von Excel verstanden.
Und Du hast natürlich recht, ich meinte Zeile (zu früh am Morgen ;)). Das $ einen Absolutenbezug deklariert war mir bewusst.
Deine Formel hat mir leider nicht geholfen. Aber trotzdem danke für die Mühe!
 
Bei meiner Formel ging es nur darum, die Zelle (also C5, C9, C13, C17...) dynamisch zu berechnen in Abhängigkeit von Zeile bzw. Spalte.

Damit Du ein Feld als Zeichenkette zusammensetzen kannst, braucht es drumherum INDIREKT().
("Gesamt!$C" & 5+((ZEILE()-1)*4))
Würde also zusammengesetzt zu
für Zeile 1: Gesamt!$C5
für Zeile 2: Gesamt!$C9
für Zeile 3: Gesamt!$C13
usw...
Da kannst Du natürlich auch noch Summe drumherumschreibe, auch wenn es hier nichts bringt.
=SUMME(INDIREKT("Gesamt!$C" & 5+((ZEILE()-1)*4)))

Sollte das ganze Spaltenabhängig sein, dann mit SPALTE(). Soll es erst in Zeile 12 o.ä. beginnen, dann müsstest Du ("Gesamt!$C" & 5+((ZEILE()-12)*4)) verwenden.

Da Du aber mit Makros klarkamst, ist myoizos Weg sicherlich einfacher.
 
Zurück
Oben