엑셀이나 구글 스프레드시트를 사용하면서, 시트 이름을 함수에 적용해야 할 때가 있습니다. 엑셀의 경우에는 Cell 함수를 응용해서 또는 매크로를 이용해서 시트 이름을 가져올 수 있습니다.
구글 스프레드시트에서는 앱 스크립트 사용자 정의 함수를 사용해서 시트 이름을 가져 올 수 있습니다.
엑셀 시트 이름 가져오기
엑셀에서 워크 시트 이름을 가져오기 위해서는 CELL 함수를 사용해 파일 정보를 가져 온 다음 FIND 함수와 MID 함수를 사용해서 필요한 시트 이름을 추출합니다.
▶첨부파일 06-24 시트 이름 가져오기.xlsx 파일 다운로드
=CELL("filename")
다음에는 FIND 함수로 = FIND("대괄호 뒷 괄호 ']'", "파일이름정보 +1")를 입력 해주면 파일 이름 바로 앞 까지의 숫자(']'까지를 포함)를 알 수 있습니다.
=FIND("]",A1, 1)+1
그 다음에는 MID 함수를 사용해서, = MID("파일이름정보", "']' 위치 + 1", "파일이름정보 길이 - ']' 위치")로 시트 이름을 분리해서 가져 올 수 있습니다.
※ MID 함수 사용법 : MID("문자열", 시작번호, 선택할 문자수)
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename"))-FIND("]",CELL("filename")))
다른 시트 이름을 가져 오려면, 'CELL("filename",'Sheet Name 2'!A1' 와 같이 가져오려는 시트의 어떤 셀이든 참조로 입력하면 가져 올 수 있습니다.
=MID(CELL("filename",'Sheet Name 2'!A1),FIND("]",CELL("filename",A6))+1,255)
또 다른 방법은 비주얼베이직(VBA) 매크로를 사용해서 함수로 만들어 주는 것입니다. 다른 함수와 함께 시트 이름을 사용할 필요가 있을 때 편리합니다.
알트(Alt) + F11키를 눌러 비주얼베이직 창으로 들어가서, 삽입 > 모듈을 클릭 한 다음 에디터 창에 아래 코드를 복사 / 붙여넣기 한 다음 저장해줍니다.
Function SheetName()
TabName = ActiveSheet.Name
End Function
알트(Alt) + Q 키를 눌러 다시 엑셀 워크시트로 돌아와서 '=Sheetname()'이라고 입력해주면, 아래와 같이 현재 활성화 되어 있는 시트 이름이 입력됩니다.
구글 스프레드시트 시트 이름 가져오기
구글 스프레드시트에서 시트 이름을 가져오기 위해서는 앱 스크립트로 사용자 정의 함수로 만들어서 사용합니다.
메뉴에서 도구 > 스크립트 에디터를 열고,
아래 스크립트를 복사 / 붙여넣기 한 후,
function sheetName() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
function sheetnames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
return out
}
프로젝트 저장 아이콘을 클릭 하여 스크립트를 저장해줍니다.
아래와 같이 셀에 입력하면, 현재 시트 이름을 불러와 입력해줍니다.
=sheetname()
sheetnames() 함수는 스프레드시트의 모든 시트명을 불러와 입력해줍니다. index 함수를 사용해서, 각각의 시트 이름을 불러 올 수도 있습니다.
=index(sheetnames(), 2, 1)
'엑셀 구글스프레드시트' 카테고리의 다른 글
구글 스프레드시트 설문지 응답 결과 실시간 차트, 보고서 만들기(구글 앱 스크립트, 자동 PDF 이메일) (0) | 2021.06.27 |
---|---|
엑셀 구글 스프레드시트 날짜 시간 함수(TODAY(), NOW(), YEAR, MONTH, DAY, DATE()) (0) | 2021.06.26 |
엑셀 <-> 구글 스프레드시트 가져오기, 다운로드 (구글 스프레드시트 간 엑셀 파일 변환하기) (0) | 2021.06.26 |
엑셀 구글 스프레드시트 시간을 분으로, 분을 시간으로 변환, 경과 시간 알아내기(문자열 시간 변환) (0) | 2021.06.22 |
엑셀 구글 스프레드시트 한국 나이 & 만 나이 계산 수식, 함수(주민번호, 일반 텍스트 등의 자료에서 추출) (0) | 2021.06.22 |