논문 데이터, 엑셀로 정리하는 법 2026: 코딩·피벗·SPSS 내보내기까지
설문지 300부를 회수했는데 엑셀을 어떻게 만들어야 할지 막막한가? 날 것의 응답지 더미는 통계 소프트웨어에 바로 집어넣을 수 없다. 엑셀 데이터 정리 방법을 제대로 잡아야 SPSS·R·jamovi에서 오류 없이 분석을 돌릴 수 있다. 변수명 하나를 잘못 설정하면 SPSS가 전체 열을 문자형으로 읽어 분석 메뉴가 회색으로 비활성화되고, 코딩 규칙 없이 입력하면 나중에 처음부터 다시 손봐야 하는 상황이 생긴다.
이 글은 사회과학·교육학·경영학·심리학 분야 학위논문에서 가장 흔한 설문 데이터와 실험 데이터를 엑셀에 구조화하는 방법을 7단계로 설명한다. 단순 입력법이 아니라, SPSS로 최종 내보낼 때까지 손이 두 배로 가지 않도록 처음부터 올바른 구조를 잡는 것이 목표다. 양적 연구 방법을 채택한 논문이라면 데이터 구조화는 분석보다 앞서는 필수 단계다.
엑셀에서 1행=변수명, 각 열=변수, 각 행=케이스(응답자)로 구조를 설계하고, SPSS 호환 변수명 규칙을 지키며 리커트 척도를 숫자로 코딩한 뒤, 중복·결측·이상값을 정제하고 피벗 테이블로 빠른 탐색을 마치면 SPSS로 바로 불러올 수 있는 완성 데이터셋이 만들어진다.
데이터 정리가 논문 분석의 전제인 이유
많은 학부·대학원생이 설문 회수 직후 SPSS나 R을 열고 싶어 하지만, 분석 소프트웨어는 ‘구조화된’ 데이터만 인식한다. 엑셀에서 열이 제멋대로 병합되어 있거나, 변수명에 한글 띄어쓰기가 들어가거나, 리커트 응답이 “매우 그렇다” 같은 텍스트 그대로 입력되어 있으면 SPSS는 숫자 변수를 문자형으로 잘못 읽어 분석 메뉴 전체가 비활성화된다.
연구 가설을 설정할 때 어떤 변수가 독립변수이고 종속변수인지 미리 정해두면 코딩 규칙도 자연스럽게 결정된다. 가설 설정 단계가 아직 완료되지 않았다면 연구 가설 설정법 가이드를 먼저 확인하면 변수 구조 설계가 훨씬 수월해진다.
데이터 정리를 빠뜨리거나 허술하게 진행하면 통계 분석 단계에서 오류를 수정하는 데 수집보다 더 많은 시간이 소요된다. 이 단계에 충분한 시간을 투자하는 것이 전체 논문 일정을 앞당기는 가장 확실한 방법이다.
1단계: 엑셀 통합 문서 구조 설계

엑셀 데이터셋의 황금 규칙은 단 하나다: 1행 = 변수명, 각 열 = 변수 1개, 각 행 = 케이스(응답자·관측치) 1개. 이것이 SPSS·R·Stata·jamovi 등 모든 통계 소프트웨어가 공통으로 기대하는 ‘직사각형 데이터(rectangular data)’ 형태다.
시트 구성 권장 방법
| 시트명 | 내용 |
|---|---|
| 원자료 (Raw Data) | 입력된 데이터 원본. 절대 수정하지 않는다. |
| 코드북 (Codebook) | 변수명, 변수 레이블, 코딩 규칙(1=매우 그렇다 등) 명세서 |
| 정제 데이터 (Clean Data) | 중복·이상값·결측 처리 후 최종 분석에 사용할 시트 |
원자료 시트를 별도로 보존하는 것은 연구 투명성의 기본이다. 정제 과정에서 실수로 삭제한 케이스를 복원하거나, 지도교수가 원데이터 확인을 요청할 때 즉시 제시할 수 있어야 한다.
피해야 할 흔한 실수
- 셀 병합(Merge): SPSS가 빈 셀로 인식해 결측값 폭증
- 1행 위에 제목 행 추가: 변수명 행이 2행으로 밀려 임포트 오류 발생
- 같은 열에 숫자와 텍스트 혼용: 엑셀이 열 전체를 텍스트 형식으로 변환
- 빈 행·빈 열 삽입: 소프트웨어가 데이터 범위를 잘못 인식해 분석 대상에서 제외
- 색상·굵기로만 구분한 값: 서식은 SPSS로 전달되지 않으며, 반드시 셀 값으로 표현해야 한다
2단계: SPSS 호환 변수명 작성 규칙
엑셀의 1행(변수명 행)은 SPSS로 임포트할 때 그대로 변수명으로 읽힌다. 나중에 SPSS 변수명을 일일이 수정하지 않으려면 처음부터 SPSS 호환 규칙을 따른다.
SPSS 변수명 규칙 요약
| 규칙 | 올바른 예 | 잘못된 예 |
|---|---|---|
| 영문 또는 한글로 시작, 숫자·특수문자 시작 금지 | Q1_만족도 | 1Q_만족도 |
| 공백 없음 (밑줄 _ 사용) | 성별_코드 | 성별 코드 |
| 최대 64자 이내 | 직무만족_Q3 | (64자 초과 이름) |
| 점(.), 쉼표(,), 괄호 사용 금지 | 나이_그룹 | 나이(그룹) |
| 예약어 사용 금지 (ALL, AND, BY, EQ, GE, GT 등) | 전체_점수 | ALL, BY |
실용적인 명명 패턴은 척도약어_문항번호다. 직무만족도 척도 5문항이라면 JS_Q1부터 JS_Q5로 통일한다. 나중에 SPSS에서 하위척도 합산(Compute Variable) 명령을 쓸 때 패턴 검색이 가능해 시간이 대폭 절약된다. 연구 가설에서 정의한 구성 개념(construct)의 약어를 변수명 접두사로 활용하면 어떤 척도에서 나온 문항인지 한눈에 파악된다.
3단계: 설문·실험 데이터 코딩

코딩(coding)이란 글자나 범주 응답을 숫자로 변환하는 과정이다. SPSS를 비롯한 통계 소프트웨어는 숫자 형식 데이터로 분석을 수행하기 때문에, 텍스트 응답은 반드시 사전에 정의한 숫자 코드로 바꿔야 한다.
리커트 척도 코딩
5점 리커트 척도의 표준 코딩은 다음과 같다:
- 1 = 전혀 그렇지 않다
- 2 = 그렇지 않다
- 3 = 보통이다
- 4 = 그렇다
- 5 = 매우 그렇다
코드북 시트에 이 대응표를 반드시 기록한다. 역산 문항(역방향 문항)이 있을 경우 원점수를 그대로 입력하고, 정제 시트에서 =6-원점수 수식으로 역산한다. 원자료에 이미 역산된 값을 입력하면 나중에 역산 여부를 확인하기 어려워진다. 설문지 설계 완전 가이드에서 역산 문항을 처음부터 최소화하는 문항 배치 전략도 확인할 수 있다.
명목 변수 코딩
| 변수 | 코딩 예 |
|---|---|
| 성별 | 1=남성, 2=여성, 3=기타/응답거부 |
| 학년 | 1=1학년, 2=2학년, 3=3학년, 4=4학년 |
| 전공계열 | 1=인문, 2=사회, 3=이공, 4=예체능 |
| 집단(실험설계) | 0=통제집단, 1=실험집단 |
| 결측/무응답 | 99 또는 셀 공란 (SPSS에서 Missing Value 별도 지정) |
무응답은 빈 셀로 두거나 99처럼 유효 범위를 벗어난 숫자로 표기한다. 코드북에 결측 코드를 명시하고, SPSS에서 해당 변수의 Missing Values를 99로 지정하면 분석에서 자동 제외된다.
실험 데이터 코딩
실험 설계에서는 조건(처치군/통제군)을 더미 변수로 코딩한다. 이원배치 설계라면 각 독립변수를 별도 열로 코딩한다. 예를 들어, 처치조건 열 (0=통제, 1=실험)과 성별 열 (0=남, 1=여)을 각각 독립된 열로 구성한다. 상호작용 항은 데이터셋에 직접 입력하지 않고 SPSS의 Compute Variable 기능으로 분석 시 생성한다.
4단계: 데이터 입력 모범 사례
코딩 규칙이 정해졌다면 이제 실제 입력 단계다. 설문지 300부를 두 명이 분담해 입력할 경우, 이중 입력(double-entry) 후 불일치 셀 검토가 가장 신뢰도 높은 방법이다. 한 사람이 입력한 시트와 다른 시트를 EXACT 함수로 비교하면 불일치 셀을 자동으로 찾을 수 있다.
데이터 유효성 검사로 입력 오류 사전 차단
입력 오류를 사전에 차단하려면 데이터 탭 → 데이터 유효성 검사를 활용한다. 리커트 척도 열이라면 1~5 정수만 허용하도록 설정하면, 6이나 문자 입력 시 즉시 오류 경고가 표시된다. 이 설정 하나로 잘못된 값 유입을 대부분 막을 수 있다. 명목 변수 열은 드롭다운 목록을 만들어 정해진 코드만 선택할 수 있게 설정하면 입력 속도도 올라간다.
입력 속도를 높이는 단축키
- Tab: 같은 행에서 다음 열로 이동 (한 케이스 내 문항 이동에 유용)
- Enter: 자동으로 다음 행으로 이동 (다음 응답자로 전환)
- Ctrl+D: 위 셀 값 복사 (반복 값이 많은 열에 활용)
- Ctrl+;: 오늘 날짜 자동 입력 (입력 일자 추적 열이 있을 경우)
5단계: 데이터 정제 — 중복·이상값·결측값

데이터 입력이 끝났다고 바로 SPSS로 가면 안 된다. 정제 과정을 건너뛰면 분석 결과에 오류가 섞여 지도교수 피드백 시 큰 문제가 된다. 정제 데이터 시트에서 다음 세 가지를 순서대로 처리한다.
중복 케이스 제거
데이터 탭 → 중복 항목 제거 기능으로 완전 중복 행을 삭제한다. 하지만 같은 응답자가 다른 날 두 번 응답한 경우처럼 일부 열만 동일한 ‘부분 중복’은 연구자가 직접 판단해야 한다. ID 열이 있다면 ID를 기준으로 정렬한 뒤 육안으로 검토하는 것이 가장 확실하다. 구글 폼으로 수집한 데이터라면 타임스탬프 열을 활용해 짧은 시간 내 중복 응답을 찾아낼 수 있다.
이상값(Outlier) 탐지
연속형 변수에서 이상값은 MIN/MAX 함수로 범위를 먼저 확인한다. 조건부 서식으로 유효 범위를 벗어난 셀을 색상으로 표시하면 한눈에 파악된다. 나이 변수가 0이나 200이라면 입력 오류이므로 원본 설문지와 대조해 수정 또는 결측 처리한다. 이상값을 단순 삭제할 때는 그 이유를 코드북에 기록해두어야 방법론 절에서 설명할 수 있다.
결측값 처리
결측값 처리는 단순히 빈 셀을 채우는 문제가 아니다. 결측 비율이 5% 미만이면 해당 케이스를 목록별 삭제(listwise deletion)해도 무방하지만, 그 이상이면 대체 방법을 논문 방법론 절에 명시해야 한다. 결측이 무작위(MCAR)인지 체계적(MAR/MNAR)인지에 따라 처리 방법이 달라지므로, 결측 패턴 분석을 먼저 수행한다. 결측값 처리 전략에 대한 단계별 심화 가이드는 결측값 처리 단계별 영문 가이드 (tesify.app)에서 확인할 수 있다.
엑셀에서 결측 비율을 변수별로 확인하려면 COUNTBLANK 함수를 활용한다:
=COUNTBLANK(B2:B301)/COUNTA(A2:A301)*100
이 수식은 해당 열의 결측 비율(%)을 반환한다. 각 변수의 결측 비율을 코드북에 기록해두면 방법론 절 작성 시 바로 활용할 수 있다.
6단계: 피벗 테이블로 예비 탐색
SPSS로 넘어가기 전에 엑셀 피벗 테이블로 간단한 기술통계를 먼저 돌려보면 코딩 오류를 한 번 더 잡을 수 있다. 성별 변수에서 예상치 못한 코드 값이 나오거나, 리커트 척도에서 범위를 벗어난 값이 있으면 피벗 테이블에서 즉시 드러난다.
피벗 테이블 생성 방법
- 정제 데이터 시트의 데이터 범위를 선택한다 (헤더 포함).
- 삽입 탭 → 피벗 테이블 → 새 워크시트를 선택한다.
- 명목 변수(성별, 학년 등)를 행(Row) 영역에, 값(Values) 영역에 ‘개수’로 드래그한다.
- 연속 변수(리커트 합산 점수 등)는 값 영역에 ‘평균’으로 설정한다.
- 비정상적으로 높거나 낮은 빈도가 보이면 원자료 시트로 돌아가 해당 케이스를 확인한다.
피벗 테이블 활용 예시
| 확인 목적 | 행(Row) | 값(Values) |
|---|---|---|
| 성별 분포 확인 | 성별_코드 | 개수 |
| 학년별 만족도 평균 비교 | 학년 | JS_합계 평균 |
| 코딩 오류 탐지 | Q1_만족도 | 개수 (6, 7 등 비정상 값 확인) |
| 집단 간 응답 수 균형 확인 | 처치조건 | 개수 |
피벗 테이블에서 특정 코드 값의 케이스가 예상보다 현저히 적거나 많다면 코딩 오류일 가능성이 높다. 이 단계에서 잡아내지 못하면 SPSS 분석 결과에 그대로 영향을 미쳐 결과 해석 전체가 흔들릴 수 있다.
7단계: SPSS로 내보내기
데이터 정제와 피벗 검토가 완료됐다면 SPSS로 내보낼 차례다. 가장 권장하는 방법은 엑셀 파일을 SPSS에서 직접 여는 것이다.
방법 A: 엑셀 파일 직접 열기 (권장)
- SPSS를 실행하고 파일(File) → 열기(Open) → 데이터(Data)를 선택한다.
- 파일 형식을 Excel (*.xls, *.xlsx, *.xlsm)으로 변경한다.
- 정제 데이터 시트가 있는 .xlsx 파일을 선택한다.
- 열기 대화상자에서 “데이터의 첫 행에서 변수명 읽기 (Read variable names from the first row of data)”에 체크한다.
- 워크시트 목록에서 정제 데이터 시트를 선택한다.
- 확인을 클릭하면 데이터 편집기(Data Editor)에 데이터가 로딩된다.
방법 B: CSV 경유 내보내기
R·jamovi·Stata 등 다른 소프트웨어로도 내보낼 계획이라면 .csv로 저장한 뒤 각 프로그램에서 불러오는 방식이 범용적이다. 파일 → 다른 이름으로 저장 → CSV UTF-8 (쉼표로 분리) 형식을 선택한다. 한글 변수명과 데이터가 깨지지 않으려면 반드시 UTF-8 인코딩을 확인해야 한다.
SPSS 임포트 후 반드시 확인할 사항
- 변수 보기(Variable View): 각 변수의 형식이 숫자형(Numeric)인지 확인한다. 문자형(String)으로 읽힌 변수가 있다면 코딩 오류 또는 입력 오류 가능성이 높다.
- 측정 척도 설정: 명목 변수는 명목(Nominal), 순서 변수는 순서(Ordinal), 연속 변수는 척도(Scale)로 변경한다. 이 설정이 분석 메뉴 활성화 여부에 직접 영향을 미친다.
- 결측값 지정: 99로 코딩한 결측값은 Variable View에서 해당 변수를 선택한 뒤 Missing Values 버튼에서 99를 지정한다.
- 변수 레이블 추가: 코드북에 정의한 변수 설명을 Label 열에 입력하면 분석 결과표에 풀 레이블이 출력되어 논문에 바로 활용하기 편하다.
SPSS에서 변수 레이블·결측값 지정까지 완료한 뒤 반드시 .sav 파일로 저장한다. 다음 세션에서 다시 열 때 모든 변수 설정이 그대로 유지되어 재설정 시간이 0이 된다. .xlsx로만 저장하면 변수 레이블·결측값 정의가 매번 초기화된다.
이 과정을 완료하면 SPSS에서 빈도분석, 기술통계, t검정, 상관분석, 회귀분석을 즉시 실행할 수 있다. 구체적인 분석 절차와 명령어는 SPSS 사용법 완전 가이드에서, 어떤 검정을 언제 선택하고 APA 형식으로 결과를 어떻게 기술하는지는 논문 통계 분석 방법 완전 정복에서 단계별로 확인할 수 있다.
자주 묻는 질문 (FAQ)
엑셀에서 한글 변수명을 쓰면 SPSS가 오류를 내나요?
최신 IBM SPSS Statistics 버전(26 이상)은 한글 변수명을 지원합니다. 단, 공백·특수문자·점(.)이 포함된 경우 변수명을 자동으로 변형하거나 오류를 낼 수 있습니다. 처음부터 밑줄(_) 구분의 영문+숫자 조합이나 한글+밑줄 조합으로 작성하면 가장 안전합니다.
설문 응답을 엑셀에 입력할 때 꼭 숫자로 변환해야 하나요?
통계 분석(t검정, ANOVA, 회귀분석 등)에는 반드시 숫자가 필요합니다. “매우 그렇다” 같은 텍스트를 그대로 입력하면 SPSS에서 해당 변수를 문자형(String)으로 인식해 빈도분석 외의 분석이 불가능합니다. 개방형 응답 열만 예외적으로 텍스트를 유지합니다.
피벗 테이블이 있는 엑셀 파일을 SPSS로 불러와도 되나요?
피벗 테이블이 포함된 시트를 선택하면 피벗 요약 행이 케이스로 잘못 읽힙니다. 반드시 1행=변수명, 2행 이후=케이스 형식인 원자료 또는 정제 데이터 시트를 선택하세요.
엑셀 없이 구글 스프레드시트로도 같은 방식이 가능한가요?
가능합니다. 구글 스프레드시트도 동일한 구조로 데이터를 입력한 뒤 .xlsx 또는 .csv 형식으로 내보내면 SPSS에서 동일하게 불러올 수 있습니다. 구글 폼 응답이 자동으로 스프레드시트에 쌓이는 경우, 응답 시트를 복사해 정제 작업을 시작하면 편리합니다.
SPSS 없이 엑셀만으로 논문 통계를 완성할 수 있나요?
엑셀 기본 기능과 분석 도구(Analysis ToolPak)로 기술통계, t검정, 상관분석, 단순회귀분석은 수행할 수 있습니다. 단, 요인분석·구조방정식·다수준 분석 등 고급 통계는 SPSS·R·jamovi 같은 전문 소프트웨어가 필요합니다. 학위논문 수준의 연구에서는 SPSS를 사용하는 것이 지도교수와의 소통 면에서도 효율적입니다.
데이터 정리 다음 단계
엑셀 정리를 마치고 SPSS에 데이터를 올렸다면, 기술통계부터 가설 검증까지 분석을 단계적으로 진행할 차례다. 분석 결과를 논문 방법론 절·결과 절에 어떻게 기술하는지 모른다면 논문 통계 분석 방법 가이드를 참고하면 APA 형식 결과표 작성법까지 한 번에 정리된다.
데이터 분석이 끝났다면 결과를 논리적으로 서술하는 것이 다음 과제다. Tesify는 학문적 진실성을 지키면서 논문 구조 설계·초안 작성·인용 형식(APA/MLA/Chicago/KCI)을 도와주는 AI 보조 도구다. 통계 결과를 방법론 절과 결과 절에 어떻게 녹여낼지 막막하다면, 무료로 먼저 시작해보자.
