본문 바로가기

엑셀 구글스프레드시트

엑셀 구글 스프레드시트 시트 이름 가져오기(함수, 앱 스크립트로 현재 시트 이름, 전체 시트 이름 가져오기)

320x100

엑셀이나 구글 스프레드시트를 사용하면서, 시트 이름을 함수에 적용해야 할 때가 있습니다. 엑셀의 경우에는 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)

엑셀 구글 스프레드시트 시트 이름 가져오기 (함수, 매크로, 스크립트)

 

728x90