Obtenha o nome da planilha do Excel na fórmula SUM 'entre: planilhas'

Obtenha o nome da planilha do Excel na fórmula SUM 'entre: planilhas'

Eu tenho uma série de planilhas com vários nomes, por exemplo

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

Para manter um total contínuo de vários números em cada planilha, estou simplesmente usando o seguinte em cada planilha,

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

Então a próxima folha é,

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

E assim por diante. Eu sei que você pode obter o nome da planilha atual com=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

No entanto, existe uma maneira de combinar os dois

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

Qual é a sintaxe correta para fazer o procedimento acima funcionar, se for possível?

Eu tentei usarINDIRECT

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

No entanto, isso continua gerando um #REF!erro.

Responder1

Um método seria adicionar uma lista de todas as planilhas à startplanilha.

Isso pode ser feito dinamicamente adicionando um intervalo nomeado. No gerenciador de nomes use a seguinte fórmula:

=GET.WORKBOOK(1)

E nomeie algo (eu usei test)

insira a descrição da imagem aqui

Então em Start!A1 coloque:

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

E arraste/copie para baixo. Isso criará uma lista das planilhas na ordem em que aparecem nas guias.

Em seguida, use esta fórmula na célula desejada para fazer a soma:

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

informação relacionada