Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: TEILERGEBNIS mit INDIREKT?

TEILERGEBNIS mit INDIREKT?
06.05.2013 09:41:24
Max
Hallo,
in einer Tabelle werden Einträge ab Spalte C über Unterbrechungen hinweg (Über-schriften)fortlaufend mit "=WENN(C2="";"";TEILERGEBNIS(3;$C$2:C2)*1)" in Spalte B gezählt (s. beiliegende Mustertabelle).
Im Laufe eines Jahres sollen dann bestimmte Einträge durch ausschneiden der ent-sprechenden Zellbereiche aus Tabelle1(bspw. ab C2 bis E2) in Tabelle2 (Archiv)in der jeweils nächsten freien Zeile von Spalte C eingefügt werden, wo sie durch die gleiche Formel gezählt werden.
Leider führt das Auschneiden aus Tabelle1 beim einfügen in Tabelle2 zum Fehler #BEZUG!, auch wenn ich C2 aus Tabelle1 ausschneide und in C2 von Tabelle2 einfüge.
Nach meiner bisherigen Suche im Internet soll sich das mit "INDIREKT" vermeiden lassen. Ich weiß allerdings nicht, wie ich damit die Formel anpassen muß, damit der #BEZUG!-Fehler nicht mehr auftritt.
Es wäre nett, wenn mir jemand helfen könnte.
Vorab schon mal Danke für die Mühe!
Gruß
Max K.
https://www.herber.de/bbs/user/85200.xls

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TEILERGEBNIS mit INDIREKT?
06.05.2013 09:48:33
Klaus
Hi,
müsste so gehen.
in B2 folgende Formel und runter kopieren:
=IF(INDIRECT("C"&ROW())="";"";SUBTOTAL(3;INDIRECT("$C$2:C"&ROW()))*1)
=wenn(INDIREkT("C"&zeile())="";"";teilergebniss(3;INDIREkT("$C$2:C"&zeile()))*1)
Indirekt hat aber so seine eigenen Probleme. Wenn deine Masterdatei sehr groß ist, wirst du deutliche Performanceeinbußen spüren.
Ich schlage vor, statt der INDIREKT-Krücke einfach auf ausschneiden (STRG+X) zu verzichten und stattdessen zu kopieren (STRG+C) und den kopierten Inhalt danach zu löschen (DEL). Das zerschiesst nicht die Bezüge, und die Formeln können performant bleiben.
Grüße,
Klaus M.vdT.

Anzeige
TEILERGEBNIS mit INDEX
06.05.2013 10:11:02
Rudi
Hallo,
mit INDEX() geht das auch.
B2: =WENN(INDEX(C:C;ZEILE())="";"";TEILERGEBNIS(3;$C$2:INDEX(C:C;ZEILE()))*1)
Gruß
Rudi

Erledigt: TEILERGEBNIS mit INDEX
06.05.2013 10:28:15
Max
Hallo Klaus, Hallo Rudi,
danke für die schnelle Hilfe! Ich werde eure Lösungen im Alltag
mal ausprobieren und schlimmstenfalls auf kopieren/löschen umsteigen.
Danke Euch und noch einen schönen Tag!
Gruß
Max
Anzeige
;
Anzeige

Infobox / Tutorial

TEILERGEBNIS mit INDIREKT und INDEX in Excel


Schritt-für-Schritt-Anleitung

  1. Formel anpassen: Um den Fehler #BEZUG! zu vermeiden, kannst du die Formel in Spalte B wie folgt anpassen:

    =WENN(INDIREKT("C"&ZEILE())="";"";TEILERGEBNIS(3;INDIREKT("$C$2:C"&ZEILE()))*1)

    Diese Formel nutzt die INDIREKT-Funktion, um dynamisch auf die Zellen zuzugreifen.

  2. Formel kopieren: Ziehe die Formel in Spalte B nach unten, um sie auf die anderen Zellen anzuwenden.

  3. Inhalte ausschneiden: Du kannst die gewünschten Zellbereiche aus Tabelle1 ausschneiden und in Tabelle2 einfügen. Beachte, dass dies ohne die INDIREKT-Anpassung zu einem #BEZUG!-Fehler führen kann.

  4. Alternativ kopieren: Eine bessere Methode ist es, die Zellen zu kopieren (STRG+C) und danach den Inhalt zu löschen (DEL), anstatt sie auszuschneiden (STRG+X).


Häufige Fehler und Lösungen

  • Fehler #BEZUG!: Dieser Fehler tritt auf, wenn du Zellen ausschneidest und in eine andere Tabelle einfügst. Um dies zu vermeiden, benutze die INDIREKT-Funktion oder kopiere die Zellen stattdessen.

  • Performance-Probleme: Bei großen Datenmengen kann die INDIREKT-Funktion zu Leistungseinbußen führen. In solchen Fällen empfiehlt es sich, auf die Nutzung von INDIREKT zu verzichten.


Alternative Methoden

  • Verwendung von INDEX: Du kannst auch die INDEX-Funktion nutzen, um die gleiche Funktionalität zu erreichen, ohne auf INDIREKT zurückzugreifen. Die Formel sieht dann so aus:

    =WENN(INDEX(C:C;ZEILE())="";"";TEILERGEBNIS(3;$C$2:INDEX(C:C;ZEILE()))*1)
  • Direktes Kopieren: Anstatt Inhalte auszuschneiden, empfehle ich, sie zu kopieren. So bleiben die Zellbezüge erhalten.


Praktische Beispiele

  • Beispiel mit INDIREKT: Angenommen, du hast in Spalte C eine Liste von Einträgen. Mit der angepassten Formel in Spalte B wird die Anzahl der Einträge ohne #BEZUG!-Fehler korrekt gezählt, auch wenn Zellen verschoben werden.

  • Beispiel mit INDEX: Du kannst die INDEX-Formel verwenden, um eine ähnliche Zählung durchzuführen, die weniger anfällig für Fehler ist, wenn du Daten zwischen Tabellen verschiebst.


Tipps für Profis

  • Formeln optimieren: Achte darauf, deine Formeln so zu gestalten, dass sie auch bei großen Datenmengen schnell arbeiten. Überlege, ob INDIREKT oder INDEX für deine Anforderungen am besten geeignet ist.

  • Datenverwaltung: Halte deine Datenbanken aufgeräumt und vermeide unnötige Verschiebungen von Zellen, um Fehler zu minimieren.


FAQ: Häufige Fragen

1. Warum erhalte ich den Fehler #BEZUG! bei der Verwendung von TEILERGEBNIS?
Der Fehler tritt auf, wenn du Zellen ausschneidest und in eine andere Tabelle einfügst. Verwende stattdessen die INDIREKT-Funktion oder kopiere die Zellen.

2. Wie kann ich die Leistung bei großen Datenmengen verbessern?
Vermeide die Verwendung von INDIREKT und arbeite stattdessen mit direkten Zellreferenzen oder der INDEX-Funktion, um die Performance zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige