Anzeige
Archiv - Navigation
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Teilergebnis & Indirekt Bezug greift nicht

Teilergebnis & Indirekt Bezug greift nicht
10.08.2004 11:09:28
Seb
Hallo,
meine Formel lautet "derzeit" :) wie folgt:
=SUMPRODUCT(SUBTOTAL(2;INDIRECT("daten!A"&ROW(2:50)))*(daten!A$2:A$50=skalen!$C$4))
Ziel ist es über einen Autofilter auf dem Blatt "daten" etwas zu zählen, sofern es dem hinteren Teil des Ausdrucks (...=skalen!$C$4) entspricht.
Problem dabei: er macht es zwar, aber sofern ich ne neue Zeile drüber einfüge stimmt der Bezug nicht mehr.
Habe das Gefühl, dass mein Bezug auf das Arbeitsblatt "daten" nicht greift (so scheint auch die Umrandung).
Könnt ihr mir helfen, WIE ich den Verweis auf das andere Blatt in der INDIRECT-Funktion hinbekomme?
Vielen Dank, Seb.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilergebnis & Indirekt Bezug greift nicht
Boris
Hi Seb,
Problem dabei: er macht es zwar, aber sofern ich ne neue Zeile drüber einfüge stimmt der Bezug nicht mehr.
Das haben Bezüge nunmal so an sich, dass sie sich ändern, wenn Zeilen / Spalten eingefügt oder gelöscht werden.
Wenn du das nicht möchtest, musst du alle Bezüge INDIREKT adressieren.
Allerdings hab ich noch nicht kapiert, in welchem Blatt du wo und was einfügst und was wann und wie unverändert bleiben soll.
Grüße Boris
AW: Teilergebnis & Indirekt Bezug greift nicht
10.08.2004 15:14:01
Seb
Hallo Boris,
geht primär um den Teil innerhalb der INDIREKT-Funktion:
...INDIRECT("daten!A"&ROW(2:50)))*(daten!A$2:A$50=skalen!$C$4))
Den hinteren Teil *(daten!...) zieht er sich ja brav aus dem sheet "daten", aber! der vordere Teil ("daten!A"&ROW***) -- das müsste ich doch auch so ähnlich angeben können wie den hinteren Teil, bspw. INDIRECT("daten!A2:A50")*** -- da kommt dann aber ein Fehler oder 0.
Die Funktion an sich komplett benötige ich, um bei Autofilter On bestimmte Werte pro Spalte zu Counten.
Danke für die Hilfe,
Seb.
Anzeige
Man achte auf die Klammersetzung...
Boris
Hi Seb,
die Formel:
=SUMPRODUCT(SUBTOTAL(2;INDIRECT("daten!A"&ROW(2:50)))*(daten!A$2:A$50=skalen!$C$4))
geht primär um den Teil innerhalb der INDIREKT-Funktion:
...INDIRECT("daten!A"&ROW(2:50)))*(daten!A$2:A$50=skalen!$C$4))

Hier liegt der Hase ja schon im Pfeffer:
Der Part mit INDIRECT ist nur folgender:
INDIRECT("daten!A"&ROW(2:50)))
Da gehen 3 Klammern zu und INDIRECT ist somit vollends versorgt.
Die Funktion INDIRECT ist hier ja nur integraler Bestandteil der Funktion SUBTOTAL - bildet also den 2. Paramter:
SUBTOTAL(2;INDIRECT("daten!A"&ROW(2:50)))
Durch diesen Teil der Gesamtformel werden ja nur Wahrheitswerte erzeugt - TRUE oder FALSE - TRUE, wenn die entsprechende Zeile 2:50 nach dem Filtervorgang sichtbar ist UND eine Zahl enthält - andernfalls FALSE - also entsprechend der Funktion ANZAHL. Und das geht eben nur zeilenweise - also Zeile für Zeile.
Und diese Wahrheitswerte sind die Multiplikatoren für die folgende Bedingung:
(daten!A$2:A$50=skalen!$C$4))
Jeder Wert aus A2:A50 wird überprüft, ob er mit dem Wert aus C4 übereinstimmt. Auch hier gibt´s nur: TRUE oder FALSE.
Und am Ende werden alle TRUE und FALSE aus der SUBTOTAL-INDIRECT-Kombination mit den TRUE oder FALSE aus der Bedingung (daten!A$2:A$50=skalen!$C$4)) multipliziert - und ergeben am Ende eine Ergebnismatrix bestehend aus Einsen und Nullen - denn nur TRUE*TRUE = 1 - alles andere ergibt Null. Und die Nuller werden am Ende aufsummiert - daher wird das Ganze umrandet von der Function SUMPRODUCT.
Und jetzt schilder mir nochmal dein ganaues Problem.
Grüße Boris
Anzeige
AW: Man achte auf die Klammersetzung...
10.08.2004 17:48:50
Seb
Hi Boris,
vielen Dank erstmal für die lange Erklärung zur Fkt., prima :).
Mein Problem dabei, die Fkt. an sich funktioniert wie ich sie will, aber: ich kann keine neuen Zeilen einfügen nach der Zelle mit der Funktion.
Wenn ich in die Adresszeile mit dem Cursor gehe, sehe ich auch, dass ein großer blauer Rand v. Zeile 2:50 geht, somit denke ich, dass die Referenz auf das andere Worksheet "daten!***" nicht greift, sonst müsste dort ja der Rahmen angezeigt werden.
Hoffe es war einigemaßen verständlich :)
Thx, Seb.
AW: Man achte auf die Klammersetzung...
Boris
Hi Seb,
Wenn ich in die Adresszeile mit dem Cursor gehe, sehe ich auch, dass ein großer blauer Rand v. Zeile 2:50 geht, somit denke ich, dass die Referenz auf das andere Worksheet "daten!***" nicht greift, sonst müsste dort ja der Rahmen angezeigt werden.
In dem Moment, in dem du die Bearbeitungszeile aktivierst, wird die Funktion ROW(2:50) ausgewertet - und nix anderes. Und das ist nunmal der Tabellenbereich im aktiven Blatt.
Dass dieser Teil (ROWS(2:50)) noch mit einem String "Daten!A" innerhalb INDIRECT verkettet wird, kann die Funktion im Editiermodus natürlich nocht nicht "wissen".
Aber ich hab immer noch nicht verstanden, worin das Problem besteht. Lade doch einfach mal ne Beispieltabelle hoch, schreib dabei, wo du was einfügen möchtest, was rauskommt und was du eigentlich erwartet hättest.
Grüße Boris
Anzeige
AW: Man achte auf die Klammersetzung...
10.08.2004 20:35:36
Seb
Hallo Boris,
vielen Dank nochmal für die Erklärung oben. Das mit der Auswertung lediglich von ROW(2:50) wußte ich nicht. Das macht mich aber schon glücklich, weil es geht jetzt alles :).
Dank Dir + Grüße, Seb.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige