[AppsScript] 6. 조건부 로직 추가하기 (If-Else 사용법)
본문 바로가기
프로그래밍 언어/앱스크립트(AppsScript)

[AppsScript] 6. 조건부 로직 추가하기 (If-Else 사용법)

by 코딩 Play 2024. 10. 26.

조건부 로직 추가하기 (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에서 조건부 로직을 어떻게 활용할 수 있는지 이해하고 실무에 적용해보세요.

다음 주제에서는 반복문을 활용한 데이터 처리 방법을 다룰 예정입니다. 반복문을 사용하여 데이터를 더욱 효율적으로 처리하는 방법에 대해 알아보겠습니다!

최근댓글

최근글

skin by © 2024 ttuttak