문제는 '반복'이었다
B2B 비즈니스를 운영하면서 가장 손이 많이 가는 작업 중 하나는 데이터 매칭이다. 주문 ID와 고객 정보를 연결하고, 상품 코드로 재고를 확인하고, 송장과 배송 상태를 맞추는 작업이 매일 반복된다. 지난 3개월간 이 작업에만 주당 약 5시간이 소요되고 있었다.
「같은 데이터, 다른 시트에서 계속 찾아야 했다」
Claude Code와의 만남
지난주 월요일, 윈도우 디바이스의 구글 시트에서 실험을 시작했다. Claude Code의 자동화 기능을 활용하되, 단순한 정렬이나 필터링이 아닌 '동적 검색'을 구현해보기로 한 것이다.
첫 번째 시도 (실패):
= VLOOKUP(A2, B:D, 3, FALSE)
기본 VLOOKUP만으로는 부족했다. 찾는 범위가 매번 달라지기 때문이다.
72시간의 전환점
화요일 오후, Claude Code의 코드 분석 기능을 깊이 있게 활용해보았다.
개선된 접근:
= IFERROR(
INDEX(
FILTER(시트2!C:C, 시트2!A:A = A2),
1
),
「찾을 수 없음」
)
FILTER 함수와 INDEX를 조합하면서 일어난 변화는 극적이었다. 같은 조건으로 여러 시트를 동시에 검색할 수 있게 된 것이다. 수요일 아침, 이 공식을 적용한 시트는 데이터 입력과 함께 자동으로 관련 정보를 끌어오기 시작했다.
결과:
• 주당 5시간의 수작업이 10분으로 단축
• 데이터 오류율 0%(수동 작업 시 약 3~4%)
• 새로운 데이터 소스 추가 시에도 수정만으로 대응 가능
비개발자가 마주친 함정 2가지
1. 범위가 동적으로 변할 때의 오류
A 파트너사가 새로운 데이터를 계속 추가하면서 범위가 늘어났다. 처음엔 행이 추가될 때마다 공식을 수정해야 했다. 해결책은 전체 열(A:A)을 범위로 지정하는 것이었다.
2. 여러 매칭 조건이 필요할 때
단순 ID 검색이 아니라 (ID + 날짜) 조합으로 검색해야 하는 경우가 생겼다. 이때는 CONCATENATE를 활용해 임시 검색키를 만들고 그것으로 FILTER하는 방식을 택했다.
다음 단계
드림팀 봇들과 함께 이 패턴을 다른 자동화 과제에 적용해보고 있다. 동적 참조 방식이 가능해진 만큼, 이제 '예측 단계'로 나아갈 차례다.
요점 정리:
• 반복적인 데이터 매칭 작업은 동적 공식으로 자동화 가능
• FILTER + INDEX 조합이 VLOOKUP의 한계 극복
• Claude Code의 코드 분석이 아이디어 발상에 도움
• 작은 실패와 조정이 누적되면 큰 효율화로 이어진다