반응형

spreadsheet 9

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로 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

Apps Script로 Google Sheets의 조건부서식 설정하기

💡 Apps Script를 이용해 Google Sheets의 조건부서식을 적용하는 방법을 알아본다. 서식에 대한 요구사항이 들어왔다. TransactionCurrency가 “KRW” 이고, NetAmount, TaxAmount 값이 250,000 이상인 데이터들에 대해 강조를 하고싶다. Class ConditionalFormatRuleBuilder | Apps Script | Google Developers Class ConditionalFormatRuleBuilder | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Class ConditionalFormatRuleBuild..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 Dropdown 생성하기

💡 Apps Script로 Google Sheets에서 Dropdown(Data Validation)을 생성하는 방법을 알아본다. Google Sheets에서 데이터를 입력하거나 조회 할 때, Dropdown 으로 입력 할 경우가 생긴다. 1. Google Sheets 데이터 영역을 Dropdown(Data validation) 으로 생성 function settingDropdown() { const sheet = SpreadsheetApp.getActive().getSheetByName("Sheet1"); // Dropdown 데이터 영역 설정 const validationCell = sheet.getRange("C2:C12"); // 생성할 영역 설정 const setCell = sheet.getRa..

GCP/Apps Script 2022.09.06

Apps Script로 BigQuery 데이터를 Google Sheets에 뿌려주기

그럼, 데이터를 조회해서 바로 Google Sheets에 바로 뿌려줄 수 있는 기능을 구현해본다. 초기에 작성한 부분이라, 모든 함수를 호출 할 때 SheetUrl, SheetName 을 계속 호출하는데 excuteA(sheetUrl, sheetName); excuteB(sheetUrl, sheetName); excuteC(sheetUrl, sheetName); 앞으로 개발 할 때는 sheet 를 먼저 선언하고, sheet를 넘겨 매번 sheet를 호출하는 작업을 없애야함 var sheet = SpreadsheetApp.openByUrl(sheetUrl).getSheetByName(sheetName); excuteA(sheet); excuteB(sheet); excuteC(sheet); 데이터 조회하는 ..

GCP/Apps Script 2022.09.06

Apps Script로 BigQuery 연결

Apps Script로 BigQuery 의 데이터를 읽고 쓰기를 한다. Services 에서 [+] 버튼을 누르고, BigQuery API를 선택한다. BigQuery 의 쿼리문 실행 샘플 /** * Query 실행 및 결과반환 * select / insert / update * @param {string} queryString = Query */ function queryExcute(queryString) { queryString = 'SELECT BillingDocument, BillingQuantityUnit, NetAmount, TaxAmount, BillingDocumentItemText FROM `project_id.dataset_id.standard_long` WHERE Transaction..

GCP/Apps Script 2022.09.06
반응형