오늘은 구글드라이브의 구글시트에서,
Apps Script 함수를 Custom Menu에서 바로 사용할 수 있도록 추가하는 방법에 대해서 정리해 보겠습니다.
1. Apps Script 실행
Javascript를 기반으로 하는,
Apps Script를 이용하면 여러가지 커스텀한 기능을,
직접 코딩해서 사용할 수 있습니다.
오늘은 만약 빈 공간이 있을경우,
'NULL'을 입력하는 Script를 작성해 보겠습니다.
(아래 글에 들어가는 코드는 수정할 필요가 없이,
그대로 사용하면 되므로,
코딩 실력이 없더라도 걱정할 필요 없습니다)
먼저 구글 시트의 상단 메뉴에서
'확장 프로그램 > Apps Script'메뉴를 선택해 줍니다.
실행하면 다음과 같은 화면이 나옵니다.
아래에서 Code.js를 선택해 줍니다.
Code.gs안에,
다음과 같이 함수를 작성해 줍니다.
이 함수는 선택되어진 셀의 값들을 읽어서,
값이 없을 경우, "NULL"을 입력하는 함수 입니다.
function fillEmptyWithNULL() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getActiveRange();
const values = range.getValues();
for (let i = 0; i < values.length; i++) {
for (let j = 0; j < values[i].length; j++) {
if (values[i][j] === "" || values[i][j] === null) {
values[i][j] = "NULL";
}
}
}
range.setValues(values);
}
코딩에 관심이 없으신 분들은 바로 아래로 내려가셔도 되구요.
위에서 사용한 각각의 함수들의 의미가 궁금하신 분들은,
아래의 의미를 가지고 있으니, 추후 응용하실 때 사용하시면 됩니다.
- getActiveSpreadsheet(): 현재 활성화된 전체 문서를 가져온다
- getActiveSheet(): 활성화 된 시트를 가져옴
- getActiveRange(): 현재 선택된 셀의 범위를 가져옵니다.
- getValues(): 지정된 모든 셀 값을 2차원 배열로 리턴해 줍니다.
- 이 함수는 보통 getRange()함수와 함께 사용되 특정한 범위의 데이터를 가져와줍니다.
- 열을 기준으로 데이터를 가져올 경우: 각 열의 값들이 개별 배열에 저장
- 행을 기준으로 데이터를 가져올 경우: 모든 값이 이중 배열의 첫 번째 요소에 저장
바로 아래에, 한가지 더 함수를 추가해 줄 건데요.
아래 함수를 더 추가해서,
직접 Custom Menu를 추가해 줍니다.
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu("Custom Menu")
.addItem("Fill Empty with NULL", "fillEmptyWithNULL")
.addToUi();
}
최종적으로는 아래와 같은 모습이 됩니다.
이제 상단의 저장아이콘을 클릭해 줍니다.
이 함수를 적용할 구글 시트로 돌아와서,
브라우저를 리프레쉬 해 줍니다.
잠시 후에 아래와 같이 Custom Menu가 생성된 것을 볼 수 있습니다.
빈 칸에 "NULL"값을 입력하기 위해서,
원하는 범위에 셀을 선택하고,
Custom Menu에서 위 함수를 실행시켜 줍니다.
아래와 같이 NULL이 들어간 것을 확인할 수 있습니다.
'구글드라이브(Google Drive)와 MS오피스 > 엑셀, 구글시트 사용 팁' 카테고리의 다른 글
구글 시트 PDF 파일로 공유하는 방법 (0) | 2024.12.16 |
---|---|
마지막 행 값 구하기 # INDEX Google Sheet Excel (0) | 2022.02.22 |
엑셀 상대참조와 절대참조 # 참조하는 셀 변하지 않게 (1) | 2021.11.10 |