티스토리 뷰

카테고리 없음

엑셀에서 가져온 상품코드의 앞자리 0이 사라지는 데이터 오류

생각방 2026. 11. 12. 18:55

목차


    거래처 상품 목록을 엑셀로 정리해 ERP에 올리는 과정에서는 행 수가 맞아도 상품 연결이 어긋날 수 있습니다. 엑셀 원본의 00123이 업로드 과정에서 서식이 변경되어 123으로 바뀐 경우를 보겠습니다. 먼저 확인할 것은 누락 건수보다 상품코드가 어느 단계에서 숫자로 해석됐는지입니다.


    상품 목록 원본과 스프레드시트의 코드 열을 대조

    화면의 표시와 실제 상품코드의 차이

    상품코드는 계산할 수량이 아니라 상품을 구별하는 식별자입니다. 기준정보에서 00123과 123을 다른 코드로 관리한다면 앞자리 0도 값의 일부입니다. 숫자로 변환하면 이 구분이 사라지므로, 숫자만 들어 있다는 이유로 숫자형을 선택해서는 안 됩니다.

    엑셀은 숫자처럼 보이는 입력에서 앞자리 0을 제거할 수 있습니다. 사용자 지정 서식 00000으로 숫자 123을 00123처럼 표시해도 저장값이 문자열로 바뀌는 것은 아닙니다. 다른 프로그램으로 넘길 상품코드는 화면 모양과 실제 자료형을 구분해야 합니다. Microsoft의 앞자리 0 안내도 외부 데이터 원본으로 쓰지 않는 통합문서에서의 표시 방법과 텍스트 보존 방법을 나눕니다.

    따라서 원본 파일은 보존하고 작업 사본에서 비교합니다. CSV는 텍스트 편집기로 해당 필드를 확인하고, XLSX는 원본 셀의 값과 자료형을 살핍니다. 화면에서만 0이 안 보이는지, 이미 값이 바뀌었는지부터 구분해야 재가져오기와 복구 중 어느 작업을 할지 정할 수 있습니다.

    요약: 상품코드 점검의 기준은 화면에 보이는 자릿수가 아니라 원본 식별자와 저장값의 일치입니다.

    가져오기 전에 지정할 텍스트 자료형

    CSV를 직접 열거나 외부 데이터를 붙여넣을 때 자동 변환이 개입할 수 있습니다. Microsoft 365·Excel 2024의 Windows·Mac 버전에서는 자동 데이터 변환 설정을 조정할 수 있습니다. 다만 이 설정은 Power Query 가져오기에 직접 적용되지 않으므로 두 경로를 별도로 점검해야 합니다. 자동 데이터 변환 공식 문서에서 지원 제품과 적용 범위를 확인할 수 있습니다.

    1. CSV는 데이터 탭의 텍스트/CSV 가져오기로 읽고, 바로 로드하기 전에 데이터 변환 화면을 엽니다. 메뉴 이름과 지원 범위는 제품·버전에 따라 확인합니다.
    2. 상품코드 열의 자료형을 텍스트로 지정합니다. 자료형 감지 옵션이 제공되는 화면에서는 자동 감지를 사용하지 않고 텍스트로 읽는 방법도 선택할 수 있습니다.
    3. 적용된 단계에서 자동으로 추가된 ‘변경된 유형’ 또는 Changed Type을 확인합니다. 상품코드를 숫자로 바꾼 단계가 있다면 그 단계의 지정을 수정하거나 제거하고, 원본에서 읽은 문자열이 유지되는지 확인합니다.
    4. 미리보기에서 앞자리 0이 있는 코드와 영문 혼합 코드를 원본과 대조한 뒤 로드합니다. 이후 새로 고침에도 같은 변환 단계가 적용되는지 점검합니다.

    Power Query는 CSV 같은 원본에서 자료형을 자동으로 추정하며, 형식 변경 단계를 추가할 수 있습니다. 숫자 변환 뒤에 텍스트 변환만 덧붙이면 이미 없어진 0은 되살아나지 않습니다. 자료형 문서와 Text/CSV 연결 문서를 함께 보고, 값이 바뀌기 전 단계부터 수정하는 편이 안전합니다.

    요약: 텍스트 지정은 숫자로 바뀐 뒤의 외형 수정이 아니라, 원본을 읽는 단계에서의 보존 규칙입니다.

    상품코드 열의 값을 유지해 대상 시트로 전달

    앞자리 0을 보충할 수 있는 복구 조건

    이미 바뀐 123만으로는 원래 값이 123, 0123, 00123 중 무엇이었는지 알 수 없습니다. 원본이나 상품 기준정보가 남아 있으면 그것으로 복구하고, 길이가 달라진 코드에 일괄적으로 0을 붙이는 조치는 보류합니다. 서로 다른 상품을 같은 코드로 연결할 수 있기 때문입니다.

    설명용 예시로, 상품코드가 예외 없이 다섯 자리 숫자 문자열이라는 업무 규칙이 확인됐다면 =TEXT(A2,"00000")로 숫자 123을 문자열 00123으로 만들 수 있습니다. 이는 정해진 규칙으로 값을 재구성하는 방법이며 원래 값을 알아내는 기능은 아닙니다. 길이가 다른 코드나 영문 코드가 섞이면 같은 규칙을 적용하지 않습니다.

    또한 긴 숫자 코드가 엑셀 숫자로 처리돼 유효숫자 15자리를 넘는 부분이 손상됐다면 앞에 0을 붙여도 복구되지 않습니다. 나중에 셀 서식을 텍스트로 바꾸는 것 역시 사라진 정보를 되돌리지 못합니다. 이 경우에는 원본을 다시 확보해 처음부터 텍스트로 가져와야 합니다. 근거는 Microsoft의 숫자 정밀도·텍스트 보존 설명입니다.

    요약: 원본 대조가 우선이며, 자릿수 보충은 예외 없는 코드 규칙이 확인된 경우에만 적용합니다.

    ERP 반영 전 원본과 전송값 대조

    실무 점검은 통합문서에서 끝내지 않는 편이 좋습니다. 엑셀에서 보존한 코드라도 내보내기나 ERP 적재 단계에서 다시 숫자로 해석될 수 있으므로, 최종 파일의 실제 필드와 수신 시스템의 열 자료형을 함께 확인합니다. 다음 표는 특정 제품의 자동 검증 기능이 아니라 업무 적용을 위한 점검 기준입니다.

    확인 대상반영 전 판단 기준
    원본·작업 파일앞자리 0이 있는 코드가 문자 단위로 일치하고, 원본은 별도 보존
    코드 길이·허용 문자상품 기준정보의 길이 규칙과 영문·기호 허용 범위 충족
    빈 값·중복 코드변환 전후 누락·중복 여부 비교, 새로 생긴 중복은 반영 보류
    최종 전송 파일텍스트 편집기 등으로 실제 코드 필드 확인, 화면 서식만으로 통과 처리 금지
    수신 시스템코드 필드를 문자열로 처리하는지 확인하고 적재 후 기준정보와 대조

    행 수가 같다는 사실만으로는 코드 보존을 확인할 수 없습니다. 동일한 원본 행을 기준으로 코드가 달라진 항목을 찾고, 기준정보에 연결되지 않는 코드와 여러 상품으로 연결되는 코드를 따로 검토해야 합니다. 반복 수신 업무라면 담당자의 수동 보정보다 가져오기 단계의 자료형과 예외 처리 기준을 고정하는 것이 재발 방지에 도움이 됩니다.

    본과 최종 전송 파일의 대응 셀을 비교하고 검토 대상을 구분

    결론

    앞자리 0이 사라졌다면 먼저 원본과 변환 단계를 보존하고, 값이 바뀐 최초 지점을 찾습니다. 원본이 있으면 텍스트로 다시 가져오고, 원본이 없으면 코드 규칙을 확인하기 전까지 임의 보정을 멈춥니다. 최종 반영 여부는 엑셀 화면이 아니라 전송값과 수신 시스템에 저장된 식별자가 기준정보와 일치하는지로 판단해야 합니다.

    참고자료