요약

e나라도움에서 내려받은 집행완료내역(연도별 xlsx)과 운영예산서 총괄표만 있으면, 연도별·보조세목별·세부사업별 계획 대비 집행현황 통합문서를 AI와 함께 반나절에 만들 수 있다. 망남 어촌신활력증진사업 앵커조직의 2023~2026년 예산(4개년 교부 20억 원, 집행 1,181건)으로 실제 만들었고, 산출물은 엑셀이 아닌 한셀(.cell) 파일이다. 핵심은 세 가지다. 첫째, 예산연도와 집행연도를 분리한다. 둘째, 자유 서술인 집행용도를 계획서의 세부사업 체계에 키워드 규칙으로 대응시키고 규칙을 문서 안에 그대로 남긴다. 셋째, 모든 표를 원본 시트를 참조하는 수식으로 만들어 월별 갱신이 원본 교체만으로 끝나게 한다.

왜 이 기술인가

보조사업 월간보고에는 “예산액·집행액·잔액·집행률”이 반드시 들어간다. 그런데 e나라도움 집행완료내역은 건별 문장(집행용도)과 보조세목만 있고, 계획서의 세부사업 항목과 바로 이어지지 않는다. 담당자가 매달 수작업으로 분류해 합산하는데, 연도가 넘어가며 이월 집행이 섞이면 숫자가 어긋나기 시작한다. 앵커조직처럼 4년짜리 사업은 예산 4개 연도와 집행 5개 연도가 겹쳐서 특히 그렇다.

AI에게 맡기면 좋은 부분은 분류 규칙 초안과 표 뼈대 생성, 그리고 검증이다. 사람이 해야 하는 부분은 “이 건은 저 항목이다”라는 판정과 계획서 숫자의 확정이다. 이 문서는 그 분업을 그대로 따라할 수 있게 적은 것이다.

단계별 따라하기

1. 자료를 한 폴더에 모은다

  • 집행완료내역_2023.xlsx ~ 집행완료내역_2026.xlsx (e나라도움 → 집행정보 → 내보내기. 이체완료 건만)
  • 연도별 운영예산서 xlsx (총괄표 시트의 “세부사업별”과 “세목별” 두 표만 쓴다)
  • 있으면 기존 월간보고의 교부액·정산상황 표

집행완료내역에서 실제로 쓰는 열은 집행용도, 보조세목명, 집행(이체)일자, 집행액 네 개다.

2. AI에게 첫 요청은 좁게 한다

“2023년 예산의 연도별·보조세목별 집행액 합계를 알 수 있게 만들어”처럼 한 연도, 한 축으로 시작한다. 이때 AI가 만든 합계를 기존 보고서 숫자와 원 단위로 대조한다. 2023년 예산의 경우 2023년 집행 212,827,800원, 2024년 이월 집행 88,086,333원, 반납 15,705,867원이 기존 보고와 정확히 맞는지 확인한 뒤에야 다음 단계로 갔다. 이 대조가 맞으면 이후 확장에서 원본 읽기 오류를 의심할 필요가 없어진다.

3. 예산연도와 집행연도를 분리한다

교부 예산이 속한 연도(예산연도)와 돈이 실제 나간 연도(집행연도, 이체일자 기준)를 다른 축으로 둔다. 연도별 시트의 열은 예산(계획) | 당해연도 집행 | 차년도 집행 | 합계 | 잔액 | 집행률이 된다. 이월 집행이 어디에 얼마 있는지 한 줄에서 보인다.

4. 집행용도를 세부사업에 대응시키는 규칙을 만든다

집행용도는 “2024년 사회혁신실험 망남마을경제포럼 2차 강사비(홍길동)“처럼 자유 서술이다. 연도당 300~430종이라 그대로는 표가 안 된다. AI에게 연도별 계획서의 세부사업 목록을 주고 “이 체계에 대응하는 키워드 규칙을 만들되, 규칙 표를 통합문서 안에 시트로 넣어라”고 요청한다.

규칙의 원칙은 다음과 같다.

  • 위에서부터 첫 일치. 마지막 규칙은 기본값(대개 “앵커조직 운영”)
  • 공통 선행 규칙: 집행용도에 ‘위탁수수료’·‘부가가치세’가 있으면 세목과 무관하게 각각 D·E로. 인건비 세목(보수·일용임금)은 C 인건비로
  • 연도마다 세부사업 체계가 다르므로 규칙도 연도별로 둔다. 2024년 계획서에서는 “주민역량강화”가 사회혁신실험의 하위항목이고, 2025년부터는 “사업추진체계 운영”의 하위항목이다. 같은 키워드가 연도에 따라 다른 항목으로 가야 한다

AI가 낸 첫 규칙은 반드시 사람이 검토한다. 이번에는 세 차례 지정 재분류가 있었다. 일용임금을 직접경비가 아니라 인건비로, 2024년 예산의 기본계획 관련 지출 9건을 링커조직 발굴로, 2023년 예산의 현황지도 제작비·심층조사 분석비를 앵커조직 운영으로. 지정한 건은 “지정 재분류” 규칙으로 맨 앞에 넣어 다음 갱신 때도 유지되게 한다.

5. 모든 표를 수식으로 만든다

집행내역 시트(원본 + 예산연도·집행연도·세부사업·세목대응·예산구조 파생열)와 예산계획 시트(계획서 숫자, 파란색 입력값)만 값을 갖고, 나머지 표는 전부 SUMIFS/COUNTIFS 수식이다. 표마다 “검증: 원본 집행액 총합 = 일치” 행을 둔다. 월별 갱신은 집행내역 원본을 바꾸고 재계산하면 끝난다.

6. 한셀로 재계산하고 저장한다

담당자가 한셀 사용자면 산출물도 한셀 형식이어야 한다. 한셀은 HCell.Application이라는 자동화 인터페이스를 제공하고 엑셀과 거의 같은 객체 모델(Workbooks.Open, CalculateFull, Range.Formula, SaveAs)을 쓴다. 스크립트로 파일을 열어 전체 재계산 → 모든 셀의 # 오류와 “불일치” 문자열을 훑어 0건 확인 → .cell로 저장하는 순서다.

한셀에서만 걸리는 함정이 하나 있었다. 한셀의 SUMIFS는 ~~를 물결표 이스케이프로 인식하지 않아 “4월~7월 퇴직적립금”처럼 물결표가 든 문장을 조건으로 쓰면 그 건이 통째로 빠진다. 20건, 48,279,540원이 사라진 것을 검증행 “불일치”가 잡아냈다. 문장 대신 숫자 용도키(같은 예산연도·집행용도 문장 묶음에 번호)를 만들어 매칭하면 특수문자 문제가 없다.

7. 결과를 읽는 법

예산연도교부액집행 누계집행률사업비(B) 집행률
2023316,620,000300,914,13395.0%87.5%
2024500,000,000495,565,21499.1%97.5%
2025594,000,000428,911,11272.2%28.0%
2026589,380,000251,770,03042.7%4.2%

위탁수수료와 부가가치세는 편성예산 전액이 연초에 집행되므로 항상 100%다. 그래서 총집행률만 보면 사업 진행이 과장된다. 사업비(B 직접경비)의 집행률을 따로 보는 것이 진행 상황을 읽는 올바른 방법이고, 통합문서 총괄 표1이 그 구조(B·C·D·E)로 되어 있다.

교훈

  • 첫 숫자를 기존 보고와 원 단위로 맞춘 뒤 확장한다. 이 대조가 없으면 이후 모든 표가 의심 대상이 된다.
  • 분류 규칙은 산출물 안에 시트로 남긴다. 담당자가 바뀌어도 “왜 이 건이 저 항목인가”를 파일 안에서 답할 수 있다.
  • AI의 분류는 초안이다. 이번에도 세 차례 사람이 바로잡았다. 바로잡은 내용은 규칙으로 승격시켜야 다음 달에 되풀이하지 않는다.
  • 도구가 다르면 함정도 다르다. 엑셀에서 되는 ~~ 이스케이프가 한셀에서는 안 된다. 검증행이 없었으면 4천8백만 원이 조용히 빠졌을 것이다.
  • PDF 계획서로 추정한 값은 반드시 원본 예산서로 확정한다. 2026년 인건비 271,000천원은 추정이 맞았지만, 하위항목과 세목별 내역은 예산서를 받아서야 채울 수 있었다.

참고

  • 산출물: 망남 어촌신활력증진사업_예산 집행현황(2023~2026).cell (총괄·연도별 4·예산계획·집행용도 상세·분류기준·집행내역, 9시트)
  • 재사용 스킬: sakyowon-ai/skills/hancell-budget-report (한셀 저장 xlsx 리더, 연도별 분류 규칙, 빌드 스크립트, 한셀 재계산 스크립트)
  • 원본: e나라도움 집행완료내역 2023~2026, 연도별 운영예산서 총괄표(2023 변경예산서 20241018, 2024 2차 변경 20250513, 2025 20251128, 2026 202512)
  • 문서 정리 = 데카(deka2026)