getLastRowOfCol 함수에 매개변수 추가하기
이 포스팅은 “구글 앱스 스크립트 101: 공짜로 만드는 업무 자동화 시스템” 책에 포함된 코드를 AI가 설명하도록 한 뒤에, 교정한 포스팅입니다. AI가 작성한 것을 수정하면 취소선을 표시하였습니다. 교정으로 추가하면 색상을 표시하였습니다.
목차
요약
이 블로그 포스트에서는 Apps Script에서 getLastRowOfCol(sheet, col)
함수를 탐색합니다. 이 함수는 Google Sheets 스프레드시트의 특정 열에서 마지막 비어있지 않은 행을 결정하는데 사용됩니다. 앞선 포스트에서는 함수 안에서 sheet와 열을 지정하였는데, 이를 매개변수로 바꾸어 일반적인 경우에 사용할 수 있도록 수정하겠습니다. 코드를 분석하고 작동 방식을 설명하며 사용 예제를 통해 사용법을 보여줄 것입니다.
코드
1 2 3 4 5 6 7 8 9 |
function getLastRowOfCol(sheet, col) { let lastRow = sheet.getMaxRows(); Logger.log(`${col}1:${col + lastRow}`) let colValues = sheet.getRange(`${col}1:${col + lastRow}`).getValues(); for (; colValues[lastRow - 1] == '' && lastRow > 0; lastRow--) { } return lastRow; } |
코드 설명
getLastRowOfCol
함수는 sheet
와 col
두 개의 매개변수를 사용합니다. 여기서 sheet는 시트명이 아닌, getSheetByName으로 지정한 sheet 자체를 가리킵니다. 먼저 getMaxRows
메소드를 사용하여 시트의 최대 행 수를 가져옵니다.
로그 문을 사용하여 시트에서 액세스하는 셀의 범위를 표시합니다. 이 범위에는 첫 번째 행부터 마지막 행까지 지정한 열이 포함됩니다.
그런 다음 getRange
및 getValues
메소드를 사용하여 지정한 범위 내의 셀 값들을 가져옵니다. 이 값들은 colValues
변수에 저장됩니다.
마지막으로, for 루프를 사용하여 colValues
배열을 끝 행부터 반복합니다. 루프는 비어있지 않은 셀에 도달하거나 행 번호가 0이 될 때까지 계속됩니다. 마지막 비어있지 않은 행 번호는 lastRow
변수에 저장됩니다.
마지막으로, 함수는 마지막 비어있지 않은 행 번호를 반환합니다.
예제
다음과 같은 데이터를 가진 Google Sheets 스프레드시트가 있다고 가정해봅시다:
행 번호: 1 | 열 A | 열 B | 열 C |
---|---|---|---|
행 번호: 2 | 데이터 1 | 데이터 2 | 데이터 3 |
행 번호: 3 | 데이터 4 | 데이터 5 | |
행 번호: 4 | 데이터 6 | 데이터 7 | 데이터 8 |
행 번호: 5 | 데이터 9 | 데이터 10 |
만약 우리가 시트와 열을 매개변수로 하여 getLastRowOfCol
함수를 호출하면, 해당 열의 마지막 비어있지 않은 행 번호를 반환합니다. 예를 들어, getLastRowOfCol(sheet, 'B')
는 열 B에서 마지막 비어있지 않은 행이 4행임을 나타내기 위해 4를 반환합니다.
AI 프롬프트
Google Sheets 시트와 열을 매개변수로 받는 함수를 작성하세요. 함수 내부에서 지정한 열의 마지막 비어있지 않은 행을 결정하고 해당 행 번호를 반환하세요. getMaxRows
, getRange
, getValues
와 같은 메소드를 사용하여 이 작업을 수행하세요. 액세스하는 셀의 범위를 표시하기 위해 로그 문을 포함하세요. 열에 비어있는 셀이 포함될 수 있는 경우에 대비하세요. 마지막으로, 적절한 매개변수로 함수를 호출하여 테스트하세요.