
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 à start
planilha.
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
)
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"))