Khái niệm
Trong Excel, một mảnlg (array) có thể là mảng một chiều hoặc mảng hai chiều:
- Mảng một chiều thì có thể hiểu đó là một vùng (range) số liệu trên bảng tính. Vùng này sẽ có một dòng (khi mảng nằm ngang) hoặc một cột (mảng nằm dọc).
- Một mảng hai chiều có thể hiểu đó là một vùng số liệu trên bảng tính (có dạng hình chữ nhật). Vùng này gồm nhiều dòng và nhiều cột.
- Công thức mảng không cần lưu trữ các số liệu trong quá trình tính toán trong các ô (cell). MS Excel sẽ xử lý các mảng số liệu này trong bộ nhớ máy tính. Sau đó các công thức mảng sẽ lấy kết quả tính toán trả về trên bảng tính.
- Một công thức mảng có thể trả về kết quả là nhiều ô (range) hay chỉ một ô.
- Công thức mảng có thể trả về kết quả cho một ô hoặc nhiều ô. Công thức mảng trả về kết quả cho nhiều ô thì phải chọn các ô đó rồi mới nhập công thức. Sau đó nhấn CTRL+SHIFT+ENTER.
- Ký hiệu sau khi nhấn CTRL + SHIFT + ENTER {=SUM(B2:B5*C2:C5)}.
- Mảng hai chiều là một hình chữ nhật bao gồm nhiều hàng và nhiều cột. Tương tự như mảng một chiều, ta sử dụng các dấu phẩy để ngăn cách các phần tử trong cùng một hàng và dấu chấm phẩy để ngăn cách các phần tử trong cùng một cột.
- Ưu điểm của công thức mảng:
- Là cách tính toán đảm bảo sự chính xác về kết quả.
- Dùng công thức mảng tránh được việc vô tình xoá hay làm thay đổi công thức trong một ô nào đó của vùng công thức mảng. Vì công thức mảng không cho phép xoá, sửa chữa một ô trong vùng công thức mảng.
- Sử dụng công thức mảng để giải quyết các công việc thống kê với nhiều điều kiện phức tạp một cách hiệu quả, nhanh chóng, tiện lợi hơn các hàm cơ sở dữ liệu.
Các ví dụ minh hoạ
Ví dụ 1:
Chỉ với 1 công thức duy nhất, ta viết hàm như trong hình trên và ấn CTRL + SHIFT + ENTER được kết quả là số số lẻ trong dãy số. Giải thích: =SUM(IF(MOD (B2:B9,2)=1,1,0))
- Hàm SUM ở ngoài yêu cầu đầu vào là một mảng để tính tổng.
- Như vậy kết quả của hàm IF lúc này là một mảng.
- Hàm MOD(x,y) trả về số dư của x khi chia cho y.
- Cách thực thi: Lấy từng ô trong vùng B2:B9 chia cho 2, nếu được dư là 1 thì trả về 1, nếu như khác 1 thì trả về 0. Vậy kết quả của IF lúc này là một mảng gồm các giá trị 1 và 0 tương ứng. Tổng của các giá trị này (hàm SUM bên ngoài) sẽ là số số lẻ trong dãy.