코멘토 로고

생성형ai로 엑셀 자동화를 할 때 특정 시트를 DB로 활용해 유연하게 만들기

의견존중하는 문서 아티스트

엑셀을 활용해 데이터 가공 및 전처리를 자동화할 때, 조건에 따라 데이터를 변환하는 VBA 코드를 생성형 AI로 작성할 수 있습니다. 하지만, 조건이 추가되거나 변경될 때마다 코드를 새로 생성하고 수정해야 한다는 한계가 있습니다.

이 문제를 해결하기 위해, 엑셀의 특정 시트를 데이터베이스(DB)처럼 활용하여 데이터를 관리하면 자동화의 유연성을 크게 높일 수 있습니다.

간단한 작업이지만, A열에 대륙이 입력되어야 하는데 실수로 국가명이 입력된 데이터를 자동으로 바꾸는 작업을 수행한다고 가정을 해보겠습니다.

 

(1) 유연성이 낮은 경우

[ai에게 아래와 같이 요청]

아래 작업을 수행하는 엑셀 VBA 코드를 만들어줘
잘못된 데이터를 올바른 데이터로 변경
작업시트: Sheet1
A열: 대륙이 아닌 값을 대륙으로 변경
- 미국 -> 북아메리카
- 일본 -> 아시아
- 중국 -> 아시아

 

자동화를 위한 vba코드는 ai가 만들어 주겠지만, 어떤 값을 어떻게 바꿀지는 우리가 하나씩 지정해서 알려줘야 하는데, 만약에 새로운 데이터를 추가하고 싶거나 내용에 변경이 필요하면, 이 코드를 다시 생성해야 하는 문제가 있습니다.

 

(2) 유연성이 높은 경우

엑셀의 지역DB라는 시트를 만들고 시트에 아래와 같은 참조 테이블을 만듭니다.

 

그리고 아래와 같이 ai에게 코드 생성을 부탁합니다.

아래 작업을 수행하는 엑셀 VBA 코드를 만들어줘
잘못된 데이터를 올바른 데이터로 변경
작업 위치: 지역DB의 A열    <---- 시트명을 바꾼다면, 해당 시트명을 사용해야 합니다.
시트의 정보를 참고해서 잘못된 정보를 올바른 데이터로 수정
- 참고 시트 이름: 지역DB
- 잘못된 데이터 찾기: A열 데이터 참고
- 변경할 데이터: B열 데이터 참고

 

"지역DB" 시트를 별도로 관리하여, 조건이 추가되거나 변경될 때 이 시트만 업데이트하면 VBA 코드를 수정할 필요 없이 지속적으로 활용할 수 있습니다.

이 방식을 응용하면, 조건에 따른 데이터 전처리나 가공, 계산 등을 참조 테이블을 활용해서 편리하게 수행하는 자동화 봇을 유연하게 구현할 수 있습니다.

 

도움이 되었다면 좋겠네요 :)