
Ich habe eine Reihe von Blättern mit verschiedenen Namen, z. B.
start, wc 17 Oct, wc 24 Oct, wc 31 Oct
Um eine laufende Summe verschiedener Zahlen in jedem Blatt zu behalten, verwende ich einfach Folgendes in jedem Blatt:
=SUM('start:wc 24 Oct'!B1)
Dann ist das nächste Blatt,
=SUM('start:wc 31 Oct'!B1)
Und so weiter und so fort. Ich weiß, dass Sie den aktuellen Blattnamen mit abrufen können=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
Gibt es jedoch eine Möglichkeit, die beiden
=SUM("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&'!B1)
Was ist die richtige Syntax, damit das oben genannte funktioniert, sofern dies möglich ist?
Ich habe versucht,INDIRECT
=SUM(INDIRECT("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"'!B1", TRUE))
Es tritt jedoch immer wieder ein Fehler auf #REF!
.
Antwort1
Eine Möglichkeit wäre, dem start
Blatt eine Liste aller Blätter hinzuzufügen.
Dies kann dynamisch durch Hinzufügen eines benannten Bereichs erfolgen. Verwenden Sie im Namensmanager die folgende Formel:
=GET.WORKBOOK(1)
Und nenn es irgendwie (ich habe verwendet test
)
Geben Sie dann in Start!A1 Folgendes ein:
=IFERROR(MID(INDEX(test,ROW(1:1)),FIND("]",INDEX(test,ROW(1:1)))+1,999),"")
Und nach unten ziehen/kopieren. Dadurch wird eine Liste der Blätter in der Reihenfolge erstellt, in der sie in den Registerkarten erscheinen.
Verwenden Sie dann diese Formel in der gewünschten Zelle, um die Summe zu berechnen:
=SUMPRODUCT(SUMIF(INDIRECT("'" & INDEX('start'!A:A,MATCH("start",'start'!A:A,0)):INDEX('start'!A:A,MATCH(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),'start'!A:A,0)) & "'!B1"),"<>0"))