SUM 'between:sheets' 수식으로 Excel 시트 이름 가져오기

SUM 'between:sheets' 수식으로 Excel 시트 이름 가져오기

예를 들어 다양한 이름을 가진 일련의 시트가 있습니다.

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

관련 정보