조건부 로직 추가하기 (If-Else 사용법)
Google Apps Script를 통해 자동화 작업을 할 때, 상황에 따라 다른 작업을 수행하도록 하는 조건부 로직이 매우 중요합니다. 이번 포스팅에서는 if-else
구문을 활용하여 Google Sheets 데이터에 조건에 맞게 특정 작업을 적용하는 방법을 다루겠습니다. 조건부 로직은 데이터를 효율적으로 관리하고 다양한 조건에 맞는 행동을 스크립트로 정의할 수 있는 유용한 도구입니다.
1. 기본 If-Else 사용법
if-else
구문은 조건을 평가하고, 조건이 참일 경우 특정 코드 블록을 실행하며, 조건이 거짓일 경우 다른 코드 블록을 실행합니다. 기본적인 구조는 다음과 같습니다:
if (조건문) {
// 조건이 참일 때 실행되는 코드
} else {
// 조건이 거짓일 때 실행되는 코드
}
예를 들어, Google Sheets에서 특정 셀의 값이 일정 기준 이상일 경우 해당 셀의 배경색을 변경한다고 가정해 봅시다. 아래는 간단한 예제입니다:
function changeCellColorBasedOnValue() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange("B2");
var value = cell.getValue();
if (value > 100) {
cell.setBackground("#00FF00"); // 값이 100보다 크면 배경을 초록색으로 설정
} else {
cell.setBackground("#FF0000"); // 값이 100 이하이면 배경을 빨간색으로 설정
}
}
이렇게 하면 셀 B2
의 값이 100보다 크면 초록색, 그렇지 않으면 빨간색으로 변경됩니다.
2. 여러 조건 처리하기 (Else If 사용)
때로는 두 가지 이상의 조건을 처리해야 할 때가 있습니다. 이럴 때는 else if
구문을 사용할 수 있습니다.
if (조건1) {
// 조건1이 참일 때 실행되는 코드
} else if (조건2) {
// 조건2가 참일 때 실행되는 코드
} else {
// 위 조건들이 모두 거짓일 때 실행되는 코드
}
예를 들어, 학생의 성적에 따라 등급을 지정하고, 셀에 등급을 표시하는 스크립트를 작성할 수 있습니다:
function assignGrade() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange("C2");
var score = cell.getValue();
var grade;
if (score >= 90) {
grade = "A";
} else if (score >= 80) {
grade = "B";
} else if (score >= 70) {
grade = "C";
} else if (score >= 60) {
grade = "D";
} else {
grade = "F";
}
sheet.getRange("D2").setValue(grade); // D2 셀에 등급을 설정
}
이 코드는 C2
셀의 값에 따라 D2
셀에 A, B, C, D, F 등급을 할당합니다.
3. 다중 셀에 조건 적용하기
한 번에 여러 셀에 조건을 적용해야 하는 경우도 많이 있습니다. 반복문을 사용하여 범위 내의 여러 셀에 조건을 적용하는 방법을 아래에 설명합니다.
function applyConditionalFormatting() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A2:A10"); // A2부터 A10까지의 범위
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] > 50) {
range.getCell(i + 1, 1).setBackground("#FFFF00"); // 값이 50보다 크면 배경을 노란색으로 설정
} else {
range.getCell(i + 1, 1).setBackground("#FFFFFF"); // 그렇지 않으면 흰색으로 설정
}
}
}
이 코드는 A2:A10
범위의 각 셀을 검사하여 값이 50보다 큰 경우 배경을 노란색으로 변경하고, 그렇지 않은 경우에는 흰색으로 설정합니다.
4. 실습 예제: 조건부 이메일 알림 보내기
조건부 로직을 사용해 특정 조건에 맞는 이메일 알림을 보내는 예제도 살펴보겠습니다. 예를 들어, 재고 수량이 특정 값 이하일 때 관리자에게 이메일 알림을 보내는 스크립트를 작성할 수 있습니다.
function sendLowStockAlert() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var stockCell = sheet.getRange("E2");
var stockLevel = stockCell.getValue();
if (stockLevel < 10) {
MailApp.sendEmail("manager@example.com", "재고 경고", "재고 수량이 10 이하입니다. 즉시 확인해주세요.");
}
}
이 코드는 E2
셀의 재고 수량이 10 이하로 떨어지면 관리자에게 이메일 알림을 자동으로 발송합니다.
마무리
조건부 로직은 Google Apps Script에서 자동화를 구현할 때 매우 강력한 도구입니다. 이 로직을 활용하면 데이터를 보다 지능적으로 다룰 수 있고, 조건에 따라 다양한 작업을 자동으로 실행할 수 있습니다. 이번 포스팅에서 다룬 내용을 통해 Google Sheets에서 조건부 로직을 어떻게 활용할 수 있는지 이해하고 실무에 적용해보세요.
다음 주제에서는 반복문을 활용한 데이터 처리 방법을 다룰 예정입니다. 반복문을 사용하여 데이터를 더욱 효율적으로 처리하는 방법에 대해 알아보겠습니다!
'프로그래밍 언어 > 앱스크립트(AppsScript)' 카테고리의 다른 글
[AppsScript] 7. 반복문을 활용한 데이터 처리 (3) | 2024.10.26 |
---|---|
[AppsScirpt] 5. 구글 시트 데이터 수정 및 범위 다루기 (0) | 2024.02.12 |
[AppsScirpt] 4. 구글 시트 데이터 읽기 및 쓰기 (0) | 2024.02.12 |
[AppsScirpt] 3. 스크립트 실행 및 디버깅 (0) | 2024.02.12 |
[AppsScirpt] 2. 기본 스크립트 작성 (0) | 2024.02.11 |