프로젝트 소개



상품을 판매하거나 관리하는 업무에서 가장 번거로운 일 중 하나가 바로 '정확한 상품 코드 찾기'입니다. 특히 색상, 사이즈, 옵션이 다양한 상품들을 다룰 때는 수백 개의 데이터에서 정확한 코드를 찾는 것이 정말 시간이 많이 걸리는 작업이죠.


이번 프로젝트는 구글 시트의 고급 함수인 MAP과 LAMBDA를 활용하여, 사용자가 선택한 여러 옵션 조합을 통해 데이터베이스에서 정확한 상품 코드를 자동으로 찾아주는 시스템입니다.



상품 코드 자동 추출 시스템

데이터베이스 시트에는 제품 코드, 바코드와 함께 단일/묶음/유무 판매 형태, 색상, 호수(사이즈), 길이, 두께, 체인, 프리, 추가구성 등 다양한 옵션 정보가 저장되어 있습니다.






주요 기능



1. 다중 옵션 동시 처리


이 시스템의 핵심은 여러 옵션을 동시에 고려하여 정확한 코드를 찾는다는 점입니다. 사용자가 입력하는 조건은 다음과 같습니다:

  • 코드번호 (정렬 기준)
  • 유무/단일 구분
  • 단일판매상품명/유무상품명
  • 옵션 (색상)
  • 옵션 (호수)
  • 옵션 (길이)
  • 옵션 (두께)
  • 옵션 (체인)
  • 옵션 (프리)
  • 옵션 (추가구성1)
  • 옵션 (추가구성2)


상품 코드 자동 추출 시스템

2. 스마트한 빈 값 처리


모든 상품이 모든 옵션을 가지는 것은 아닙니다. 예를 들어 어떤 상품은 색상만 있고 사이즈가 없을 수도 있습니다. 이 시스템은 빈 옵션을 자동으로 처리하여, 입력되지 않은 옵션은 검색 조건에서 제외합니다.


이를 통해 사용자는 해당 상품에 필요한 옵션만 입력하면 되고, 불필요한 옵션은 비워두면 자동으로 무시됩니다.



3. 코드 누락 방지


만약 입력한 조건 조합에 해당하는 상품 코드가 데이터베이스에 없다면, "코드없음"이라고 표시됩니다. 이를 통해 데이터 누락을 즉시 확인할 수 있어, 데이터베이스 관리 품질을 높일 수 있습니다.






기술적 구현



MAP + LAMBDA 함수의 활용


이 프로젝트의 핵심은 구글 시트의 최신 함수인 MAP과 LAMBDA를 활용한 것입니다. 사용된 수식은 다음과 같습니다:



=MAP(C5:C,D5:D,E5:E,F5:F,G5:G,H5:H,I5:I,J5:J,K5:K,L5:L,M5:M,
  LAMBDA(sort,single,bundle,color,ho,len,thic,chain,free,ada,adb,
    IF(sort="","",
      IFERROR(
        INDEX(DB!$B$5:$B,
          MATCH(1,
            ((single=DB!$E$5:$E)+(single=DB!$F$5:$F)+(single=DB!$G$5:$G))*
            ((IF(color="",1,color=DB!$K$5:$K))*
             (IF(ho="",1,ho=DB!$L$5:$L))*
             (IF(len="",1,len=DB!$M$5:$M))*
             (IF(thic="",1,thic=DB!$N$5:$N))*
             (IF(chain="",1,chain=DB!$O$5:$O))*
             (IF(free="",1,free=DB!$P$5:$P))*
             (IF(ada="",1,ada=DB!$Q$5:$Q))*
             (IF(adb="",1,adb=DB!$R$5:$R))),
          0)),
        "코드없음"
      )
    )
  )
)


이 수식의 동작 원리는 다음과 같습니다:


  • MAP 함수: 여러 열(C부터 M까지)의 데이터를 동시에 처리합니다
  • LAMBDA 함수: 각 행의 값들을 변수(sort, single, bundle, color 등)로 받아 처리합니다
  • 조건부 매칭: single 값이 DB의 E, F, G 열 중 하나와 일치하는지 확인합니다 (단일/묶음/유무 구분)
  • 옵션 필터링: 각 옵션이 비어있으면 1(모두 통과), 값이 있으면 해당 값과 일치하는지 확인합니다
  • INDEX-MATCH: 모든 조건을 만족하는 첫 번째 행의 제품 코드(B열)를 반환합니다
  • 오류 처리: 일치하는 항목이 없으면 "코드없음"을 표시합니다


유연한 검색 로직


각 옵션 조건에서 IF(옵션="",1,옵션=DB!열) 패턴을 사용하여, 옵션이 비어있으면 1(항상 참)을 반환하고, 값이 있으면 실제 비교를 수행합니다. 이를 통해 필요한 옵션만 선택적으로 검색 조건에 포함할 수 있습니다.






프로젝트의 장점



1. 시간 절약


기존에는 수백 개의 상품 데이터에서 옵션을 일일이 비교하며 코드를 찾아야 했습니다. 이제는 옵션만 선택하면 즉시 정확한 코드를 얻을 수 있어 업무 시간을 대폭 단축할 수 있습니다.



2. 오류 감소


사람이 직접 코드를 찾을 때는 실수로 잘못된 코드를 선택할 수 있습니다. 자동화된 시스템은 정확한 조건 매칭을 통해 오류를 최소화합니다.



3. 데이터 품질 관리


"코드없음" 표시를 통해 데이터베이스에 누락된 상품 조합을 즉시 발견할 수 있어, 데이터 관리 품질을 높일 수 있습니다.



4. 확장성


MAP과 LAMBDA 함수를 사용했기 때문에, 데이터가 추가되어도 수식을 수정할 필요가 없습니다. 자동으로 모든 행에 적용됩니다.






활용 분야



이 시스템은 다양한 업종에서 활용할 수 있습니다:

  • 의류/패션: 색상, 사이즈, 스타일 조합으로 제품 코드 자동 추출
  • 악세서리/주얼리: 소재, 사이즈, 디자인 옵션으로 SKU 관리
  • 전자제품: 모델, 색상, 용량 조합으로 정확한 제품번호 검색
  • 식품/음료: 맛, 용량, 포장 형태별 상품 코드 관리
  • 화장품: 제품군, 색상, 용량별 코드 자동 매칭





마치며



구글 시트의 강력한 함수 기능을 활용하면 복잡한 데이터 처리를 간단하게 자동화할 수 있습니다. 특히 MAP과 LAMBDA 함수를 조합하면 여러 조건을 동시에 처리하는 고급 데이터 검색 시스템을 만들 수 있습니다.


이와 비슷한 상품 관리, 재고 관리, 데이터 자동화 시스템이 필요하시다면 언제든 문의 주세요. 귀사의 업무 환경에 맞춤형 솔루션을 제작해드립니다.