엑셀 표를 AI에 붙여넣기 전에 열 이름·단위·기간을 명시하는 방법
엑셀 표를 AI에 붙여넣기 전에 열 이름뿐 아니라 값의 단위, 대상 기간, 빈칸의 뜻을 함께 정해야 합니다. 4개를 숫자 4로 정리하는 것과 금액에서 숫자만 떼어 개수로 바꾸는 것은 다릅니다. 이 글은 같은 단위의 수량 네 행을 CSV로 내보내고, 합계가 맞아도 빈칸을 0으로 바꾼 파일은 거부하는 검사를 만듭니다.
실습은 가상 지점 동과 서의 두 달 수량입니다. 실제 점포명, 고객 기록, AI 응답은 포함하지 않습니다. 첨부 XLSX와 CSV는 같은 네 행을 담고 있으며, Excel에서는 셀을 비교하고 선택 사항인 Python 검사에서는 CSV 레코드를 읽어 대조합니다. AI 계정이나 네트워크 연결 없이 자료 준비까지 따라 할 수 있습니다.
준비 파일과 실행 환경
이 실습에는 XLSX를 열고 COUNTA·SUM·ISBLANK 수식을 계산할 수 있는 Excel이 필요합니다. 먼저 첨부를 압축 해제하고 원본 ZIP은 보관한 채 XLSX 사본을 엽니다. CSV 전체 행 검사를 실행할 때만 Python 3이 추가로 필요하며 별도 패키지를 설치하지 않습니다. 편집 전 파일을 복제해 두면 잘못 바꾼 입력을 최초 네 행과 다시 비교할 수 있습니다.

1. 원본의 단위와 빈값 의미를 먼저 고정하기
첨부 XLSX의 준비표 시트 E1:G5는 다음 원본입니다. 지점명과 연월은 이미 정리된 가상 입력으로 두고, 수량의 개 접미사만 숫자에서 분리합니다. 연도가 없는 2월을 보고 실제 연도를 추측하는 작업은 하지 않습니다.
| 원본지점 | 원본연월 | 수량입력 |
|---|---|---|
| 동 | 2026-02 | 4개 |
| 서 | 2026-02 | 빈 셀 |
| 동 | 2026-03 | 3개 |
| 서 | 2026-03 | 5개 |
빈 셀은 수량 미확인이라는 예제 규칙입니다. 미입고, 재고 없음, 0개 중 무엇인지 원본에 없으므로 대신 결정하지 않습니다. 확인된 세 행의 수량 합계는 12개지만, 그것을 네 행 전체의 확정 수량이라고 부르지 않습니다.
| 내보낼 열 | 역할과 형식 | 허용값 | 빈칸 처리 |
|---|---|---|---|
| 예시지점 | 지점 구분용 텍스트 | 동, 서 | 허용하지 않음 |
| 예시연월 | 연월 텍스트 YYYY-MM | 2026-02, 2026-03 | 허용하지 않음 |
| 예시수량_개 | 확인된 수량, 정수 개 | 이번 입력은 4, 3, 5 | 미확인으로 보존 |
이 열 사전은 CSV와 함께 읽을 설명입니다. CSV 첫 줄 앞에 제목이나 설명 행으로 끼워 넣지 않습니다. 예시수량_개처럼 단위를 헤더에 적고 각 데이터 셀에는 숫자만 둡니다. 원·백만 원·kg처럼 다른 단위를 가진 자료는 이 규칙으로 바꾸지 말고 별도 열과 변환 근거부터 정해야 합니다.
2. 내보낼 A1:C5를 네 행 그대로 만들기
준비표 A1:C5에는 다음 값을 넣습니다. 첨부에는 이 상태가 들어 있으므로 E1:G5와 한 행씩 비교할 수 있습니다. 새 통합 문서를 쓴다면 같은 주소에 직접 입력해도 됩니다. 이번 가상 입력의 B열은 월의 첫날 같은 날짜값을 임의로 만드는 대신 2026-02라는 연월 텍스트로 유지합니다.
| 예시지점 | 예시연월 | 예시수량_개 |
|---|---|---|
| 동 | 2026-02 | 4 |
| 서 | 2026-02 | |
| 동 | 2026-03 | 3 |
| 서 | 2026-03 | 5 |
수량 셀 C2·C4·C5에는 각각 숫자 4·3·5를 입력합니다. C3은 내용을 삭제해 실제 빈 셀로 남깁니다. (빈칸)이라는 글자, 공백 한 칸, 수식으로 만든 빈 문자열은 이 입력과 같지 않습니다. 원본 G3도 비어 있는지 함께 확인합니다.
지점 열만 정렬하거나 값이 있는 수량 세 개만 따로 붙여넣으면 행의 연결이 바뀝니다. 지점·연월·수량은 하나의 레코드이므로 A2:C5를 함께 다룹니다. 이번 입력 순서는 동 2월, 서 2월, 동 3월, 서 3월입니다. 다른 순서로 정리하려면 비교 기준도 같은 키로 정렬해야 합니다.

3. 행 수·합계·빈칸 의미를 별도로 확인하기
첨부의 A8:C12는 검사표입니다. B열은 수식 결과이고 C열은 처음 입력의 기대값입니다. Microsoft COUNTA 문서는 COUNTA가 범위에서 비어 있지 않은 셀의 수를 센다고 설명합니다. 그래서 수량 열 대신 모든 행에 값이 있어야 하는 지점 열 A2:A5를 셉니다.
| 결과 셀 | 수식 | 최초 기대값 |
|---|---|---|
| B9 | =COUNTA(A2:A5) |
4 |
| B10 | =SUM(C2:C5) |
12 |
| B11 | =IF(ISBLANK(C3),"PASS","FAIL") |
PASS |
| B12 | =IF(AND(B9=C9,B10=C10,B11=C11),"PASS","FAIL") |
PASS |
합계는 원본의 확인된 수량을 직접 더한 4 + 3 + 5 = 12와 대조합니다. Microsoft SUM 문서는 SUM이 참조 범위의 텍스트를 무시하고 숫자를 더한다고 설명합니다. C4에 3개라는 텍스트가 남으면 합계는 9가 되어야 하므로, 화면에 3이 보이는지만 보지 말고 셀의 값도 확인합니다.
Microsoft IS 함수 문서는 ISBLANK가 빈 셀을 참조할 때 TRUE를 반환한다고 설명합니다. B11은 그 조건만 따로 보므로, C3을 숫자 0으로 채우면 B9=4와 B10=12가 그대로여도 FAIL이 됩니다.
이 세 검사가 모든 행의 정확성을 보증하지는 않습니다. 예를 들어 C2를 3, C5를 6으로 바꾸면 합계는 여전히 12이고 C3도 비어 있습니다. 지점·기간과 각 수량을 원본 네 행에 대조해야 이 변경을 찾을 수 있습니다. 첨부 Python 검사는 그 전체 행 일치까지 확인합니다.
4. 데이터만 CSV로 분리하고 마지막 빈 필드 읽기
첨부 ZIP의 quantity-four-rows.csv는 UTF-8, 쉼표 구분, CRLF 줄바꿈으로 만든 파일입니다. XLSX에는 검사표와 원본도 있으므로 작업 시트를 통째로 CSV로 저장하지 않습니다. 직접 내보낼 때는 다음 순서로 범위를 분리합니다.
-
준비표에서 A1:C5만 복사합니다. -
새 빈 통합 문서의 A1에 값으로 붙여넣습니다. 원본 E:G열이나 검사표가 따라오지 않았는지 확인합니다.
-
사용하는 Excel의 저장 형식에서 CSV UTF-8을 선택해 별도 파일로 저장합니다. 그 형식이 없는 환경이라면 첨부 CSV를 기준으로 확인하고 인코딩을 추측하지 않습니다.
-
텍스트 편집기나 아래 CSV 검사로 첫 헤더, 쉼표 구분, 네 데이터 레코드, 빈 마지막 필드를 확인합니다. 지역 설정에 따라 구분자가 달라질 수 있으므로 파일 확장자만 믿지 않습니다.
이번 파일 내용은 다음과 같습니다.
예시지점,예시연월,예시수량_개
동,2026-02,4
서,2026-02,
동,2026-03,3
서,2026-03,5
이번 가상 CSV 입력 서,2026-02,에는 세 필드가 있습니다. 두 번째 쉼표 뒤의 마지막 필드가 비어 있는 형태이며, 두 쉼표 사이에 빈 수량이 있는 구조가 아닙니다. 그 자리에 0을 쓰거나 마지막 필드를 빼서 두 열짜리 레코드로 만들면 계약이 달라집니다.
RFC 4180은 쉼표나 줄바꿈이 들어 있는 필드를 큰따옴표로 감싸는 형식을 설명합니다. 따라서 일반적인 CSV 레코드 수를 물리적인 줄 수만으로 판단하지 않습니다. 이 고정 예제는 필드 내부 줄바꿈이 없지만, 검사 프로그램은 그런 우연한 조건 대신 CSV 파서로 레코드를 읽습니다.
5. 표준 CSV 파서로 전체 네 행을 대조하기
ZIP에는 Python 3 표준 라이브러리만 사용하는 verify_quantity_csv.py가 들어 있습니다. 압축을 풀고 그 폴더에서 다음 명령을 실행하면 됩니다. 원본 파일을 수정하거나 외부 서버로 전송하는 프로그램은 아닙니다.
python3 verify_quantity_csv.py quantity-four-rows.csv
처음 파일에서 기대하는 출력은 다음과 같습니다.
{'records': 4, 'fields': 3, 'known_quantity_sum': 12, 'missing_quantity_records': 1, 'result': 'PASS'}
검사는 UTF-8 또는 UTF-8 BOM을 읽고, 헤더 이름, 데이터 레코드 네 개, 모든 레코드의 필드 세 개, 확인된 수량 합계, 두 번째 레코드의 빈 수량, 전체 값 일치를 차례로 대조합니다. 숫자로 바꿀 수 없는 수량은 정상 수량으로 받아들이지 않습니다. PASS는 이 파일의 고정 예제와 같다는 뜻이며 일반 CSV 전체에 대한 승인 표시가 아닙니다.

6. 같은 합계로 숨는 오류와 실제 복구 순서
사본에서 한 조건씩 바꾸고 복구해야 어떤 변화가 검사에 걸렸는지 알 수 있습니다. 초기 기대값 C9:C12를 결과에 맞춰 고치면 오류가 가려지므로 그대로 둡니다.
| 바꾼 입력 | 확인할 오류 | 복구와 기대 결과 |
|---|---|---|
| XLSX C3 또는 CSV 두 번째 데이터 행의 수량을 0으로 입력 | 행 수 4·합계 12는 유지되지만 빈칸 의미 검사는 FAIL | C3 내용을 삭제하고 CSV 마지막 필드를 비움. 두 검사 모두 원래 PASS로 복귀 |
| XLSX C4에 3개를 그대로 입력 | SUM 결과 9로 기대값 12와 다름 | 원본 수량의 단위가 개임을 확인한 뒤 숫자 3으로 다시 입력. 합계 12로 복구 |
| C2=3, C5=6으로 바꿔 같은 합계를 만듦 | XLSX의 세 요약 검사는 놓칠 수 있지만 CSV의 전체 행 비교는 FAIL | 원본에 따라 C2=4·C5=5로 복구한 뒤 같은 범위만 다시 내보냄 |
| CSV 맨 위에 준비표라는 제목 행 추가 | 첫 헤더 불일치로 FAIL | 제목 행을 삭제하고 예시지점·예시연월·예시수량_개를 첫 레코드로 복구 |
수량 미확인을 유지할 때는 수식 =""로 빈 모양만 만들지 않습니다. 실제 셀 내용 삭제와 화면상 공백은 다를 수 있으므로 B11의 ISBLANK 결과를 함께 봅니다. CSV에서도 공백 문자 한 칸은 빈 문자열과 다르며, 검사 결과를 통과시키려고 모든 필드의 공백을 무조건 지우지 않습니다.
7. 이 준비표가 판단하지 않는 범위
이 예제는 같은 수량 단위의 가상 네 행을 보존하는 작업에 한정됩니다. 원본의 연도, 단위, 빈값 사유가 불명확하면 정규화 규칙을 먼저 확인해야 합니다. 특히 금액에서 숫자만 꺼내 수량_개로 옮기는 변환은 이 실습의 범위가 아닙니다.
열 이름과 가명 지점을 바꿔도 개인정보가 자동으로 사라지거나 외부 AI 업로드가 허용되는 것은 아닙니다. 실제 자료를 넣기 전에는 조직의 처리 권한과 대상 서비스의 저장·이용 조건을 확인해야 합니다. 이 첨부는 업로드, AI 분석, 개인정보 검사, 업무 승인 기능을 실행하지 않습니다.
출처 원문 수집일: S1 2026-09-23; S2 2026-09-23; S3 2026-09-23; S4 2026-09-23.
첨부 검산 결과와 재현 범위
첨부 ZIP의 CSV 검사기를 Python으로 실행한 결과는 레코드 4개, 필드 3개, 확인된 수량 합계 12, 미확인 수량 1개, PASS였습니다. 이 검사는 CSV 값의 일치를 확인하며 Excel 수식 엔진을 실행하지 않습니다.
XLSX 사본은 LibreOffice Calc로 재계산했고, 저장된 B9:B12 결과를 다음과 같이 대조했습니다. 아래 값은 해당 도구에서 얻은 결과이며 Excel 앱에서 실행한 결과로 제시하지 않습니다.
| 사본의 변경 조건 | B9 행 수 | B10 합계 | B11 빈칸 | B12 종합 |
|---|---|---|---|---|
| 첨부의 최초 네 행 | 4 | 12 | PASS | PASS |
| C3을 숫자 0으로 변경 | 4 | 12 | FAIL | FAIL |
C3에 빈 문자열 수식 ="" 입력 |
4 | 12 | FAIL | FAIL |
| C4를 텍스트 3개로 변경 | 4 | 9 | PASS | FAIL |
| C2=3, C5=6으로 변경 | 4 | 12 | PASS | PASS |
마지막 행처럼 요약 검사에서 PASS여도 원본과 각 값이 일치한다고 판단하면 안 됩니다. 6절의 복구 순서대로 원래 수량을 되돌리고, CSV로 옮긴 결과는 전체 행 검사로 다시 확인합니다. 사용하는 Excel에서는 사본을 열어 B9:B12를 같은 표와 비교하고, 다른 결과가 나오면 내보내기를 멈추고 셀 값·수식을 확인하세요. Excel 앱의 저장 화면, 실제 AI 업로드, 업무 자료의 정확성은 이번 검증에 포함하지 않았습니다.