[개발기 #1] 매일 4시간 걸리던 엑셀 노가다, Python 코드 2줄로 10분 만에 끝낸 방법

반응형

업무 자동화를 시작하기 전까지, 저는 하루에 4시간 가까이 엑셀을 붙잡고 있었습니다.
견적서를 만들고, 발주서를 따로 작성하고, 또 다른 시트에 자재 내역서를 옮겨 적는 일을 매일 반복했습니다.

사실 이런 작업은 저 혼자만의 일이 아닙니다.
건설, 인테리어, 금속 구조물 제작, 심지어 일반 사무직까지도 수많은 사람들이 같은 일을 하고 있죠.
문제는, 이렇게 반복적인 작업이 시간을 잡아먹고, 오류까지 유발한다는 것입니다.


🚩 문제 정의: 4시간의 서류 작업

제가 다루는 프로젝트는 대부분 “자재 리스트(BOM)”가 기본입니다.
여기에는 모델명, 규격, 단위, 수량, 단가 등이 들어가는데,

  • BOM에서 필요한 자재를 발주서로 옮기고
  • 견적서에는 단가와 총액을 맞춰 입력하고
  • 자재 내역서는 다시 다른 서식에 붙여 넣어야 했습니다.

작업을 잘못하면 견적이 빗나가고, 발주 수량이 어긋나며, 현장에서는 자재가 부족해지는 문제가 생겼습니다.
결국 저는 매번 검산만 두세 번을 반복해야 했습니다.

아마 이 글을 읽는 많은 분들이 고개를 끄덕이고 계실 겁니다. "이 모든 과정에 걸리는 시간이 평균 4시간이었습니다.


💡 해결 아이디어: Python + Excel 자동화

제가 찾은 해답은 바로 Python과 Excel을 연결하는 방법이었습니다.
처음에는 “비전공자인 내가 할 수 있을까?” 하는 두려움이 컸지만,
Pandas와 Openpyxl, Streamlit 같은 라이브러리를 접하면서 방향이 보였습니다.

핵심 아이디어는 단순합니다.

  1. BOM 데이터를 Python으로 불러온다.
  2. 자재 DB와 매칭해 단가를 자동으로 연결한다.
  3. 템플릿 Excel 파일에 그대로 채워 넣는다.

🔑 핵심 코드 공개

예를 들어, 발주서에 모델별 전체 길이를 자동으로 합산하는 기능은 아래와 같은 코드 한 줄로 해결되었습니다.

 

"계산기 두드리던 시간을 없애준 코드 한 줄"

> ```python
> # 모델 폭(m)을 자동 합산하여 발주서 F3 셀에 입력
> total_length = bom_df['길이(m)'].sum()
> sheet['F3'] = total_length
> ```

 

"파이프 'n본' 계산 실수, 이제 안녕!"

> ```python
> # 파이프 환산 표기
> def pipe_notes(length_m):
>     count = round(length_m / 6)
>     return f"6m × {count}본"
>
> sheet['비고'] = bom_df['길이(m)'].apply(pipe_notes)

 

짧은 코드지만, 이것이 현장에서는 큰 차이를 만듭니다.


🖥️ Streamlit UI: 클릭 한 번으로 발주서 완성

클릭 몇 번과 몇가지 입력만 하면 자동으로 생성 됩니다.

 

단순히 코드를 작성하는 데서 끝나지 않았습니다.
비전공자인 동료들도 쉽게 쓸 수 있도록, Streamlit으로 웹 UI를 만들었습니다.

  • 모델 검색 → 체크박스 선택
  • BOM 자동 생성 → 인라인 수정
  • 버튼 클릭 → 견적서/발주서/자재 내역서 자동 생성

이제 직원들은 코드 한 줄 몰라도, 엑셀 대신 웹에서 클릭 몇 번으로 보고서를 내려받을 수 있습니다.


📊 결과: 4시간 → 10분

  • 작업 시간: 4시간 → 10분
  • 오류율: 최소 20% 감소
  • 현장 반응: “와.. 편하다....”

숫자는 거짓말을 하지 않습니다.
저는 하루의 절반을 잃던 서류 작업에서 해방되었고, 그 시간으로 더 중요한 기획과 현장 관리에 집중할 수 있게 되었습니다.


🔮 앞으로의 계획

  • BOM을 완전히 DB화해서 검색 속도 개선
  • 공정 관리(WIP) 시스템과 통합해 “견적→발주→진척률” 전체 프로세스 자동화

💡 마무리

저는 개발자가 아닙니다.
그저 20년 동안 현장에서 똑같은 작업을 반복하다가, “이 문제를 직접 해결하겠다” 는 마음으로 Python을 배운 사람입니다.

“4시간 → 10분”과 "오류율 감소" 라는 결과는, 단순한 자동화 이상의 의미가 있습니다.
이건 제가 제 "인생을 새롭게 설계"할 수 있다는 가능성을 보여주었기 때문입니다.

 

다음 이야기

단순한 엑셀 자동화를 넘어, 여러 프로젝트의 진행 상황을 실시간으로 추적하는 WIP(공정 관리) 현황판은 어떻게 만들었을까요? 다음 [개발기 #2] 포스팅에서는 SQLite 데이터베이스를 설계하고, 프로젝트의 심장을 만드는 과정으로 돌아오겠습니다.

반응형