다양한 프로젝트 진척 상황 '한눈에'

소개

  • 회사에서 다양한 프로젝트가 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 내 차트 삽입 (삽입 → 차트 메뉴 활용)

  • 대시보드 시트에서 전체 진행 평균을 계산하고, 진행이 지연된 프로젝트 목록만 필터링하는 기능 추가

이 방법을 적용하면 전체 프로젝트의 진행 상태를 쉽게 확인하고, 문제가 발생한 부분을 빠르게 대응할 수 있을 것으로 예상됩니다.

3

👉 이 게시글도 읽어보세요