Xuất dữ liệu Google Form sang SPSS: từ file CSV đến dữ liệu sẵn sàng phân tích
Hướng dẫn từng bước đưa câu trả lời Google Form vào IBM SPSS mà không lỗi dấu, không mã hóa sai thang đo và không mất dấu dòng dữ liệu nào.
Tóm tắt nhanh
- Ưu tiên Liên kết với Trang tính rồi tải Microsoft Excel (.xlsx): ít lỗi phông tiếng Việt hơn CSV và giữ được cả sheet codebook.
- Giữ nguyên sheet gốc, làm việc trên bản sao, đổi tiêu đề câu hỏi dài thành mã ngắn như TC1, TC2 và lập codebook.
- Không dùng Automatic Recode cho thang Likert dạng chữ: SPSS đánh số theo thứ tự chữ cái nên "Bình thường" có thể thành 1, còn "Hoàn toàn không đồng ý" lại nhận mã lớn hơn "Đồng ý".
- Câu Hộp kiểm (Checkboxes) xuất nhiều đáp án trong một ô, cần tách thành các biến giả 0/1.
- Sau khi import, chạy Frequencies để bắt giá trị ngoài thang và giá trị thiếu trước khi chạy Cronbach's Alpha.
Quy trình tổng thể trong 6 bước
Muốn xuất dữ liệu Google Form sang SPSS cho sạch, bạn cần nhiều hơn một cú nhấp "Tải xuống". Phần lớn lỗi khi phân tích (thang đo lệch, Alpha âm, tiếng Việt thành ký tự lạ) bắt nguồn từ khâu chuẩn bị dữ liệu. Thứ tự nên làm:
- Xuất câu trả lời từ Google Form (CSV hoặc qua Google Sheets).
- Làm sạch trên bản sao: đặt mã biến, lập codebook, loại dòng không hợp lệ.
- Import vào SPSS ở chế độ Unicode.
- Mã hóa chữ thành số, tách câu Hộp kiểm, đảo chiều câu nghịch.
- Khai báo Variable View.
- Kiểm tra bằng Frequencies.
Nếu bảng hỏi còn đang thiết kế, hãy đọc trước cách tạo Google Form khảo sát chuẩn: chọn đúng loại câu hỏi từ đầu giúp bạn bỏ qua gần hết bước mã hóa.
Hai cách xuất dữ liệu từ Google Form
Cách 1: Tải trực tiếp file CSV
Trong Google Form, mở thẻ Câu trả lời (Responses), bấm biểu tượng ⋮ rồi chọn Tải câu trả lời xuống (.csv) (Download responses). Google tải về một tệp .zip chứa file CSV (Google, n.d.). Cách này nhanh nhưng chỉ là ảnh chụp tại thời điểm tải.
Cách 2: Liên kết với Google Sheets rồi tải .xlsx
Cũng trong thẻ Câu trả lời, chọn Liên kết với Trang tính (Link to Sheets) và tạo bảng tính mới. Mọi phản hồi mới sẽ tự đổ về sheet này. Khi đã xong thu thập và làm sạch, vào Tệp → Tải xuống → Microsoft Excel (.xlsx) (File → Download), hoặc chọn định dạng CSV nếu cần.
Nên ưu tiên .xlsx vì hai lý do. Thứ nhất, .xlsx lưu văn bản dạng Unicode nên SPSS đọc đúng dấu tiếng Việt mà không cần chọn bảng mã. Thứ hai, CSV chỉ xuất sheet đang mở, còn .xlsx giữ cả sheet dữ liệu lẫn codebook. CSV vẫn dùng tốt cho công cụ chỉ nhận CSV, miễn giữ nguyên mã hóa UTF-8.
Chuẩn bị dữ liệu trên Google Sheets
Giữ nguyên dữ liệu gốc
Không sửa trực tiếp sheet mà Google Form ghi vào. Hãy nhân bản sheet (chuột phải vào tên sheet → Sao chép) và chỉ làm việc trên bản sao. Khi có nghi vấn, bạn luôn đối chiếu được với dữ liệu thô.
Đổi tiêu đề dài thành mã biến và lập codebook
Google Sheets dùng nguyên văn câu hỏi làm tiêu đề cột, không hợp lệ làm tên biến SPSS. Hãy thay bằng mã ngắn theo nhóm khái niệm (TC1, TC2… cho "Tin cậy"; HL1, HL2… cho "Hài lòng") và tạo một sheet riêng tên codebook:
| Mã biến | Câu hỏi đầy đủ | Thang đo | Nhãn giá trị | Ghi chú |
|---|---|---|---|---|
| TC1 | Nhân viên giải quyết yêu cầu của tôi đúng hẹn | Likert 1–5 | 1 = Hoàn toàn không đồng ý … 5 = Hoàn toàn đồng ý | |
| TC4 | Tôi thường phải hỏi lại nhiều lần mới được giải đáp | Likert 1–5 | Như TC1 | Câu đảo chiều |
| GIOITINH | Giới tính của anh/chị | Định danh | 1 = Nam, 2 = Nữ, 3 = Khác | |
| GOPY | Góp ý khác (câu mở) | Văn bản | Không mã hóa | Giữ dạng chuỗi |
Loại dòng không hợp lệ
- Phản hồi thử: xóa các dòng bạn tự điền khi kiểm tra form, nhận diện qua cột Dấu thời gian (Timestamp) trước ngày phát link chính thức.
- Không đạt câu gạn lọc: loại người trả lời "Chưa từng sử dụng dịch vụ" nếu đối tượng nghiên cứu là khách hàng đã sử dụng. Chỉ áp dụng tiêu chí đã ghi trong đề cương.
- Trùng lặp: dùng
Dữ liệu → Dọn dẹp dữ liệu → Xóa bản sao(Data → Data cleanup → Remove duplicates) hoặc trong SPSS làData → Identify Duplicate Cases. Chỉ coi là trùng khi hai dòng giống hệt nhau trên mọi cột, kể cả câu mở.
Import vào SPSS và xử lý tiếng Việt
Bật chế độ Unicode trước
Vào Edit → Options, thẻ Language, mục Character Encoding for Data and Syntax, chọn Unicode (universal character set). Tùy chọn này chỉ đổi được khi chưa mở bộ dữ liệu nào. Bản SPSS gần đây mặc định Unicode, nhưng máy phòng lab đôi khi vẫn để chế độ theo ngôn ngữ hệ thống (IBM, n.d.).
Import file Excel hoặc CSV
Dùng File → Import Data → Excel cho tệp .xlsx, chọn đúng sheet dữ liệu (không phải sheet codebook) và tích Read variable names from first row of data. Với CSV, dùng File → Import Data → CSV Data, đặt dấu phân cách là dấu phẩy và text qualifier là dấu nháy kép, vì câu mở có thể chứa dấu phẩy. Nếu chữ tiếng Việt vẫn lỗi, hãy import qua File → Import Data → Text Data và chọn mã hóa UTF-8 ở trình hướng dẫn, hoặc dùng cú pháp GET DATA /TYPE=TXT kèm /ENCODING='UTF8'.
Mã hóa câu trả lời chữ thành số
Câu Phạm vi tuyến tính (Linear scale) xuất ra số 1–5 nên vào SPSS là dùng được ngay. Câu Trắc nghiệm (Multiple choice) và Lưới trắc nghiệm (Multiple choice grid) xuất ra đúng chữ của lựa chọn, nên SPSS nhận là biến chuỗi (String) và mọi phân tích định lượng đều cần bước mã hóa. Đây là lý do bài thang đo Likert trên Google Form khuyên dùng Linear scale cho câu Likert.
Bẫy Automatic Recode
Nhiều bạn dùng Transform → Automatic Recode cho nhanh. Lệnh này đánh số theo thứ tự chữ cái của chuỗi, không theo ý nghĩa thang đo, nên kết quả sai hoàn toàn:
| Câu trả lời | Automatic Recode | Mã đúng |
|---|---|---|
| Bình thường | 1 | 3 |
| Đồng ý | 2 | 4 |
| Hoàn toàn đồng ý | 3 | 5 |
| Hoàn toàn không đồng ý | 4 | 1 |
| Không đồng ý | 5 | 2 |
Thứ tự cụ thể có thể khác đôi chút tùy cách SPSS sắp xếp ký tự có dấu, nhưng không bao giờ trùng với thứ tự Likert. Hậu quả thường gặp là Alpha thấp bất thường hoặc tương quan âm khó hiểu.
Recode đúng cách
Dùng Transform → Recode into Different Variables với từng cặp Old Value → New Value, hoặc chạy cú pháp. Mẹo: đặt tên cột chữ là TC1_TXT để biến số sau mã hóa mang tên TC1:
RECODE TC1_TXT
('Hoàn toàn không đồng ý'=1) ('Không đồng ý'=2) ('Bình thường'=3)
('Đồng ý'=4) ('Hoàn toàn đồng ý'=5) (ELSE=SYSMIS)
INTO TC1.
* Cột số bị nhận nhầm thành chuỗi (ví dụ tuổi).
RECODE TUOI_TXT (CONVERT) INTO TUOI.
EXECUTE.
Chuỗi trong RECODE phải khớp chính xác cả chữ hoa và dấu. Nếu TC1 có nhiều ô SYSMIS hơn số ô trống của TC1_TXT, có lựa chọn bạn gõ chưa khớp.
Câu Hộp kiểm và câu mở
Câu Hộp kiểm (Checkboxes) ghi mọi lựa chọn vào một ô, ngăn cách bằng dấu phẩy, ví dụ "Facebook, Zalo". Hãy tách mỗi lựa chọn thành một biến giả 0/1:
COMPUTE KENH_FB = CHAR.INDEX(KENH, 'Facebook') > 0.
COMPUTE KENH_ZALO = CHAR.INDEX(KENH, 'Zalo') > 0.
VALUE LABELS KENH_FB KENH_ZALO 0 'Không chọn' 1 'Có chọn'.
EXECUTE.
Điều kiện: tên lựa chọn không chứa dấu phẩy và không nằm trong tên lựa chọn khác. Câu mở (Đoạn, Câu trả lời ngắn) nên giữ dạng chuỗi để trích dẫn, hoặc mã hóa thủ công thành nhóm chủ đề trong biến riêng.
Thiết lập Variable View và cú pháp SPSS
Trong Variable View, tối thiểu cần chỉnh đúng các cột sau:
- Name: bắt đầu bằng chữ cái, không có khoảng trắng, không trùng nhau, tối đa 64 byte, tránh kết thúc bằng dấu chấm. Không dùng dấu tiếng Việt: ký tự có dấu chiếm nhiều byte và dễ lỗi khi chia sẻ tệp.
- Label: câu hỏi đầy đủ, có dấu.
- Values: nhãn cho từng mã, ví dụ 1 = Hoàn toàn không đồng ý.
- Missing: mã dành cho giá trị thiếu (ví dụ 9), nếu bạn dùng mã thay vì để trống.
- Measure: Scale cho biến định lượng (tuổi, thu nhập), Ordinal cho câu Likert, Nominal cho giới tính, nghề nghiệp. Cột này chủ yếu ảnh hưởng đến biểu đồ và thủ tục SPSS gợi ý.
Câu đảo chiều (TC4) phải được đảo trước khi tính điểm hay độ tin cậy. Khối cú pháp dưới đây khai báo các thông tin trên và đảo TC4 thành biến mới TC4R, giữ nguyên biến gốc:
VARIABLE LABELS
TC1 'Nhân viên giải quyết yêu cầu của tôi đúng hẹn'
/TC4 'Tôi thường phải hỏi lại nhiều lần mới được giải đáp'
/GIOITINH 'Giới tính'.
VALUE LABELS TC1 TO TC4
1 'Hoàn toàn không đồng ý' 2 'Không đồng ý' 3 'Bình thường'
4 'Đồng ý' 5 'Hoàn toàn đồng ý'
/GIOITINH 1 'Nam' 2 'Nữ' 3 'Khác'.
MISSING VALUES TC1 TO TC4 GIOITINH (9).
VARIABLE LEVEL TC1 TO TC4 (ORDINAL)
/GIOITINH (NOMINAL)
/TUOI (SCALE).
RECODE TC4 (1=5) (2=4) (3=3) (4=2) (5=1) INTO TC4R.
VARIABLE LABELS TC4R 'TC4 (đã đảo chiều)'.
VALUE LABELS TC4R
1 'Hoàn toàn không đồng ý' 2 'Không đồng ý' 3 'Bình thường'
4 'Đồng ý' 5 'Hoàn toàn đồng ý'.
EXECUTE.
Từ khóa TO chỉ đúng khi TC1 đến TC4 nằm liền nhau trong tệp. Hãy lưu khối lệnh thành tệp .sps để chạy lại khi cần.
Nếu dùng phân hệ SPSS của AutoFillForm, trang xuất dữ liệu SPSS cho tải CSV mã số, CSV nhãn và tệp .sps có sẵn nhãn biến, nhãn giá trị; import CSV kiểm tra một tệp CSV có sẵn theo mô hình. Dữ liệu mô phỏng chỉ dùng để thử bảng hỏi và luyện cú pháp, không thay thế dữ liệu khảo sát thật.
Kiểm tra dữ liệu sau khi import
Trước mọi kiểm định, chạy Analyze → Descriptive Statistics → Frequencies cho tất cả biến đã mã hóa và đọc hai điểm: giá trị nằm ngoài thang (0, 6 hay 55 trong thang 1–5) và số giá trị thiếu (Missing) của mỗi biến. Field (2018) và Tabachnick & Fidell (2013) đều coi sàng lọc dữ liệu là bước bắt buộc, vì một lỗi nhập liệu đủ làm lệch mọi hệ số phía sau.
FREQUENCIES VARIABLES=TC1 TO TC4 TC4R GIOITINH
/STATISTICS=MINIMUM MAXIMUM
/ORDER=ANALYSIS.
- Câu bắt buộc mà có Missing thường do mã hóa chưa khớp.
- Ô trống do rẽ nhánh là "không áp dụng", cần tách khỏi giá trị thiếu thật.
- Khi tỷ lệ thiếu nhỏ và ngẫu nhiên, các cách xử lý thường cho kết quả tương tự; tỷ lệ lớn hơn cần xem xét cơ chế thiếu (Tabachnick & Fidell, 2013). Ghi rõ quyết định vào báo cáo.
Khi dữ liệu đã sạch, bước tiếp theo trong lộ trình là kiểm định Cronbach's Alpha cho từng thang đo (Hoàng Trọng & Chu Nguyễn Mộng Ngọc, 2008).
Checklist trước khi phân tích
- Đã lưu bản gốc từ Google Form và chỉ chỉnh sửa trên bản sao.
- Tiêu đề cột là mã biến ngắn, không dấu, không trùng; có codebook.
- Đã loại phản hồi thử, không đạt gạn lọc, trùng lặp và ghi lại số lượng.
- SPSS đang ở chế độ Unicode; chữ tiếng Việt trong Data View hiển thị đúng.
- Câu Likert dạng chữ đã được recode thủ công đúng thứ tự 1–5, không dùng Automatic Recode.
- Câu Hộp kiểm đã tách thành biến 0/1; câu mở giữ dạng chuỗi hoặc đã mã hóa riêng.
- Câu đảo chiều đã có biến mới (TC4R) dùng thay biến gốc.
- Label, Values, Missing, Measure đã khai báo; cú pháp được lưu thành tệp .sps.
- Frequencies không còn giá trị ngoài thang; số dòng khớp với số phiếu hợp lệ đã báo cáo.
Câu hỏi thường gặp
Nguồn tham khảo
- IBM. (n.d.). IBM SPSS Statistics documentation. https://www.ibm.com/docs/en/spss-statistics
- Google. (n.d.). Docs Editors Help: Google Forms. https://support.google.com/docs
- Field, A. (2018). Discovering statistics using IBM SPSS Statistics (5th ed.). SAGE Publications.
- Tabachnick, B. G., & Fidell, L. S. (2013). Using multivariate statistics (6th ed.). Pearson.
- Hoàng Trọng, & Chu Nguyễn Mộng Ngọc. (2008). Phân tích dữ liệu nghiên cứu với SPSS (Tập 1 và 2). NXB Hồng Đức.
Ngưỡng đánh giá trong bài là quy ước phổ biến trong các tài liệu trên. Hãy đối chiếu với yêu cầu của giảng viên hướng dẫn hoặc tạp chí bạn nộp bài.