2016-09-27 8 views
1

Ich habe ein Dokument, das Blätter wöchentlich hinzufügen und wegnehmen kann, aber ich brauche das Übersichtsblatt, um eine Berechnung (Sumif) auf allen relevanten Blättern zu machen.3D Sumif auf allen Blättern, die "CL -" im Blattnamen enthalten?

Ich habe ein geschaffenes 3D sumif aber kann nicht es zu Referenzblätter bekommen, wie ich ... alle relevanten Blätter zu wollen, schließen Sie den Text Cl - xxxx (Dies bedeutet, Client-Registerkarte und dann Client-Namen, die alles sein kann) I haben derzeit 20+ Client Tabs.

Dies ist meine Formel:

=SUM(SUMIF(INDIRECT("'"&$B$5:$B$25&"'!$B$60:$B$999"),$A4,INDIRECT("'"&$B$5:$B$25&"'!D$60:D$999"))) 

$B$5:$B$25 ist derzeit eine Liste der Registerkarten, aber ich will es nur basierend auf, wenn ein Registername der "Cl -" Aufgrund der das Hinzufügen und Entfernen von Blättern enthält, kann ich Verwenden Sie keine Blattnamensliste, die sich vorwärts bewegt, da die Personen, die dieses Dokument verwenden, es nicht auf dem neuesten Stand halten und dann frustriert sind, wenn es nicht funktioniert!

Irgendwelche Ideen? Benötige ich einen VBA-Code? Werde ich es falsch angreifen?

+0

Mein Rat: Verwenden Sie VBA; Von dem, was ich weiß, ist es ziemlich einfach, Blätter mit Namen mit VBA zu manipulieren. Manipulieren von Formeln ist ein wenig schwierig, aber Sie könnten hier auf exzellentes Material kommen. –

+0

Ich weiß absolut nichts über das Schreiben von Code in VBA, ich würde nicht einmal wissen, ob ein Stück Code das ist, nach dem ich gesucht habe, wenn ich es gesehen habe. –

+0

Sie sagen "alle relevanten Blätter enthalten den Text Cl-xxxx", aber dann "basierend darauf, ob ein Tab-Name das" Cl - "enthält. Der erste enthält keinen Zwischenraum zwischen "CI" und "-", der zweite nicht. Welches ist es? –

Antwort

1

Sie müssen Ihre Datei als macro-enabled speichern, auch wenn diese Einrichtung keine explizite Eingabe von VBA erfordert.

Erster zu Name Manager gehen und die beiden folgenden Definitionen machen:

Namen: FullSheetNames

Bezieht sich auf: =GET.WORKBOOK(1)&T(NOW())

Namen: SheetNames

bezieht sich auf: =MID(FullSheetNames,FIND("]",FullSheetNames)+1,255)

Die erforderliche Matrixformel ** ist dann:

=SUM(IFERROR(SUMIF(INDIRECT("'"&IF(ISNUMBER(SEARCH("CL -",SheetNames)),SheetNames)&"'!$B$60:$B$999"),$A4,INDIRECT("'"&IF(ISNUMBER(SEARCH("CL -",SheetNames)),SheetNames)&"'!D$60:D$999")),0))

Grüße

** Array Formeln sind nicht auf die gleiche Weise als ‚Standard-Eingabe 'Formeln. Anstatt nur ENTER zu drücken, halten Sie zuerst STRG und SHIFT gedrückt und drücken erst dann ENTER. Wenn Sie es richtig gemacht haben, werden Sie bemerken, dass Excel geschweifte Klammern {} um die Formel legt (obwohl Sie nicht versuchen, diese selbst manuell einzufügen).

+0

Das ist wirklich erstaunlich, vielen Dank !!! Ich wünschte ich hätte das Wissen um herauszufinden, wie und warum das funktioniert, eine Menge Forschung für mich jetzt! Danke. –

+0

Gern geschehen! Ich kann eine Erklärung hinzufügen, wenn Sie möchten. –

+0

Das würde wirklich helfen, wenn das nicht zu viel Mühe macht! –

Verwandte Themen