Sam Park Blog.

Sam의 워드프레스 블로그

Sam Park Blog.

Sam의 워드프레스 블로그

미분류

3주간 ‘공여사들의 엑셀 혁명 with 챗GPT’ 챌린저스 완주 후기!


요즘 엑셀과 AI 활용 능력이 필수가 되어가는 시대잖아요? 저도 뒤처지지 않기 위해 ‘공여사들의 엑셀혁명 with 챗GPT‘ 교재를 가지고 3주간 진행된 온라인 스터디 ‘챌린저스‘에 참여했었고, 드디어 긴 여정을 마무리했습니다! 짧다면 짧은 시간이지만 정말 많은 것을 배우고 느꼈던 소중한 시간이었어요.




매주 쌓아간 학습 인증!


3주간의 학습 과정은 ‘한빛IT 북터디 공식 카페‘ 챌린저스 ‘학습인증‘ 게시판에 매주 한 번씩, 총 세 번의 인증 글을 올리면서 진행했어요. 매주 어떤 내용을 배웠는지 기록하면서 스스로 복습도 할수 있어서 좋았어요.




주차별 핵심 학습 내용 정리




1주차: 엑셀 기본기 익히기

엑셀 작업을 위한 기초 중의 기초를 탄탄하게 다졌어요. 셀, 셀 병합부터 입력 방식, 셀 참조(특히 절대 참조!), 그리고 실무에서 매일 사용하는 숫자/텍스트/날짜/시간 관련 핵심 함수들을 익혔죠. SUM, AVERAGE, COUNT, LEFT, RIGHT, MID, CONCATENATE, FIND, TRIM, TODAY, NOW 등등… 정말 기초부터 확실하게 잡아주는 시간이었어요.





2주차: 직장인이 진짜 쓰는 엑셀

직장인들이 진짜! 쓰는 엑셀 기능을 배웠어요. 조건에 따라 다른 값을 가져오는 IF 함수, 여러 테이블을 합치는 방법, 조건부 집계 함수인 COUNTIF, SUMIF까지! 특히 대량의 데이터를 요약하고 분석하는 데 필수적인 피벗 테이블 사용법과 보고서 작성까지 배워서 실무 적용에 대한 자신감이 확 생겼습니다.




Sub 색깔있는텍스트변경()

    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim pattern As String
    Dim regEx As Object
    Dim matches As Object
    Dim i As Integer

    ' "[주문내역]" 시트를 지정합니다.
    ' Set ws = ThisWorkbook.Sheets("[주문내역]")
    Set ws = ThisWorkbook.Sheets("주문내역")

    ' A열의 데이터 범위를 설정합니다. (데이터가 있는 마지막 행까지)
    Set rng = ws.Range("A1", ws.Cells(Rows.Count, "A").End(xlUp))

    ' 정규 표현식을 사용하여 패턴을 찾기 위해 개체를 생성합니다.
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.IgnoreCase = False ' 대소문자 구분 안 함
    regEx.Global = True      ' 모든 일치 항목 찾기

    ' 찾을 패턴을 정의합니다. ("실속" 또는 "프리미엄" 뒤에 숫자가 오고 "미"로 끝나는 텍스트)
    pattern = "(실속|프리미엄)\d+미"

    ' 패턴을 정규 표현식 개체에 할당합니다.
    regEx.pattern = pattern

    ' 각 셀을 순회하며 패턴을 찾고 색을 변경합니다.
    For Each cell In rng
        ' 셀에 정규 표현식 패턴이 있는지 확인합니다.
        If regEx.Test(cell.Value) Then
            ' 패턴과 일치하는 모든 부분을 찾습니다.
            Set matches = regEx.Execute(cell.Value)

            ' 찾은 각 일치 항목에 대해 글자 색을 빨간색으로 변경합니다.
            For i = 0 To matches.Count - 1
                cell.Characters(Start:=matches(i).FirstIndex + 1, Length:=matches(i).Length).Font.color = RGB(255, 0, 0) ' 빨간색 (RGB: 255, 0, 0)
            Next i
        End If
    Next cell

    ' 사용된 개체를 해제합니다.
    Set matches = Nothing
    Set regEx = Nothing
    Set rng = Nothing
    Set ws = Nothing

    MsgBox "지정된 텍스트의 색상 변경이 완료되었습니다.", vbInformation

End Sub



Sub 부서별데이터통합_수정됨() ' 매크로 이름도 혹시 몰라 바꿨어요

    Dim ws As Worksheet
    Dim ws통합 As Worksheet
    Dim lastRow통합 As Long
    Dim lastRow부서 As Long
    Dim i As Long

    ' 데이터를 통합할 새로운 시트 이름을 정의합니다.
    Const 통합시트이름 As String = "통합 데이터"

    ' "통합 데이터" 시트가 이미 존재하는지 확인하고, 없으면 새로 생성합니다.
    On Error Resume Next ' 오류 발생 시 다음 줄로 넘어갑니다.
    Set ws통합 = ThisWorkbook.Sheets(통합시트이름)
    On Error GoTo 0 ' 오류 처리를 다시 활성화합니다.

    If ws통합 Is Nothing Then
        ' 시트가 없으면 새로 만듭니다.
        Set ws통합 = ThisWorkbook.Sheets.Add
        ws통합.Name = 통합시트이름
    Else
        ' 시트가 있으면 기존 데이터를 모두 지웁니다. (머리글 제외)
        ws통합.Cells.ClearContents
    End If

    ' 첫 번째 시트 (예: 해외사업팀 시트)의 머리글을 복사하여 통합 시트에 붙여넣습니다.
    ' 어떤 시트가 첫 번째 시트가 될지는 실행 시점에 따라 달라질 수 있으므로,
    ' 특정 시트의 머리글을 사용하려면 해당 시트 이름을 정확히 지정해야 합니다.
    ' 여기서는 '해외사업팀' 시트의 머리글을 복사하도록 수정합니다.
    On Error Resume Next
    Set ws = ThisWorkbook.Sheets("해외사업팀")
    On Error GoTo 0

    If Not ws Is Nothing Then
        ws.Range("A1:H1").Copy Destination:=ws통합.Range("A1")
    Else
        ' 만약 지정된 시트가 없으면 사용자에게 알립니다.
        MsgBox "'해외사업팀' 시트를 찾을 수 없습니다. 머리글 복사를 건너뜁니다.", vbExclamation
    End If


    ' 각 시트를 순회하며 데이터를 통합 시트에 복사합니다.
    ' 통합 시트와 코드가 들어있는 시트는 제외합니다.
    For Each ws In ThisWorkbook.Sheets
        ' 매크로 코드가 포함된 시트의 이름을 가져오는 부분에 오류가 있을 수 있어서 이 부분을 좀 더 일반적인 방식으로 수정했습니다.
        ' 대신, 매크로를 실행하는 모듈 이름을 알아야 할 수도 있습니다.
        ' 간단하게 통합 시트 이름만 제외하고 순회하도록 수정했습니다.
        If ws.Name <> 통합시트이름 Then ' 통합 시트만 제외
            ' 해당 시트의 마지막 행을 찾습니다.
            lastRow부서 = ws.Cells(Rows.Count, "A").End(xlUp).Row

            ' 데이터가 2행 이상 있을 경우 (머리글 제외) 데이터를 복사합니다.
            If lastRow부서 >= 2 Then
                ' 통합 시트의 마지막 행을 찾습니다. (새 데이터를 붙여넣을 위치)
                lastRow통합 = ws통합.Cells(Rows.Count, "A").End(xlUp).Row

                ' 해당 시트의 데이터 범위를 복사합니다. (A2부터 H열의 마지막 행까지)
                ws.Range("A2:H" & lastRow부서).Copy

                ' 통합 시트의 마지막 행 바로 아래에 붙여넣습니다.
                ws통합.Range("A" & lastRow통합 + 1).PasteSpecial xlPasteAll ' 모든 서식 포함 붙여넣기
                'ws 통합.Range("A" & lastRow통합 + 1).PasteSpecial xlPasteValues ' 값만 붙여넣기 (서식 제외)

                Application.CutCopyMode = False ' 복사 모드 해제
            End If
        End If
    Next ws

    ' 통합 시트를 활성화하여 결과를 보여줍니다.
    ws통합.Activate

    MsgBox "부서별 데이터 통합이 완료되었습니다.", vbInformation

End Sub


3주차: 챗GPT로 엑셀 활용하기

이 책의 하이라이트이자 제가 가장 기대했던 3주차! 바로 챗GPT를 활용한 엑셀 VBA 매크로 코드 등으로 효율적인 업무 처리 방법을 배웠습니다. ‘에러 극복하기’ 챕터를 통해 엑셀 작업 중 마주치는 다양한 에러의 원인을 파악하고 해결하는 방법을 익혔고, 일일이 외우지 않아도 챗GPT에게 물어보면 바로 알려주는 편리한 함수 활용법을 배웠어요.

챗GPT에게 원하는 기능만 설명하면 뚝딱 VBA 코드를 짜주는 걸 보면서 ‘와, 이제 코딩 몰라도 자동화가 가능하구나!’ 하고 놀랐어요.

AI와 함께하는 엑셀 작업의 신세계 경험!


이번 스터디를 통해 얻은 가장 큰 수확은 AI, 특히 챗GPT를 엑셀 업무에 어떻게 접목시킬 수 있는지 제대로 배웠다는 점이에요.

예전에는 단순 반복 작업이나 복잡한 함수, VBA 코딩이 필요할 때마다 막막했거든요. 이걸 언제 다 배우고 일일이 코딩하고 있지…? 생각만 해도 머리가 아팠는데, 이제는 챗GPT에게 상황을 설명하고 ‘이런 결과가 나오게 VBA 코드를 짜줘’라고 요청하면 순식간에 해결되더라고요!

후기 글에 예시로 남긴 것처럼, 특정 텍스트 색상 변경이나 여러 시트 데이터 통합 같은 작업도 챗GPT 덕분에 정말 빠르고 정확하게 처리할 수 있었습니다. 혼자 했다면 몇 시간 걸렸을 작업들이 AI 도움으로 1분 안에 끝나는 걸 보고 효율성의 끝판왕을 경험했죠!




이 책, 강력 추천합니다!


공여사들의 엑셀 혁명 with 챗GPT‘는 엑셀 왕초보부터 실무자까지 모두에게 추천하고 싶은 책이에요. 모든 함수를 다 외우려 스트레스받는 대신, 필수적인 엑셀 기본기와 실무 활용법을 익히고, 나머지는 챗GPT라는 강력한 도구를 활용해서 업무 효율을 극대화하는 방법을 알려주거든요.

이제는 엑셀과 AI를 함께 활용하는 능력이 선택이 아닌 필수가 되는 시대인 것 같아요. 이 책은 변화하는 시대에 맞춰 스마트하게 일하는 방법을 알려주는 현직자 필독서라고 생각합니다!


앞으로 배운 내용을 실무에 잘 적용해서 저만의 엑셀 혁명을 일으켜 보겠습니다!



답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다