반응형

googleappsscript 16

Apps Script로 Google Sheets에서 Dropdown의 multi select(다중선택) 구현

현재 ‘code’ 라는 시트의 데이터를 Dropdown(선택상자, SelectBox) 을 조회 조건으로 사용 중이다. ‘testSheet’ 라는 시트에서, G/L 계정의 조회 조건을 다중 선택을 하고 싶다는 요구 사항을 받았다. Google sheets에서 제공하는 기능은 없었고, 커스텀이 필요했다. 앞의 코드를 선택하면, 코드에 부합하는 뒤의 명칭을. 뒤의 명칭을 선택하면, 명칭에 부합하는 앞의 코드를 뿌려주는 기능도 물론 포함이다. 일단, onEdit() 트리거를 사용한다. code 와 명칭이 변경될때 event를 생성한다. /** * edit event * @param {object} e = event */ function onEdit(e) { const getValue = e.value; cons..

GCP/Apps Script 2023.01.02

Apps Script로 Google Sheets의 마스터성 데이터 관리하기

Google Sheets 는 공동 작업 툴이다. 서로 다른 부서(팀)의 파일에는 작업 권한이 없어야 한다. 하지만 부서(팀) 내에서 공통으로 사용하는 마스터성의 데이터들은 존재할 것이다. (예들 들면 드롭다운 구성) 만약 마스터 데이터의 수정이 일어나면 모든 부서(팀)의 Google Sheets를 열어 수정할 수는 없다. 그래서 공통으로 관리하는 sheet를 참조하여 작업을 진행한다. 물론 DB에 접근해서 가져오는 방법도 있지만, 쿼리를 통해 DB를 수정해야 하거나, 수정할 수 있는 페이지를 별도로 만들어야 할 것이다. 각각 영업팀에서 Master 시트의 데이터를 참조하는 방법은 아래와 같다. Google Sheets에서 제공하는 “IMPORTRANGE” 함수를 사용한다. =IMPORTRANGE(참조할_..

GCP/Apps Script 2022.09.07

Apps Script의 trigger 사용기와 활용 예시

💡Apps Script에서 제공하는 trigger를 사용하고 느낀점을 적어보았다. 목차 1. Apps Script에서 제공하는 Trigger의 종류 2. Apps Script Trigger 사용 시 주의할 사항 3. 속도 이슈 4. 권한 이슈 5. Apps Script Trigger 활용 예시 1. Apps Script에서 제공하는 Trigger의 종류 Apps Script 에서는 두가지 trigger를 제공한다. 1.1 Simple Triggers Simple Triggers | Apps Script | Google Developers 간단한 트리거 | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to ..

GCP/Apps Script 2022.09.07

Apps Script로 Google Sheets의 Sidebar를 이용한 데이터 선택

💡Apps Script로 Google Sheets에서 Sidebar에 데이터를 선택하는 HTML 페이지를 불러오는 방법을 알아본다. 데이터를 조회하는 화면에서 조회조건인 G/L 계정 값들을 다중 선택 하여 조회하고 싶다는 요구 사항이 들어왔다. 처음엔 sheet edit trigger를 이용해 개발하였는데, 외부 trigger라 속도가 느렸다. https://whiseung.tistory.com/entry/Apps-Script%EB%A1%9C-Google-Sheets%EC%97%90%EC%84%9C-Dropdown-multi-select%EB%8B%A4%EC%A4%91%EC%84%A0%ED%83%9D-%EA%B5%AC%ED%98%84 Apps Script로 Google Sheets에서 Dropdown의 ..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 소계 데이터 만들기

💡Apps Script로 Google Sheets에서 소계를 생성해본다. 데이터들을 가져와서 뿌려줬다. 원가요소 별 소계 subtotal 를 생성해 달라는 요구 사항이 들어왔다. 쿼리로 만들 수 있지만, SUM을 이용해서 만들어 달라는 요구 사항이 들어왔다. 원본 데이터를 조회 해 sheet에 뿌려준 후, 원가요소들을 비교하여 행추가를 하고 sum 수식을 생성하여 추가해준다. /** * BigQuery에서 가져온 데이터를 Sheets에 뿌려주기 */ function getDataFromBigquery() { const datasetId = global_datasetId; const tableId = "standard_long"; const columns = 'BillingDocument, BillingQ..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 저장 영역 필수 값 체크하기

Sheet 데이터를 BigQuery에 저장할 때, 나이, 성별을 필수 값으로 입력하고 싶다. dataNullCheck 함수와, reqIdx 를 추가한다. function insertSheetData() { const sheetUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl(); const sheetName = "Sheet3" const sheet = SpreadsheetApp.openByUrl(sheetUrl).getSheetByName(sheetName); const table_id = "insert_test"; const reqIdx = [ {name:'이름(A' , index:1} , {name:'나이(B' , index:2} , {name:'성별(C' ,..

GCP/Apps Script 2022.09.06

Apps Script 라이브러리 생성해서 다른 Apps Script에서 사용하기

💡 Apps Script 프로젝트를 진행함에 있어, 유지보수를 용이하기 위해서, 공통모듈을 라이브러리로 배포하여 사용하는 방법이다. (실제 사용 샘플 / 2023-02-24 추가) Apps Script 라이브러리 생성해서 다른 Apps Script에서 사용하기 - 실제 사용 예 💡 Apps Script 를 이용해 실제로 개발했던 내용을 요약했다. https://whiseung.tistory.com/entry/Apps-Script-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-%ED%8C%8C-%EC%84%A4%EA%B3%84 Apps Script 개발을 위한 구조 설계 이번 프 whiseung.tistory.com 공통으로 사용해야 할 함수들을 포함한 library ..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 데이터를 BigQuery에 Load

💡Apps Script에서 Google Sheets에 입력한 데이터를 BigQuery에 저장하는 방법을 알아본다. 이제 Google Sheets의 데이터를 BigQuery에 저장해본다. BigQuery Service | Apps Script | Google Developers BigQuery 서비스 | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 BigQuery 서비스 BigQuery 서비스를 사용하면 Apps Script에서 Google BigQuery API를 사용할 수 있습니다. 이 API를 통해 사용 developers.google.com 데이터를 입력할 sheet와..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 Number Format 설정하기 + Date Format

💡Apps Script로 Google Sheets의 숫자서식, 날짜서식을 적용하는법을 알아본다. 뭔가 허전하다. 숫자인데 천단위 콤마가 없다. Google Sheets에서 제공하는 숫자서식을 적용하려고 한다. 숫자서식 적용은 간단하다. Class Range | Apps Script | Google Developers Class Range | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Class Range 범위 스프레드시트 범위에 액세스하고 수정합니다. 범위는 시트의 단일 셀 또는 시트의 인접 셀 그룹일 developers.google.com var ss = Spreadsh..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 수식 적용하기

요구사항이 또 들어왔다. NetAmount 에서 TaxAmount 를 뺀 값을 보여달라고 한다. 쿼리를 이용하면 간단하다. 하지만 해당 Sheets에서 값들을 변경하면서 수치들의 변화를 보고싶다고한다. 일단 칸을 만든다. 반복되는 행들에 참조하는 셀들의 값이 달라야한다. F2 = D2 - E2 F3 = D3 - E3 F4 = D4 - E4 그렇기 때문에 setFormula 가 아닌, var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var cell = sheet.getRange("B5"); cell.setFormula("=SUM(B3:B4)"); setFormulaR1C1을 써야한다. var ss = Spreads..

GCP/Apps Script 2022.09.06
반응형