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

Forumthread: Excel - Formel auf andere Zellen erweitern

Excel - Formel auf andere Zellen erweitern
03.01.2013 13:23:02
Dominic
Hi zusammen,
ich habe folgendes Problem in Excel. Ich habe eine Formel z. B. in Zelle B10. Diese Formel muss nun auf alle anderen Zellen von B11-B100 übertragen werden, allerdings leicht abgewandelt.
Die Formel in B10 lautet:
DBSUMME(Datenbereich;"Maximalbestand";DB!BI4:BM5)
Erklärung:
Es wird im Datenbereich (=separates Tabellenblatt) die Summe des "Maximalbestands" mit den Kriterien die in dem Tabellenblatt "DB" unter BI5:BM5 stehen errechnet.
Die Formel in B11 soll dann bei BI4 und BM5 um jeweils 2(!) erhöht werden. Das funktioniert aber nicht. Wenn ich nun die folgenden drei Formeln nacheinander in B10, B11 und B12 manuell eingebe, diese dann markiere und auf die anderen Zellen runterziehen will funktioniert es einfach nicht.
B10: DBSUMME(Datenbereich;"Maximalbestand";DB!BI4:BM5)
B11: DBSUMME(Datenbereich;"Maximalbestand";DB!BI6:BM7)
B12: DBSUMME(Datenbereich;"Maximalbestand";DB!BI8:BM9)
Gibt es eine Möglichkeit, dass ich Excel "zwinge" in zweier Schritten die Zellen zu ändern?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel - Formel auf andere Zellen erweitern
03.01.2013 13:32:44
Dominic
Die Formel lautet natürlich nicht "DBSUMME" sondern "DBMax". Summe macht in dem Zusammenhang keinen Sinn, aber meine grundsätzliche Frage ändert das natürlich nicht. :)

BEREICH.VERSCHIEBEN(DB!BI4:BM4;ZEILE()-ZEILE(A$10)
03.01.2013 13:36:56
NoNet
Hallo Dominic,
das kannst Du recht einfach mit folgendem Konstrukt (in Zelle B10 !) erreichen :
=DBSUMME(Datenbereich;"Maximalbestand";BEREICH.VERSCHIEBEN(DB!BI4:BM4;ZEILE()-ZEILE(A$10);0))
Diese Funktion einfach nach unten kopieren (durch die relative Bezüge ändert sich die Zeillennummer und mit ZEILE()-ZEILE(A$10) wird der Versatz addiert !
Gruß, NoNet

Anzeige
AW: BEREICH.VERSCHIEBEN(DB!BI4:BM4;ZEILE()-ZEILE(A$10)
03.01.2013 13:48:45
Dominic
Hi NoNet,
okay super, das probiere ich gleich mal aus. Kannst du mir aber bitte noch vorher sagen wofür das "A$10" steht?
Und macht es einen Unterschied ob mein Bereich von BI4:BM5 geht, statt wie du in deiner Formel angibst "BI4-BM4"? Die Definition der Kriterien für die DB Formen / Funktionen muss leider immer so in dieser Syntax erfolgen. Heißt in meinem Datenblatt "DB" steht in der Zeile BI4-BM4 die "Überschriften" exakt so wie sie in der Datenbasis vorliegen, in der Zeile BI5-BM5 stehen dann die gewünschten "Filter" also die Werte nach denen die DB Formel selektieren soll.

Anzeige
Klaro : Sollte BI4:BM5 lauten !!
03.01.2013 13:59:52
NoNet
Hallo Dominic,
es sollte natürlich BI4:BM5 heißen - war ein Tippfehler von mir - sorry !
Der Teil ZEILE()-Zeile(A$10) bedeutet, dass von der aktuelle Zeilennummer immer 10 abgezogen werden, bei der Funktion in Zeile 10 bezieht sich die Funktion also auf DB!BI4:BM5, in Zeile 11 wechselt der tatsächliche Bezug dann um 2 Zeilen nach unten (durch den relativen Bezug in der kopierten Adresse um 1 Zeile und durch dieses Konstrukt um 1 weitere Zeile nach unten), also auf DB!BI6:BM7 etc.
Dieses Kontrukt verwendet man, damit auch nachträglich oberhalb der Zeile 10 Zeilen eingefügt oder gelöscht werden können, ohne dass die Funktionalität verloren geht, wie das z.B. bei ZEILE(A1)-1 der Fall wäre (Zeile 1 dürfte dann nicht gelöscht werden, da dies zu einem #BEZUG!-Fehler führt) !
Gruß, NoNet
PS : Als "Excel-Profi" - so Deine Selbsteinschätzung - setze ich das allerdings alles als bekannt voraus ;-))

Anzeige
AW: Klaro : Sollte BI4:BM5 lauten !!
07.01.2013 13:50:48
Dominic
Hi NoNet,
vielen dank für deine Hilfe. Wenn ich nun diese Syntax des Befehls Bereich.verschieben richtig verstanden habe, müsste doch mit der Erweiterung deiner Formel mit folgender Formel auch bei einem Übertragen auf andere Spalten die Berechnung funktionieren?
=DBSUMME(Datenbereich;"Maximalbestand";BEREICH.VERSCHIEBEN(DB!BI4:BM5;ZEILE()-ZEILE(A$10);Spalte() -Spalte(C$5)
Leider funktioniert das kopieren so trotzdem nicht. Es wird mir in jeder Spalte der gleiche Wert aus der Ursprungszelle in die ich diese Formel eingetragen habe angezeigt. Hast du noch eine Idee?
Es soll der Bereich im Datenblatt auf den verwiesen wird um 5 Spalten verschoben werden.
Soll heißen für die Werte in Spalte C22 bis C120 werden die Werte aus den Bereichen von A4:D5; in der Zelle darunter jeweils um +2 verschoben wie gehabt A6:D7 usw. und wenn es nun um das Übertragen von Spalte C auf Spalte D geht, sollen die Werte um +5 addiert werden, da die Werte für Spalte D in den Bereichen von F4:I5 stehen, für Spalte E in K4:N5 usw.
Wie bekomme ich das so hin?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Formel auf andere Zellen erweitern


Schritt-für-Schritt-Anleitung

  1. Formel in die erste Zelle eingeben: Gehe zu Zelle B10 und gib die folgende Formel ein:

    =DBMAX(Datenbereich;"Maximalbestand";DB!BI4:BM5)
  2. Bereich verschieben: Um die Formel in den Zellen B11 bis B100 zu erweitern, musst du die BEREICH.VERSCHIEBEN-Funktion nutzen. Ersetze die Formel in B10 durch:

    =DBMAX(Datenbereich;"Maximalbestand";BEREICH.VERSCHIEBEN(DB!BI4:BM4;ZEILE()-ZEILE(A$10);0))
  3. Formel nach unten kopieren: Ziehe die untere rechte Ecke der Zelle B10 nach unten bis zur Zelle B100. Die Zeilennummer wird durch den relativen Bezug automatisch angepasst.


Häufige Fehler und Lösungen

  • Fehler: Falsche Zellen werden referenziert: Stelle sicher, dass der Bezug in BEREICH.VERSCHIEBEN korrekt ist. Es sollte sich auf den entsprechenden Bereich beziehen, der an die anderen Zahlen angrenzt.

  • Fehler: #BEZUG!: Dieser Fehler tritt auf, wenn die Formel auf eine nicht existierende Zelle verweist. Überprüfe die Zeilen- und Spaltenreferenzen in deiner Formel.


Alternative Methoden

  • Excel Matrix erweitern: Du kannst auch eine Matrixformel verwenden, um mehrere Werte gleichzeitig zu berechnen. Dies erfordert jedoch eine spezielle Eingabe durch Drücken von Strg + Shift + Enter.

  • Excel $ in Formel: Verwende das Dollarzeichen ($), um absolute Bezüge zu erstellen, wenn du nicht möchtest, dass sich der Bezug beim Kopieren der Formel ändert.


Praktische Beispiele

  • Beispiel 1: Um den maximalen Bestand in verschiedenen Bereichen zu berechnen, kannst du die Formel für B10 verwenden und die anderen Zellen entsprechend anpassen:

    =DBMAX(Datenbereich;"Maximalbestand";BEREICH.VERSCHIEBEN(DB!BI4:BM5;ZEILE()-ZEILE(A$10);0))
  • Beispiel 2: Um die Formel auf andere Spalten zu übertragen, erweitere die Formel mit:

    =DBMAX(Datenbereich;"Maximalbestand";BEREICH.VERSCHIEBEN(DB!BI4:BM5;ZEILE()-ZEILE(A$10);SPALTE()-SPALTE(C$5))

Tipps für Profis

  • Verwende @ in Formeln, um den aktuellen Zeilenkontext zu berücksichtigen. Dies ist besonders nützlich, wenn du mit dynamischen Daten arbeitest.

  • Halte die Daten organisiert, damit die DBMAX-Funktion effizient arbeiten kann. Eine saubere Datenstruktur bringt oft bessere Ergebnisse bei der Anwendung von Excel-Formeln.


FAQ: Häufige Fragen

1. Warum funktioniert die Formel nicht, wenn ich sie nach unten ziehe?
Es kann an den relativen und absoluten Bezügen liegen. Überprüfe, ob du die richtigen Bezüge verwendest.

2. Was ist der Unterschied zwischen DBSUMME und DBMAX?
DBMAX gibt den höchsten Wert im angegebenen Datenbereich zurück, während DBSUMME die Summe der Werte errechnet. Stelle sicher, dass du die korrekte Funktion für deine Anforderungen verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige