
예를 들어 다양한 이름을 가진 일련의 시트가 있습니다.
start, wc 17 Oct, wc 24 Oct, wc 31 Oct
각 시트에 다양한 숫자의 누계를 유지하기 위해 각 시트에서 다음을 사용합니다.
=SUM('start:wc 24 Oct'!B1)
그럼 다음 시트는,
=SUM('start:wc 31 Oct'!B1)
등등. 나는 당신이 현재 시트 이름을 얻을 수 있다는 것을 알고 있습니다=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
그런데 이 둘을 합칠 수 있는 방법이 있을까요?
=SUM("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&'!B1)
가능하다면 위의 작업을 수행하는 올바른 구문은 무엇입니까?
나는 사용해 보았습니다.INDIRECT
=SUM(INDIRECT("'start:"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"'!B1", TRUE))
그런데 계속해서 오류가 뜹니다 #REF!
.
답변1
한 가지 방법은 모든 시트 목록을 start
시트에 추가하는 것입니다.
이는 명명된 범위를 추가하여 동적으로 수행할 수 있습니다. 이름 관리자에서 다음 공식을 사용하십시오.
=GET.WORKBOOK(1)
그리고 이름을 무엇이든 지정하세요(저는 를 사용했습니다 test
)
그런 다음 Start!A1에 다음을 입력합니다.
=IFERROR(MID(INDEX(test,ROW(1:1)),FIND("]",INDEX(test,ROW(1:1)))+1,999),"")
그리고 아래로 드래그/복사하세요. 그러면 탭에 나타나는 순서대로 시트 목록이 생성됩니다.
그런 다음 원하는 셀에서 이 수식을 사용하여 합계를 계산합니다.
=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"))