엑셀 시트명 가져오기
지원 버전 자세히 보기
수식이 입력된 시트의 이름을 가져옵니다.
인수 설명
01모든 버전 호환 공식
=MID ( CELL ( "filename", 기준셀 ), FIND ( "]", CELL ( "filename", 기준셀 ) ) + 1, 255 )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
동작 원리
CELL 함수는 전체 경로를 반환하고 FIND 함수와 MID 함수는 닫는 대괄호 뒤의 시트 이름을 추출합니다.
모든 버전 호환 공식의 예제 시트에서 D2 셀이 매출현황을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
CELL 함수가 통합문서의 전체 경로를 반환합니다
CELL 함수는 통합문서가 저장된 뒤 기준셀의 전체 경로와 파일명, 시트명을 한 문자열로 반환합니다. 저장 위치는 사용자마다 다르므로 예제의 경로 부분은 C:\오빠두엑셀\을 기준으로 표시합니다.
=CELL ( "filename", A1 )
= "C:\오빠두엑셀\[45339_시트명.xlsx]매출현황"
경로는 달라도 끝부분은 [파일명]시트명 구조입니다. FIND 함수가 닫는 대괄호의 위치를 찾습니다
예제에 표시한 전체 경로에서 닫는 대괄호는 25번째 문자입니다. 실제 위치는 통합문서를 저장한 경로 길이에 따라 달라집니다.
=FIND ( "]", CELL ( "filename", A1 ) )
= 25
예제 경로에서 ] 기호가 있는 위치입니다. MID 함수가 시트 이름을 추출합니다
MID 함수는 닫는 대괄호 다음 문자부터 255자를 가져옵니다. 남은 문자열이 시트 이름뿐이므로 매출현황을 반환합니다.
=MID ( CELL ( "filename", A1 ), FIND ( "]", CELL ( "filename", A1 ) ) + 1, 255 )
= "매출현황"
대괄호 뒤의 시트 이름입니다. 02M365·Excel 2024 공식
=TEXTAFTER ( CELL ( "filename", 기준셀 ), "]" )인수 설명 자세히 보기
동작 원리
CELL 함수는 전체 경로를 반환하고 TEXTAFTER 함수는 닫는 대괄호 뒤의 시트 이름을 추출합니다.
M365·Excel 2024 공식의 예제 시트에서 D2 셀이 매출요약을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
CELL 함수가 통합문서의 전체 경로를 반환합니다
CELL 함수는 통합문서가 저장된 뒤 기준셀의 전체 경로와 파일명, 시트명을 한 문자열로 반환합니다. 저장 위치는 사용자마다 다르므로 예제의 경로 부분은 C:\오빠두엑셀\을 기준으로 표시합니다.
=CELL ( "filename", A1 )
= "C:\오빠두엑셀\[45339_시트명.xlsx]매출요약"
경로는 달라도 끝부분은 [파일명]시트명 구조입니다. TEXTAFTER 함수가 시트 이름을 추출합니다
TEXTAFTER 함수는 닫는 대괄호를 구분자로 사용해 그 뒤의 문자열을 반환합니다. 경로 길이와 관계없이 시트 이름만 바로 가져옵니다.
=TEXTAFTER ( CELL ( "filename", A1 ), "]" )
= "매출요약"
대괄호 뒤의 시트 이름입니다.
다만 Cell("filename",A1)을 했는데 공란이 출력되면 어떤걸 건드려야하나요...
통합문서가 저장되지 않은 임시파일일 경우 공란이 출력됩니다.
파일을 저장한 뒤 함수를 다시 입력해보세용
유용하게 사용하겠습니다..^^
다른 시트의 이름을 읽어오는 함수가 궁금합니다.
여러 시트에서 CELL 함수 이용한 시트명 추출을 사용한 경우, 작업하던 시트에서 다른 시트로 가면 CELL 함수의 결과는 이전 작업하던 시트의 CELL 함수 결과를 보여주고 있습니다. 어떤 셀이든 선택해서 셀 내부 들어가서 엔터(강제로 계산을 시키는 행위) 쳐야 CELL함수가 재계산 되는데..... 저만 그런 것일까요?
여러번 테스트 해 보니, CELL 함수는 기본적으로 한 문서안에서 여러 군데에서 쓰여도 계산 때마다 최종 계산된 결과를 모든 CELL 함수 사용한 곳에서 똑같이 표시하더군요.
이런 식이라면 이 함수의 사용처는 매우 제한적이 되는데...저는 이 문제 때문에 이 함수는 공용 파일을 만들때는 절대 사용하지 못하고 있습니다.
해결 방법은 없을까요?
엑셀의 모든 함수는 최종 계산 결과값을 표시합니다. 만약 CELL 함수가 비어있을 때에만 새로 계산하고, 계산된 결과는 업데이트 하지 않아야 할 경우, 순환참조 계산을 강제로 설정해서 문제를 해결할 수 있습니다.
아래 포스트를 한번 참고해보세요.
https://www.oppadu.com/%EC%97%91%EC%85%80-%EC%98%A4%EB%8A%98-%EB%82%A0%EC%A7%9C-%EC%9E%90%EB%8F%99-%EC%9E%85%EB%A0%A5/
- 제가 설명을 잘못 드린 것 같네요.....
1) 두개의 시트 [가나다] 와 [마바사] 의 A1 셀에 각각 위의 시트명을 추출하는 CELL 함수가 있습니다.2) 가나다!A1 셀 안에서 엔터 치면 (가나다!A1 = 가나다) 라고 표시됩니다.
3) 이 상태에서 [마바사]로 이동해서 보면 (마바사!A1 = 가나다) 라고 되어 있다는 걸 말씀드린 것입니다.
4) 위3)에서 마바사!A1 셀안에 들어가서 엔터치면 '마바사'로 바뀝니다. --> [가나다]에 가 보면 '마바사'가 떠 있지요.
위 함수를 이용해 시트명을 추출하고 이를 다시 다른 계산에 인용해야 하는 경우에 제가 예시를 든 것과 같은 상황이되면, 곤란하니까요.
1+1 = 2 라는 결과가 나올 때 '+' 연산자를 사용한 다른 곳 (ex) 2+2 의 결과도 2 로 표시되는 것과 같은 문제가 되는 것입니다.
혹시 피해갈 방법이 있을까해서 여쭤본 것이고...
2.답변 주신 것의 'CELL 함수가 비어있을 때' 라는 것을 잘 이해하지 못하겠습니다.
^^ 아~~ 제가 괜한 질문의 드린것은 아닌지.... 답을 줘도 제가 이해를 못하는 듯 해서 죄송스럽네요.
결국 CELL 함수로 참조하는 시트 대상이 바뀌더라도, 함수가 입력된 셀을 참조해야 하는 것으로 보입니다.
만약 위에 적어드린 순환참조로 문제를 해결할 수 없다면 시트명을 CELL 함수로 받아오는 것 대신 셀 안에 직접 시트명을 입력해서 해결하는건 어떨까요?^^
아주 어려운 상황이 아니라면, 셀 안에 시트이름을 입력하는 것이 간단해보입니다.
본 수식은 물리적인 파일(C:\...) 일 경우에만 사용가능하고, 웹용 엑셀에서는 사용할 수 없습니다.