Obtenga el nombre de la hoja de Excel en la fórmula SUMA 'entre: hojas'

Obtenga el nombre de la hoja de Excel en la fórmula SUMA 'entre: hojas'

Tengo una serie de hojas con varios nombres, por ejemplo.

start, wc 17 Oct,  wc 24 Oct, wc 31 Oct

Para mantener un total acumulado de varios números en cada hoja, simplemente estoy usando lo siguiente en cada hoja,

=SUM('start:wc 24 Oct'!B1)

Entonces la siguiente hoja es,

=SUM('start:wc 31 Oct'!B1)

Y así sucesivamente y así sucesivamente. Sé que puedes obtener el nombre de la hoja actual con=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

Sin embargo, ¿hay alguna manera de combinar los dos?

=SUM("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&'!B1)

¿Cuál es la sintaxis correcta para que lo anterior funcione, si es posible?

He intentado usarINDIRECT

=SUM(INDIRECT("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"'!B1", TRUE))

Sin embargo, esto sigue arrojando un #REF!error.

Respuesta1

Un método sería agregar una lista de todas las hojas a la starthoja.

Esto se puede hacer dinámicamente agregando un rango con nombre. En el administrador de nombres utilice la siguiente fórmula:

=GET.WORKBOOK(1)

Y ponle un nombre (yo usé test)

ingrese la descripción de la imagen aquí

Luego en Start!A1 pon:

=IFERROR(MID(INDEX(test,ROW(1:1)),FIND("]",INDEX(test,ROW(1:1)))+1,999),"")

Y arrastre/copie hacia abajo. Esto creará una lista de las hojas en el orden en que aparecen en las pestañas.

Luego use esta fórmula en la celda deseada para hacer la suma:

=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"))

información relacionada