앱스 스크립트로 여러 시트에서 모든 행과 열의 데이터 가져오기
이 포스팅은 “구글 앱스 스크립트 101: 공짜로 만드는 업무 자동화 시스템” 책에 포함된 코드를 AI가 설명하도록 한 뒤에, 교정한 포스팅입니다. AI가 작성한 것을 수정하면 취소선을 표시하였습니다. 교정으로 추가하면 색상을 표시하였습니다.
목차
요약
이 블로그 포스트에서는 Apps Script를 사용하여 여러 시트에서 모든 행과 열의 데이터를 가져오는 방법을 안내합니다. 주어진 스프레드시트에서 각 시트의 데이터를 가져와 값을 로깅하는 함수를 제공합니다.
코드
1 2 3 4 5 6 7 8 9 10 |
function getWholeData() { const SS = SpreadsheetApp.getActiveSpreadsheet(); const sheetNames = ['시트1', '시트2']; for (let i = 0; i < sheetNames.length; i++) { const sheet = SS.getSheetByName(sheetNames[i]); const value = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).getValues(); Logger.log(value); } } |
코드 설명
getWholeData
함수는 SpreadsheetApp.getActiveSpreadsheet()
를 사용하여 활성 스프레드시트를 가져옵니다. sheetNames
배열에 가져올 시트의 이름을 정의합니다.
루프를 사용하여 sheetNames
배열의 각 시트를 반복합니다. 루프 내에서 getSheetByName
메서드를 사용하여 해당 시트에 대한 참조를 가져옵니다. 그런 다음 getRange
메서드를 사용하여 시트의 모든 값을 가져옵니다.
getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns())를 조금 더 자세히 살펴보겠습니다.
getRange() 메소드를 사용하여 시트의 전체 행과 열의 데이터 범위를 가져올 수 있습니다.
getRange(row, column, numRows, numColumns) 형태로 사용되며, 여기서 “1, 1, sheet.getMaxRows(), sheet.getMaxColumns()”는 첫 번째 행부터 마지막 행까지, 첫 번째 열부터 마지막 열까지의 범위를 나타냅니다.
getValues() 메소드를 사용하여 해당 범위의 값을 가져와서 value 변수에 할당합니다.
가져온 값을 Logger.log
를 사용하여 로깅합니다.
예제
“시트1″과 “시트2″라는 두 개의 시트가 있는 스프레드시트가 있다고 가정해 봅시다. 각 시트에는 다른 범위에 데이터가 포함되어 있습니다.
getWholeData
함수를 실행함으로써 두 시트에서 값을 가져와 로그로 출력할 수 있습니다:
1 2 3 4 5 6 7 8 9 |
[ ["시트1 값1", "시트1 값2", "시트1 값3", ...], ["시트1 값4", "시트1 값5", "시트1 값6", ...], ... ["시트1 값N", "시트1 값N+1", "시트1 값N+2", ...] ] [ ["시트2 값1", "시트2 값2", "시트2 값3", ...], ["시트2 값4", "시트2 값5", "시트2 값6", ...], ... ["시트2 값N", "시트2 값N+1", "시트2 값N+2", ...] ] |
AI 프롬프트
스프레드시트에서 여러 시트에서 모든 행과 열의 데이터를 가져와 값을 로깅하는 함수를 작성하세요. 함수는 시트 이름의 배열을 사용하고 각 시트를 반복하여 값을 가져와야 합니다. Logger.log
메서드를 사용하여 값을 로깅하세요.