Microsoft Excel

Herbers Excel/VBA-Archiv

Dynamische Summe über nicht zusammenhängte Blätter

Betrifft: Dynamische Summe über nicht zusammenhängte Blätter von: Michael Martin
Geschrieben am: 28.10.2014 08:51:56

Moin,

ich habe folgendes Problem:

Ich will über verschiedene Tabellenblätter hinweg summieren, wobei die Menge der Tabellenblätter, über die summiert wird, variabel sein soll.

Bspw. will ich die Summe über alle Zellen Q10 aus den Tabellenblättern haben, deren Name mit "0_K" anfängt. Die Idee, das mit der Formel ={SUM(IF(LEFT(A2:A10;3)="0_K";1;0)*INDIRECT("'"&A2:A10&"'!Q10"))} mit den Namen aller Blätter in A2:A10 scheint daran zu scheitern, dass INDIRECT nur {#VALUE;#VALUE;...} zurückgibt.

Eine Hilfstabelle mit Zwischenergebnissen für jedes Tabellenblatt ist leider auch keine Lösung, da es sich um ziemlich viele Tabellenblätter handelt.
Im Internet finde ich sonst leider gerade auch keine passende Lösung. Kann ich die INDIRECT-Funktion irgendwie dazu überreden Arrays zu schlucken?

VG,
Mike

  

Betrifft: nur mal so auf die Schnelle ... von: neopa C (paneo)
Geschrieben am: 28.10.2014 09:23:43

Hallo Mike,

... Du schreibst: "Eine Hilfstabelle mit Zwischenergebnissen für jedes Tabellenblatt ist leider auch keine Lösung". Ich halte dies aber für den Fall, das Du kein VBA einsetzen willst, für die einfachste und schnellste Lösung. Wenn Du aber eine VBA Lösung haben willst, dann stell den Thread auf offen.

Gruß Werner
.. , - ...


  

Betrifft: AW: Dynamische Summe über nicht zusammenhängte Blätter von: Beate Schmitz
Geschrieben am: 28.10.2014 09:37:14

Hallo Mike,

definiere einen Namen SheetList für den Bereich A2:A10, dann so:

 ABC
1SheetList  
20_K1 Summe alle Zellen Q10 der Blätter gem. SheetList:
30_K2 89
40_K3  
50_K4  
60_K5  
70_K6  
80_K7  
90_K8  
100_K9  

Formeln der Tabelle
ZelleFormel
C3{=SUMME(N(INDIREKT("'"&SheetList&"'!"&"Q10")))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
C3SheetList=Tabelle1!$A$2:$A$10
Namen verstehen


Gruß,
Beate


  

Betrifft: AW: Dynamische Summe über nicht zusammenhängte Blätter von: Michael Martin
Geschrieben am: 28.10.2014 09:57:08

Hi,

vielen Danke für die Antwort, erstaunlich! N() verwandelt den #VALUE!-Fehler der INDIRECT-Funktion wieder in Zahlenwerte. Scheint eine Art Bug im Formelauswerter zu sein? Etwas schade, da man so nicht so gut nachverfolgen kann, ob die Formel auch das Richtige macht.
Problem gelöst, danke!
Max


  

Betrifft: Falls du den FmlAssi meinst, ist das kein Bug, ... von: Luc:-?
Geschrieben am: 28.10.2014 16:32:56

…Max,
sondern das diesbzgl Pgm stellt Ergebnisse volatiler Fktt einfach nur nicht dar (Veränderlich), weil das möglicher­weise zu kompliziert für ein Hilfspgm ist oder zu xlInstabi­litäten führen könnte. INDIREKT liefert höchst­wahr­scheinlich ein Ergebnis, das nicht oW auf einen Zell­Bereich abbildbar, aber von manchen xlStandard­Fktt verarbeitbar ist. Das Ergebnis ist dann bei rein numerischen Ergebnissen eine abbildbare Matrix. Bei reinen Text­Ergebnissen kann übrigens die Fkt T verwendet wdn. Da es keine derartige Standard­Fkt* für gemischte Ergebnisse gibt, müsste man sich in diesen Fällen mit (ggf 2×) MTRANS behelfen, was aber bei blatt­übergreifenden Tensoren nicht unbedingt erfolg­reich sein mag.
* Das deutet auch darauf hin, dass diese Fktt nicht primär für diesen Zweck entwickelt wurden. Das wäre also dann „nur“ ein (ursprünglich nicht beab­sich­tigter) Neben­Effekt.
Gruß, Luc :-?

Besser informiert mit …


 

Beiträge aus den Excel-Beispielen zum Thema "Dynamische Summe über nicht zusammenhängte Blätter"