Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
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
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

lannge formel verkürzen

lannge formel verkürzen
Friederike
Hi,
ich hab folgendes Problem, und zwar hab ich eine formel, die über die maximale zeichenanzahl hinausschiesst.
nun möchte ich ungern mit zwischensummen, vbscript o.ä. arbeiten.
gibt es vielleicht eine möglichkeit, die formel auf "natürlichem" wege zu verkleinern?
danke für eure hilfe!
so schaut sie aus:
=(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$16))*$A$16)+(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$17))*$A$17)+(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$18))*$A$18)+(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$19))*$A$19)+(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20))*$A$20)+(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20))*$A$21)

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

Betreff
Benutzer
Anzeige
ergänzung
Friederike
hier nochmal die formel etwas aufgeschlüsselt, ich hoffe sie ist jetzt etwas übersichtlicher.
kann man vielleicht alles mit "AND" zusammenfassen?
=
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$16))
*
$A$16)
+
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$17))
*
$A$17)
+
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$18))
*
$A$18)
+
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$19))
*
$A$19)
+
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20))
*
$A$20)
+
(SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)
*
('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)
*
('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20))
*
$A$21)
Anzeige
vielleicht so?
IngoG
Hallo Friederike,
zunächst einmal ist mir aufgefallen, dass die formel eine inkonsistenz aufweist:
ganz am ende steht
*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20))*$A$21)
und nicht
*('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$21)*$A$21)
wie es meiner meinung nach richtig wäre.
zur Verkürzung müßte eigentlich folgendes funzen:
=SUMPRODUCT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*((('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$16)*$A$16)+(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$17)*$A$17)+(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$18)*$A$18)+(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$19)*$A$19)+(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$20)*$A$20)+(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$21)*$A$21)))
Du ziehst also die summierungen alle in eine summenproduktkunktion und sparts dadurch die immergleichen ersten abfragen.
kann man vielleicht noch optimieren, aber ist ja schon mal ein anfang...
eine andere alternative wäre, den bereich aus der externen datei in die aktuelle tabelle zu übertragen mit zB
='[12 Dezember 2004.xls]12 Dezember'!a1 für a1 usw
und anschließend deine Formel auf die bezüge in dieser Mappe zu beziehen.
Gruß Ingo
PS eine Rückmeldung wäre nett...
Anzeige
AW: vielleicht so?
Friederike
danke, dass ist schon mal ein erster anfang.
ich hab zwischenzeitlich versucht die formel mit "AND" zu ergänzen, aber das funktionierte auch nicht so recht.
mit dem fehler am ende der formel hast du recht ;-) es sollte A21 heissen.
das eigentliche problem, was mit jetzt erst so richtig bewusst geworden ist und die ganze sache noch erschwert ist, dass diese formeln in ein anderes workbook exportiert werden.
wird das nun geöffnet, so wird noch der ganze verzeichnispfad in die formel reingeschmissen, so das es glaub ich unmöglich ist, die formel auf ein erträgliches maß zu kürzen.....
die daten aus der externen tabelle zu übertragen wäre auch sinnfremd, weil gerade das getrennt werden sollte. :-(
mir bleibt wohl nix anderes übrig, als zwischenformeln einzufügen :-(
danke für die mühe!
Anzeige
AW: vielleicht so?
Ingo
Hallo Friederike,
mir ist nicht ganz klar, warum die lösung mit der Zwischenspeicherung der Daten in einem neuen Blatt deiner auswertungsdatei nicht erwünscht ist.
Du müßtest doch nur die 3 relevanten spalten e9:e350, f9:f350 und cd9:cd350 in einer Hilfstabelle abbilden und dich anschließend darauf beziehen.
da es sich dann wieder um bezüge handelt, ist das verhalten der Datei identisch mit der Lösung die du jetzt verwendest...
Gruß Ingo
AW: vielleicht so?
20.04.2004 17:58:20
Friederike
danke, dass ist schon mal ein erster anfang.
ich hab zwischenzeitlich versucht die formel mit "AND" zu ergänzen, aber das funktionierte auch nicht so recht.
mit dem fehler am ende der formel hast du recht ;-) es sollte A21 heissen.
das eigentliche problem, was mit jetzt erst so richtig bewusst geworden ist und die ganze sache noch erschwert ist, dass diese formeln in ein anderes workbook exportiert werden.
wird das nun geöffnet, so wird noch der ganze verzeichnispfad in die formel reingeschmissen, so das es glaub ich unmöglich ist, die formel auf ein erträgliches maß zu kürzen.....
die daten aus der externen tabelle zu übertragen wäre auch sinnfremd, weil gerade das getrennt werden sollte. :-(
mir bleibt wohl nix anderes übrig, als zwischenformeln einzufügen :-(
danke für die mühe!
Anzeige
AW: lannge formel verkürzen
Coach
Hallo Frederike,
wie wärs mit folgender Variante:
=SUMMENPRODUKT(('[12 Dezember 2004.xls]12 Dezember'!F$9:F$350=$D13)*('[12 Dezember 2004.xls]12 Dezember'!$B$9:$B$350=$E13)*(('[12 Dezember 2004.xls]12 Dezember'!$CD$9:$CD$350=$A$16:$A$21)*$A$16:$A$21))
Grüße
Coach

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige