본문 바로가기
생성형 AI

업무 자동화 기술의 진화: 엑셀에서 AI까지

by Coach Joseph 2025. 8. 16.
728x90
반응형

  과거를 바라보면 현재를 이해하는데 많은 도움이 됩니다. 1990년대 중반 삼성전자에서 2주간 엑셀을 가르쳐 주었던 시절이 떠오릅니다. 당시는 로터스 1-2-3라는 Dos용 스프레드 시트가 왕자를 차지하고 있던 시절이었습니다. DOS 환경의 검은 화면에서 함수를 입력하고, 그래프를 그리는 것만으로도 충분히 혁신적이었습니다. 그러다 Windows95가 등장하면서 모든 것이 바뀌게 됩니다. 검은 화면 대신 유리창처럼 투명하고 시각적인 인터페이스가 눈앞에 펼쳐졌습니다. 프로그램도 엑셀이라는 새로운 강자가 등장했습니다. 그래서 엑셀을 배우러 다녔던 모양입니다. 그때를 떠올리면 생성형 AI 배우고 있는 제 모습이 이해가 되는군요. 그 이후 IF, Vlookup, SumIF 함수 같은 것만 제대로 활용해도 업무의 달인 소리를 들을 수 있었던 때입니다.

 

  특히 전산화가 더뎌 지점의 수익을 계산해 내기 어려웠던 시기에 지점장님이 "우리 지점 수익이 어떻게 되는지 재무제표를 만들어 보자."라는 제안에 미친 듯이 공부하고 모르는 것은 삼성전자 교육장으로 컴퓨터 학원으로 엑셀의 고수라는 사람을 찾아 물어보고 배웠습니다. 그리고는 시트를 넘나드는 복잡한 것도 클릭 한 번으로 프로그램을 만들고, 수익관리부터 데이터 분석까지, 마치 프로그래밍을 하듯 엑셀로 업무를 체계화했었습니다. 그때는 그것만으로도 충분히 혁신적이었고, 조합에 효율성을 높여주었다고 생각합니다. 하지만 지금 이 글을 쓰면서 생각해 보니, 그 모든 수고로운 과정을 이제 생성형 AI가 단 몇 마디의 대화로 해결될 수 있다는 사실입니다. 30년이 넘는 시간 동안 우리의 업무 방식이 어떻게 극적으로 변화할 수 있게 되었을까요?

 

  생성형 Ai가 가져온 엑셀 업무의 패러다임 전환

  생성형 AI 이야기를 하면서 30년 전 엑셀 이야기를 꺼낸 것이 뜬금없이 보일 수 있습니다. 하지만 이 비교야 말로 현재 우리가 살아가는 변화의 세상이 어떤 세상인지를 잘 보여주고 있습니다. 과거에는 단순한 데이터 정리를 위해서도 상당한 전문 지식이 필요했습니다. 예를 들면 Vlookup 함수 하나를 제대로 사용하려면 함수의 법칙을 외워야 하고, 절대 참조인지, 상대 참조인지를 이해하며, 이것에 대한 값이 True, False를 이해해야 했습니다. 더 복잡한 작업을 위해서는 VBA(Visual Basic for Application)을 배워야 했습니다. 매크로 기록부터 시작해서 복잡한 프로그래밍 로직까지 익혀야 사용할 수 있었습니다. 그래서 학원에서 이런 언어들을 많이 가르쳤습니다.

 

  하지만 지금은 어떨까요? 이제는 매출 데이터를 월별로 정리하고, 전년 동기 대비 증감률을 계산하는 엑셀 매크로를 만들어 달라고 하면 어떨까요? 제가 한번 물어보았습니다. 정말 단순하고 간단하게 위에 언급한 내용만을 ChatGPT에게 주었습니다. 그랬더니 아래와 같은 VBA를 만들어 주었습니다. 이것을 엑셀에서 Visual Basic을 눌러 Module을 누르고 붙여 넣기 하면 끝입니다. 제가 자료는 없어서 실험은 못했습니다. 하지만 내용을 보니 대충 만들어질 것 같기는 합니다.

Sub MonthlySalesSummary()

    Dim ws As Worksheet
    Dim wsSummary As Worksheet
    Dim lastRow As Long
    Dim summaryRow As Long
    Dim salesDict As Object
    Dim cell As Range
    Dim salesDate As Date
    Dim salesAmount As Double
    Dim yearMonth As String
    Dim key As Variant
    
    Set ws = ThisWorkbook.Sheets("매출데이터") ' 원본 데이터 시트 이름
    Set wsSummary = ThisWorkbook.Sheets.Add
    wsSummary.Name = "월별매출"
    
    ' Dictionary 생성
    Set salesDict = CreateObject("Scripting.Dictionary")
    
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 원본 데이터에서 월별 합계 계산
    For Each cell In ws.Range("A2:A" & lastRow)
        If IsDate(cell.Value) And IsNumeric(cell.Offset(0, 1).Value) Then
            salesDate = cell.Value
            salesAmount = cell.Offset(0, 1).Value
            yearMonth = Format(salesDate, "YYYY-MM")
            
            If Not salesDict.Exists(yearMonth) Then
                salesDict(yearMonth) = salesAmount
            Else
                salesDict(yearMonth) = salesDict(yearMonth) + salesAmount
            End If
        End If
    Next cell
    
    ' 요약 시트에 데이터 쓰기
    wsSummary.Range("A1").Value = "월"
    wsSummary.Range("B1").Value = "매출합계"
    wsSummary.Range("C1").Value = "전년 동월 매출"
    wsSummary.Range("D1").Value = "전년대비 증감률 (%)"
    
    summaryRow = 2
    For Each key In salesDict.Keys
        wsSummary.Cells(summaryRow, 1).Value = key
        wsSummary.Cells(summaryRow, 2).Value = salesDict(key)
        summaryRow = summaryRow + 1
    Next key
    
    ' 전년 동월 매출 및 증감률 계산
    Dim i As Long
    For i = 2 To wsSummary.Cells(wsSummary.Rows.Count, "A").End(xlUp).Row
        Dim prevYearMonth As String
        prevYearMonth = Format(DateAdd("yyyy", -1, DateValue(wsSummary.Cells(i, 1).Value & "-01")), "YYYY-MM")
        
        Dim j As Long
        For j = 2 To wsSummary.Cells(wsSummary.Rows.Count, "A").End(xlUp).Row
            If wsSummary.Cells(j, 1).Value = prevYearMonth Then
                wsSummary.Cells(i, 3).Value = wsSummary.Cells(j, 2).Value
                If wsSummary.Cells(j, 2).Value <> 0 Then
                    wsSummary.Cells(i, 4).Value = (wsSummary.Cells(i, 2).Value - wsSummary.Cells(j, 2).Value) / wsSummary.Cells(j, 2).Value * 100
                End If
                Exit For
            End If
        Next j
    Next i
    
    ' 서식 적용
    wsSummary.Columns("A:D").AutoFit
    wsSummary.Range("B2:B" & summaryRow).NumberFormat = "#,##0"
    wsSummary.Range("C2:C" & summaryRow).NumberFormat = "#,##0"
    wsSummary.Range("D2:D" & summaryRow).NumberFormat = "0.00"
    
    MsgBox "월별 매출 요약 및 전년 대비 증감률 계산이 완료되었습니다.", vbInformation
    
End Sub

  이것을 만들어 주는데 정말로 10초가 걸리지 않았습니다. 항상 이야기하지만 초안 만드는 데까지 10초인 것입니다. 자신의 상황에 맞게 수정하고 하는 데는 시간이 걸립니다. 하지만 이렇게 짧은 시간에 초안을 만들어 주는 것만으로도 정말 대단한 변화라는 것입니다. 심지어 함수를 몰라도, 매크로가 무엇인지 몰라도, Viaual Basic 언어를 몰라도 말입니다. 

 

  더 놀라운 사실은 이것이 어떻게 동작하는지, 사용 전에 준비할 것은 무엇인지까지 세세히 안내해 주고 있다는 사실입니다. 마치 20년 된 경력의 엑셀 전문가가 이것은 이렇게 하는 것이야라며 가르쳐 주고 있는 것 같습니다. 과거에 날을 세워가며 만들었던 프로그램들이었습니다. 중간에 틀리면 어디서 틀렸는지도 모른 채 다시 시작했던 경험도 있습니다. 하지만 이제는 원하는 결과를 자연어로 설명하기만 하면, AI가 최적화된 솔루션을 제시해 줍니다. 특히 지점 수익관리에 필요한 재무제표를 만들면서 몇 주간을 늦은 밤까지 만들었던 것을 Ai와 간단한 대화로 완성도 높게 만들 수 있게 된 것입니다. 시대의 변화가 이렇게 극적임을 실감하고 있습니다.

 

  로터스 1-2-3에서 엑셀로, 그리고 생성형 AI로 30년간 변화를 돌아보면 기술의 진보가 급격히 빨라지고 있다는 것입니다. 과거에는 새로운 도구를 익히는 데 몇 달, 몇 년이 걸리는 것이 이제는 AI와 대화만 명확하게 해도 전문가 수준의 결과를 얻을 수 있습니다. 그럼에도 변하지 않는 것은 있습니다. 바로 '무엇을 해결하고 싶은가?'라는 명확한 목표 설정과 '어떻게 설명할 것인가?'라는 소통 능력입니다. 과거에는 함수를 명확하게 쓰면 되었지만, 지금은 AI에게 내 의도를 어떻게 정확히 전달하는가가 중요하다는 것입니다. 

 

  지금부터 10년 아니 5년 후에는 어떤 혁신이 우리를 기다리고 있을까요? 분명한 것은 기술이 지속적으로 개발되고 발전한다는 것입니다. 그 변화에 적응하고, 변화를 두려워하지 않으며, 새로운 도구를 현명하게 사용하는 것입니다. 과거의 경험이 의미가 없다는 것이 아닙니다. 그 경험들이 있기에 지금에 변화에 적응하고 있고, 얼마나 혁신적인 것인지를 이해하는 것입니다. 기술은 변하고 있습니다. 하지만 일의 본질과 문제 해결에 대한 열정은 여전히 가장 중요한 자신임을 잊지 말기를 바랍니다. 

 

  https://bit.ly/HappyGrowth

 

백근시대

ChatGPT 강의 스마트폰 대인관계소통 코칭리더십(리더십) 강의 라이프코칭, 비즈니스코칭 매일 글쓰는 코치 머니프레임 머니코칭 은퇴자 변화관리 청년 현명한 저축관리 매일 글쓰는 코치 지금은

xn--6i0b48gw7ie1g.my.canva.site

지금은 백근시대

반응형