앱스 스크립트를 사용하여 구글 시트의 데이터를 조작하는 것은 매우 강력한 기능입니다. 이를 통해 사용자는 구글 시트를 데이터베이스처럼 활용하여 자동화된 보고서, 데이터 분석, 정보 관리 시스템 등을 구축할 수 있습니다. 이번 섹션에서는 구글 시트 데이터를 선택, 읽기, 쓰기 및 수정하는 방법에 대해 상세히 설명하겠습니다.
1. 시트 선택하기
구글 시트 데이터를 조작하기 위한 첫 단계는 필요한 시트를 선택하는 것입니다. 앱스 스크립트를 통해 구글 시트 내의 특정 시트를 선택하는 방법은 다양하며, 작업의 목적과 필요에 따라 적절한 방법을 선택할 수 있습니다. 여기서는 시트를 선택하는 기본적인 방법들에 대해 자세히 설명하겠습니다.
활성 스프레드시트와 활성 시트 선택
- 활성 스프레드시트란 현재 스크립트가 연결되어 작업 중인 스프레드시트를 의미합니다.
- 활성 시트는 스프레드시트 내에서 현재 선택되어 있는 시트를 말합니다.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 활성 스프레드시트 가져오기
var sheet = spreadsheet.getActiveSheet(); // 활성 시트 가져오기
이름으로 시트 선택하기
특정 이름을 가진 시트를 선택할 때는 getSheetByName()
메서드를 사용합니다. 이 방법은 스프레드시트 내에 있는 특정 시트를 정확하게 지정할 수 있어 매우 유용합니다.
var sheetByName = spreadsheet.getSheetByName('Sheet1'); // 'Sheet1'이라는 이름의 시트 선택
시트의 인덱스로 선택하기
스프레드시트 내의 시트는 왼쪽에서 오른쪽으로 0부터 시작하는 인덱스를 가집니다. getSheets()
메서드를 사용하여 모든 시트의 배열을 가져온 후, 인덱스를 사용하여 특정 시트를 선택할 수 있습니다.
var sheets = spreadsheet.getSheets(); // 모든 시트의 배열 가져오기
var firstSheet = sheets[0]; // 첫 번째 시트 선택
새 시트 추가 및 선택하기
새로운 시트를 추가하고자 할 때는 insertSheet()
메서드를 사용합니다. 이 메서드는 새로 생성된 시트를 반환하므로, 바로 해당 시트를 선택하여 작업할 수 있습니다.
var newSheet = spreadsheet.insertSheet(); // 새 시트 추가
var namedSheet = spreadsheet.insertSheet('New Sheet'); // 이름을 지정하여 새 시트 추가
선택한 시트 사용하기
선택한 시트 객체를 사용하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 시트의 이름을 변경하거나, 시트 내의 특정 범위의 데이터를 읽고 쓰는 등의 작업이 가능합니다.
sheet.setName('Updated Sheet Name'); // 시트 이름 변경
var range = sheet.getRange('A1:B2'); // 시트의 특정 범위 선택
시트를 선택하는 방법을 이해하는 것은 구글 시트를 사용한 데이터 조작과 자동화 작업의 기초입니다. 앱스 스크립트를 통해 원하는 시트를 정확하게 선택하고, 필요한 작업을 수행할 수 있는 능력은 데이터 관리 및 분석 작업의 효율성을 크게 향상시킵니다.
구글 시트에서 데이터를 읽는 것은 앱스 스크립트를 사용하여 스프레드시트 데이터를 조작하는 기본적인 작업 중 하나입니다. 데이터를 읽는 방법에는 여러 가지가 있으며, 각 방법은 특정한 사용 사례나 요구 사항에 적합합니다. 이 섹션에서는 구글 시트의 데이터를 읽는 다양한 방법에 대해 자세히 설명하겠습니다.
2. 데이터 읽기
단일 셀 읽기
가장 기본적인 방법은 특정 셀의 데이터를 읽는 것입니다. getRange()
메서드를 사용하여 셀을 선택하고, getValue()
메서드로 그 셀의 값을 가져옵니다.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cellValue = sheet.getRange('A1').getValue();
Logger.log(cellValue); // A1 셀의 데이터를 로그로 출력
범위 데이터 읽기
여러 셀의 데이터를 한 번에 읽으려면, getRange()
메서드로 범위를 지정하고, getValues()
메서드를 사용하여 해당 범위의 모든 데이터를 2차원 배열로 가져옵니다. 이 방법은 테이블 형태의 데이터를 읽을 때 유용합니다.
var range = sheet.getRange('A1:B2');
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
Logger.log('A' + (i+1) + ': ' + row[0] + ', B' + (i+1) + ': ' + row[1]);
}
전체 행 또는 열 데이터 읽기
전체 행이나 열의 데이터를 읽으려면, getRange()
메서드에 행 번호나 열 번호만을 인수로 제공합니다. 예를 들어, getRange('A:A')
는 A열의 전체 범위를 선택하고, getRange('1:1')
은 첫 번째 행의 전체 범위를 선택합니다.
var columnValues = sheet.getRange('A:A').getValues(); // A열의 모든 데이터 읽기
var rowValues = sheet.getRange('1:1').getValues(); // 첫 번째 행의 모든 데이터 읽기
데이터 조건부 읽기
데이터를 조건부로 읽으려면, 읽어온 데이터 배열을 반복 처리하면서 특정 조건을 만족하는 데이터만을 선택합니다. 예를 들어, 특정 값 이상의 숫자나 특정 문자열을 포함하는 셀만을 필터링할 수 있습니다.
var range = sheet.getRange('A1:A10');
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] > 100) { // 값이 100 이상인 셀만 로그로 출력
Logger.log('Row ' + (i+1) + ': ' + values[i][0]);
}
}
구글 시트에서 데이터를 읽는 이러한 방법들은 다양한 애플리케이션과 스크립트에서 데이터를 처리하고 분석하는 데 필수적입니다. 앱스 스크립트를 통해 구글 시트의 데이터를 유연하게 읽어오는 방법을 이해하고 활용함으로써, 효과적인 데이터 관리와 자동화 솔루션을 구현할 수 있습니다.
다음 강의 : [AppsScirpt] 5. 구글 시트 데이터 수정 및 범위 다루기
'프로그래밍 언어 > 앱스크립트(AppsScript)' 카테고리의 다른 글
[AppsScript] 6. 조건부 로직 추가하기 (If-Else 사용법) (1) | 2024.10.26 |
---|---|
[AppsScirpt] 5. 구글 시트 데이터 수정 및 범위 다루기 (0) | 2024.02.12 |
[AppsScirpt] 3. 스크립트 실행 및 디버깅 (0) | 2024.02.12 |
[AppsScirpt] 2. 기본 스크립트 작성 (0) | 2024.02.11 |
[AppsScirpt] 1. 구글 앱스 스크립트 시작하기 (1) | 2024.02.11 |