ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 행의 특정 열 값을 함수로 가져오는 방법
    AppsScript 2024. 2. 7. 02:02

    구글 시트의 Apps Script를 사용하여 특정 함수를 입력했을 때, 지정된 셀의 행에서 D, G, P 열의 값을 지정한 셀부터 옆으로 나열하는 사용자 정의 함수를 만들 수 있습니다. 아래는 이를 위한 스크립트 예시입니다:

    function DISPLAY_VALUES(row) {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    
      // D, G, P 열의 인덱스 값 설정 (A=1, B=2, ...)
      var columns = [4, 7, 16]; // D=4, G=7, P=16
    
      // 지정된 행에서 D, G, P 열의 값을 가져옴
      var values = columns.map(function(column) {
        return sheet.getRange(row, column).getValue();
      });
    
      // 선택한 셀로부터 옆으로 값 나열
      return [values]; // 2차원 배열로 반환하여 함수가 입력된 셀로부터 가로로 값을 채움
    }

    스크립트 사용 함수 구글 시트에 적용 단계

    1. 구글 시트에서 확장 프로그램 > Apps Script를 선택합니다.
    2. 스크립트 편집기에서 기존의 내용을 지우고 위의 코드를 복사하여 붙여넣습니다.
    3. 파일을 저장합니다(예: "DisplayValues"라는 이름으로 저장).
    4. 구글 시트로 돌아가서, 사용자 정의 함수 =DISPLAY_VALUES(행번호)를 사용하려는 셀에 입력합니다. 여기서 행번호는 D, G, P 값을 가져오고자 하는 행의 번호입니다.
    5. 예: =DISPLAY_VALUES(2)는 2행의 D, G, P 열의 값을 현재 셀부터 오른쪽으로 나열합니다.

    이 사용자 정의 함수는 지정된 행의 D, G, P 열의 값을 현재 함수가 입력된 셀부터 가로로 나열해줍니다. 함수가 입력된 셀을 기준으로 오른쪽으로 값이 채워지기 때문에, 충분한 공간이 있는지 확인하세요.

     

    Google Apps Script에서 사용자 정의 함수를 구글 시트의 셀에 입력할 때, 반환된 배열을 가로(행)로 확장하려면 반환 값이 2차원 배열이어야 합니다.

     

    구문 오류가 발생하는 경우

    • 함수 이름 충돌: 사용자 정의 함수의 이름이 Google Sheets의 기존 함수 이름과 충돌하지 않는지 확인하세요. 예를 들어, SUM, INDEX와 같은 이름은 이미 Sheets에 내장된 함수 이름입니다.
    • 스크립트 저장: 스크립트를 수정하거나 새로 입력한 후에는 반드시 저장해야 합니다. 저장하지 않고 시트로 돌아갔을 경우, 변경 사항이 적용되지 않습니다.
    • Apps Script 에디터의 오류 메시지: 스크립트 에디터에서 스크립트를 저장할 때 구문 오류 메시지가 표시됩니다. 오류 메시지를 확인하여 문제의 정확한 위치와 원인을 파악할 수 있습니다.
    • 스크립트 실행 권한: 스크립트를 처음 실행할 때, Google 계정으로부터 필요한 권한을 요청하는 창이 나타납니다. 권한을 승인하지 않으면 스크립트가 정상적으로 작동하지 않을 수 있습니다.

     

    배열 결과 오류가 나타난다면

    구글 시트에서 사용자 정의 함수를 사용하여 배열 데이터를 반환할 때, 배열이 확장되어 인접한 셀에 데이터를 채우려면 충분한 빈 공간이 필요합니다. 만약 함수가 입력된 셀로부터 오른쪽 또는 아래쪽에 데이터가 이미 존재한다면, 배열 데이터는 "배열 결과는 B21에서 데이터를 덮어쓰기 때문에 스프레드시트에서 펼쳐지지 않습니다."와 같은 오류 메시지를 표시하며 확장되지 않습니다.

     

    이 문제를 해결하기 위한 방법

    • 공간 확보: 사용자 정의 함수가 입력된 셀로부터 오른쪽 및 아래쪽에 충분한 빈 셀이 있는지 확인합니다. 필요하다면, 인접한 셀의 데이터를 이동하거나 삭제하여 공간을 확보하세요.
    • 함수 위치 변경: 함수가 입력된 셀의 위치를 변경하여, 확장될 배열 데이터에 충돌이 없는 위치로 이동합니다. 예를 들어, 배열 데이터가 오른쪽으로 3개 셀, 아래로 1개 셀을 차지할 예정이라면, 해당 범위에 데이터가 없는 셀에 함수를 입력하세요.
    • 배열 크기 확인: 함수가 반환하는 배열의 크기를 확인하고, 스프레드시트에서 해당 크기만큼의 빈 공간이 확보되어 있는지 확인합니다.

     

Designed by Tistory.