소개
회사에서 다양한 프로젝트가 1주에서 6개월, 1년까지 장기간 진행되는 프로젝트가 많이 있는데, 어떤 프로젝트가 제대로 진행되고 있는지 종합적으로 보고 싶은 필요성을 느끼고 있습니다.
이에, 팀원 개개인의 진척 상황을 입력하면 전체 진행상황을 한눈에 알 수 있도록 자동화해서 시각화하고자 합니다. 이를 통해 어떤 팀원때문에 프로젝트가 부진하고 어떤 팀원의 기여도가 높은지를 파악하고자 합니다.
진행 방법
1. GPT를 통해 진행방법을 물어봤습니다.
2. 방법 1: Google Sheets 내 진행률 바(Progress Bar) 및 조건부 서식 활용
(1) 데이터 시트를 구성
2. 조건부 서식으로 진행 상태 강조
예상 완료일이 지났지만 진행률이 100%가 아닌 경우 자동으로 "지연됨" 표시2. 조건부 서식으로 진행 상태 강조
예상 완료일이 지났지만 진행률이 100%가 아닌 경우 자동으로 "지연됨" 표시
C2 < TODAY() AND E2 < 100
(예상 완료일이 오늘 이전이면서 진행률이 100% 미만인 경우)색상 코드:
정상 진행(초록색),
지연(빨간색),
완료(파란색)
3. 진행률 바(Progress Bar) 자동 업데이트
아래 Apps Script 코드를 추가하여 진행률을 시각적으로 표시하는 바를 만들 수 있습니다.
javascript
복사
function updateProgressBars() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var range = sheet.getRange("E2:E"); // 진행률 데이터 범위 var values = range.getValues(); for (var i = 0; i < values.length; i++) { var progress = values[i][0]; if (progress === "" || isNaN(progress)) continue; var bar = "▓".repeat(Math.floor(progress / 10)) + "░".repeat(10 - Math.floor(progress / 10)); sheet.getRange(i + 2, 6).setValue(bar); // F열에 진행 바 삽입 } }
이 스크립트를 실행하면 진행률(%)을 기반으로 가시적인
진행 바(▓▓▓░░░)
가 F열에 삽입됩니다.트리거(Triggers) 설정에서
updateProgressBars()
를 수정 시 자동 실행하도록 설정하면 실시간 반영됩니다.
방법 2: Google Charts를 활용한 시각적 대시보드
Apps Script와 Google Charts를 활용해 진행률을 그래프로 표현할 수도 있습니다.
1. Google Charts를 활용한 바 차트 생성
아래 코드를 Apps Script에 추가하고 실행하면 프로젝트별 진행률을 한눈에 볼 수 있는 바 차트가 생성됩니다.
javascript
복사
function drawChart() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); var progressData = [["프로젝트", "진행률"]]; for (var i = 1; i < data.length; i++) { progressData.push([data[i][0], data[i][4]]); // 프로젝트명과 진행률 } var html = <html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {'packages':['bar']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable(${JSON.stringify(progressData)}); var options = {chart: {title: '프로젝트 진행 현황'}}; var chart = new google.charts.Bar(document.getElementById('chart_div')); chart.draw(data, google.charts.Bar.convertOptions(options)); } </script> </head> <body> <div id="chart_div" style="width: 800px; height: 400px;"></div> </body> </html>; var ui = HtmlService.createHtmlOutput(html) .setWidth(900) .setHeight(500); SpreadsheetApp.getUi().showModalDialog(ui, '프로젝트 진행률'); }
2. 차트 실행 방법
Apps Script 실행창에서
drawChart()
함수를 실행하면 진행률을 한눈에 확인할 수 있는 차트가 Google Sheets 내에서 팝업으로 표시됩니다.
결과와 배운 점
이번 게시는 실행방법만 배운 단계고 다음주에는 구체적인 실행 내용을 올리도록 하겠습니다.
나아가 좀더 현실성 있는 안을 만들 계획입니다.
예를 들어 진행률이 50% 미만인 경우 자동 알림 메일 발송 (Google Apps Script의 GmailApp 활용)
Google Sheets 내 차트 삽입 (
삽입 → 차트
메뉴 활용)대시보드 시트에서 전체 진행 평균을 계산하고, 진행이 지연된 프로젝트 목록만 필터링하는 기능 추가
진행률이 50% 미만인 경우 자동 알림 메일 발송 (Google Apps Script의 GmailApp 활용)
Google Sheets 내 차트 삽입 (
삽입 → 차트
메뉴 활용)대시보드 시트에서 전체 진행 평균을 계산하고, 진행이 지연된 프로젝트 목록만 필터링하는 기능 추가
이 방법을 적용하면 전체 프로젝트의 진행 상태를 쉽게 확인하고, 문제가 발생한 부분을 빠르게 대응할 수 있을 것으로 예상됩니다.