# Cách chuyển dữ liệu từ Google Form sang SPSS: từ file CSV đến dữ liệu sẵn sàng phân tích

> Cách xuất dữ liệu Google Form sang SPSS: tải CSV hoặc XLSX, đặt mã biến, giữ tiếng Việt, mã hóa Likert đúng thứ tự, tránh bẫy Automatic Recode, kiểm tra lỗi.

- URL: https://autofillform.com/huong-dan/xuat-du-lieu-google-form-sang-spss
- Xuất bản: 2026-10-01
- Cập nhật: 2026-10-01
- Tác giả: Đội ngũ AutoFillForm

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

- Ư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](https://autofillform.com/huong-dan/tao-google-form-khao-sat): 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*:



*Ví dụ sheet 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ở.


Ví dụ minh họa

Sheet gốc có 312 phản hồi. Bạn xóa 4 phản hồi thử, loại 11 người không đạt câu gạn lọc và 2 dòng trùng, còn 312 − 4 − 11 − 2 = 295 phản hồi hợp lệ. Chương kết quả cần báo cáo đủ các con số này.




## 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'`.


Lưu ý

Đừng mở CSV của Google bằng cách nhấp đúp trong Excel rồi lưu đè. Excel có thể đọc theo bảng mã mặc định của Windows, biến "Đồng ý" thành ký tự vô nghĩa và ghi luôn lỗi đó vào tệp.




## 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](https://autofillform.com/huong-dan/thang-do-likert-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:



*Automatic Recode (sai) so với mã hóa đúng*

| 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](https://autofillform.com/nghien-cuu-spss/xuat-du-lieu) 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](https://autofillform.com/nghien-cuu-spss/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](https://autofillform.com/huong-dan/cronbach-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

### Nên tải CSV hay Excel từ Google Form để đưa vào SPSS?

Nên liên kết form với Google Sheets rồi tải Microsoft Excel (.xlsx). Tệp .xlsx lưu chữ dạng Unicode nên SPSS đọc đúng dấu tiếng Việt và giữ được nhiều sheet, kể cả codebook. CSV vẫn dùng được nếu bạn import với mã hóa UTF-8 và không mở rồi lưu đè bằng Excel, vì thao tác đó dễ làm hỏng ký tự có dấu.

### Vì sao dữ liệu tiếng Việt bị lỗi font khi import vào SPSS?

Thường do SPSS đang ở chế độ mã hóa theo ngôn ngữ hệ thống, hoặc tệp CSV đã bị Excel lưu lại bằng bảng mã khác. Hãy đóng mọi bộ dữ liệu, vào Edit, Options, thẻ Language và chọn Unicode cho Character Encoding for Data and Syntax, sau đó import lại từ tệp gốc tải từ Google, ưu tiên định dạng .xlsx.

### Có nên dùng Automatic Recode để mã hóa thang Likert không?

Không. Automatic Recode đánh số theo thứ tự chữ cái của chuỗi, nên "Bình thường" có thể thành 1 và "Không đồng ý" thành 5, đảo lộn ý nghĩa thang đo. Hãy dùng Recode into Different Variables hoặc lệnh RECODE với từng cặp giá trị, rồi đối chiếu bảng tần số trước và sau khi mã hóa để chắc chắn không có ô nào bị bỏ sót.

### Câu hỏi Hộp kiểm nhiều lựa chọn xử lý thế nào trong SPSS?

Google Form ghi mọi lựa chọn vào một ô, ngăn cách bằng dấu phẩy. Bạn nên tạo cho mỗi lựa chọn một biến giả nhận 1 nếu được chọn và 0 nếu không, ví dụ bằng hàm CHAR.INDEX trong lệnh COMPUTE. Sau đó có thể chạy tần số từng biến hoặc gom thành Multiple Response Set để báo cáo tỷ lệ chọn.

### Tên biến trong SPSS có được dùng tiếng Việt có dấu không?

Về kỹ thuật, chế độ Unicode cho phép, nhưng không nên. Tên biến giới hạn 64 byte và ký tự có dấu chiếm nhiều byte, lại dễ lỗi khi mở trên máy khác hoặc phần mềm khác như SmartPLS. Hãy dùng mã ngắn không dấu như TC1, HL2 và đưa câu hỏi đầy đủ có dấu vào cột Label.

## 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.
