Bỏ qua để đến nội dung chính
Điền NguyễnAZ

google-sheets

Hàm ARRAYFORMULA trong Google Sheets: tính toán hàng loạt chỉ với 1 công thức

11/09/2026· Điền Nguyễn AZ
Hàm ARRAYFORMULA trong Google Sheets: tính toán hàng loạt chỉ với 1 công thức

ARRAYFORMULA dùng để làm gì?

Cách làm quen thuộc khi cần tính toán cho cả cột dữ liệu là gõ công thức ở dòng đầu tiên rồi kéo (copy) xuống hết các dòng còn lại. Cách này có vài bất tiện:

  • Thêm dòng dữ liệu mới ở cuối bảng thì công thức không tự có — phải nhớ kéo tiếp.
  • Sửa công thức phải sửa lại toàn bộ các dòng đã kéo, hoặc xóa hết kéo lại từ đầu.
  • Bảng tính nặng hơn vì mỗi ô đều chứa một công thức riêng.

ARRAYFORMULA giải quyết việc này: chỉ cần viết một công thức duy nhất, nó sẽ tự áp dụng công thức đó cho toàn bộ một vùng (nhiều dòng cùng lúc), và tự mở rộng khi có dữ liệu mới thêm vào vùng tham chiếu.

Ví dụ dữ liệu dùng xuyên suốt bài này, nằm ở vùng A1:C6:

A B C
1 Sản phẩm Đơn giá Số lượng
2 Bàn ghế 1,200,000 3
3 Tủ gỗ 2,500,000 2
4 Ghế xoay 850,000 5
5 Kệ sách 950,000 4
6 Bàn học 1,100,000 2

Cách dùng thông thường (không có ARRAYFORMULA)

Muốn tính thành tiền (cột D = Đơn giá × Số lượng) theo cách cũ, bạn gõ ở D2:

=B2*C2

rồi kéo xuống D3, D4, D5, D6. Mỗi ô chứa một công thức riêng, tham chiếu dòng tương ứng.

Cách dùng ARRAYFORMULA: chỉ 1 công thức cho cả cột

Chỉ cần gõ duy nhất ở ô D2:

=ARRAYFORMULA(B2:B6*C2:C6)

Google Sheets sẽ tự tính thành tiền cho toàn bộ 5 dòng (D2 đến D6) chỉ từ công thức này — các ô D3 đến D6 vẫn hiện kết quả dù không hề chứa công thức riêng (bạn bấm vào D4, thanh công thức vẫn trống, kết quả là "tràn" ra từ công thức ở D2).

Lưu ý quan trọng: vùng tham chiếu bên trong ARRAYFORMULA phải cùng kích thước (B2:B6 và C2:C6 đều có 5 dòng). Nếu một vùng dài hơn vùng kia, Sheets sẽ báo lỗi #N/A cho các dòng không khớp.

Ví dụ 2: Kết hợp ARRAYFORMULA với hàm khác

ARRAYFORMULA không chỉ dùng với phép tính đơn giản (*, +, -), mà còn "biến" nhiều hàm vốn chỉ nhận 1 ô thành hàm nhận cả vùng.

Nối chuỗi hàng loạt

Ghép cột Sản phẩm với cột Số lượng thành một mô tả, ví dụ "Bàn ghế: 3 cái":

=ARRAYFORMULA(A2:A6 & ": " & C2:C6 & " cái")

Dùng IF cho cả cột

Đánh dấu "Số lượng lớn" nếu Số lượng ≥ 4, không thì để trống — áp dụng cho cả cột chỉ với 1 công thức:

=ARRAYFORMULA(IF(C2:C6>=4, "Số lượng lớn", ""))

Bình thường hàm IF chỉ nhận từng ô một; bọc thêm ARRAYFORMULA bên ngoài giúp IF chạy trên cả vùng C2:C6 cùng lúc.

Tự mở rộng khi thêm dòng mới

Muốn công thức tự tính luôn cho các dòng thêm sau này (không cần sửa lại công thức), tham chiếu tới cả cột thay vì giới hạn số dòng cụ thể:

=ARRAYFORMULA(IF(A2:A>"", B2:B*C2:C, ""))

Ở đây A2:A (không giới hạn dòng cuối) tham chiếu tới toàn bộ cột A từ dòng 2 trở xuống. Điều kiện A2:A>"" để tránh tính ra kết quả thừa cho các dòng trống chưa có dữ liệu — nếu bỏ điều kiện này, ARRAYFORMULA sẽ tính luôn cho hàng nghìn dòng trống bên dưới, làm bảng tính nặng và chậm.

Bảng so sánh: kéo công thức thường và ARRAYFORMULA

Kéo công thức thường ARRAYFORMULA
Số công thức cần viết 1 công thức/dòng 1 công thức duy nhất
Thêm dòng dữ liệu mới Phải kéo tiếp thủ công Tự tính nếu tham chiếu cả cột (A2:A)
Sửa công thức Sửa lại từng dòng hoặc kéo lại Chỉ sửa 1 chỗ
Độ nặng file Nhiều ô chứa công thức 1 ô chứa công thức, nhẹ hơn
Độ khó khi mới học Dễ Cần quen với khái niệm "vùng" thay vì "ô"

Lỗi thường gặp

Lỗi #N/A hoặc #VALUE! khi bọc ARRAYFORMULA Thường do các vùng tham chiếu bên trong không cùng kích thước (một vùng 5 dòng, một vùng 6 dòng), hoặc trộn giữa tham chiếu cả cột (C2:C) với tham chiếu giới hạn dòng (B2:B6) trong cùng một công thức. Kiểm tra lại để các vùng đồng nhất.

Gõ công thức mảng nhưng chỉ ra kết quả ở đúng 1 ô Quên bọc ARRAYFORMULA(...) ở ngoài cùng — công thức như =B2:B6*C2:C6 mà không có ARRAYFORMULA bao ngoài thường chỉ trả về kết quả của dòng đầu tiên. Thêm ARRAYFORMULA bọc toàn bộ công thức bên trong.

Xóa nhầm ô nằm trong vùng "tràn" kết quả Nếu bạn gõ dữ liệu hoặc công thức khác vào một ô đang nằm trong vùng kết quả của ARRAYFORMULA (ví dụ D4 trong khi công thức ở D2 đang tràn xuống D6), Sheets sẽ báo lỗi #REF! vì bị "chèn ép" mất chỗ. Xóa nội dung ở ô đó trước, hoặc di chuyển công thức ARRAYFORMULA sang cột khác.

Công thức chạy chậm khi tham chiếu cả cột không giới hạn Dùng A2:A (không giới hạn) trên bảng có hàng chục nghìn dòng, kết hợp nhiều hàm lồng nhau, có thể làm Sheets tính toán chậm. Nếu bảng dữ liệu cố định, giới hạn số dòng cụ thể (A2:A1000) thay vì cả cột sẽ nhẹ hơn.

Khi nào nên dùng ARRAYFORMULA?

  • Tính thành tiền, chiết khấu, thuế cho cả bảng bán hàng dài
  • Chuẩn hóa/nối chuỗi dữ liệu hàng loạt (ghép họ tên, tạo mã đơn hàng)
  • Đánh dấu điều kiện (IF) cho toàn bộ cột mà không cần kéo công thức
  • Kết hợp với các hàm như QUERY, VLOOKUP khi cần tra cứu hàng loạt thay vì từng dòng

Học Google Sheets thực chiến tại TP Vinh

ARRAYFORMULA là một trong những công cụ giúp bảng tính gọn và tự động hơn hẳn cách làm thủ công. Nếu bạn muốn học Google Sheets bài bản, từ các hàm cơ bản đến công thức mảng và tự động hóa dữ liệu, tham khảo khóa học Google Sheets tại Điền Nguyễn AZ.

📞 Hotline / Zalo: 0362 465 361

👉 Xem chi tiết: Khóa học Google Sheets thực tế tại TP Vinh

#arrayformula#google sheets#công thức mảng#tự động hóa google sheets

Tài liệu miễn phí

30 phím tắt Excel hay dùng nhất

Tổng hợp phím tắt giúp thao tác Excel nhanh hơn — điền thông tin để tải file PDF miễn phí về dùng ngay.