c. Hàm INDIRECT
3.1. Khái niệm về công thức mảng
a.Công thức mảng trả kết quả về một vùng nhiều ô
Hình minh hoạ bên dưới trình bay ví dụ đơn giản về việc tính toán cột Total (Tổng doanh thu của một loại sản phầm), thông thường để tính cột Total (cột D) này bạn sẽ nhập vào công thức sau: Tại ô D2 nhập vào công thức =B2*C2 sau đó chép xuống D3:D7
Hình : Tính cột [Total] = [Units Sold] * [Unit Price]
Để tính cho cột Total ở đây chúng ta dùng tới 6 công thức. Ngoài cách này chúng ta có thể dùng 1 công thức mảng để tính ra kết quả cho cả cột Total và lưu kết quả trả về tại D2:D7.
Để tạo một công thức mảng tính toán cho trường hợp này hãy làm theo các bước sau:
Chọn vùng các ô sẽ lưu kết quả trả về của công thức mảng, trong ví dụ này chọn vùng D2:D7. Nhập vào công thức sau =B2:B7*C2:C7 (sau khi chọn vùng thì gõ công thức này vào)
Vì đây là công thức mảng bạn hãy nhấn tổ hợp phím Ctrl+Shift+Enter để nhận kết quả công thức trả về. (Công thức thông thường thì chỉ cần Enter)
Lúc này toàn bộ vùng D2:D7 đã có kết quả tính toán và khi vào xem thì sẽ có công thức như sau:
{=B2:B7*C2:C7}
Lưu ý, Excel sẽ đặt cặp ngoặc móc bao quanh công thức để chỉ đây là công thức mảng.
Công thức mảng trên khi tính toán nó sử dụng dữ liệu từ hai mảng đó là mảng chứa số liệu về [Units Sold] được lưu tại vùng địa chỉ B2:B7 và mảng chứa số liệu về [Unit Price] được lưu tại vùng địa chỉ C2:C7 trong bảng tính.
Vì ứng với mỗi mặt hàng sẽ có một kết quả Total khác nhau, nên đó là lý do chúng ta phải chọn trước vùng địa chỉ D2:D7 để lưu trữ kết quả trả về của công thức mảng.
Công thức mảng này trả về kết quả hoàn toàn chính xác cũng giống như kết quả trả về từ 6 công thức riêng lẽ sau: =B2*C2 =B3*C3 =B4*C4 =B5*C5 =B6*C6 =B7*C7
Sử dụng công thức mảng thay cho công thức đơn có một số ưu điểm như:
Là cách tính toán đảm bảo sự chính xác về kết quả (tránh trường hợp vô tình sao chép sai công thức do chạy địa chỉ tham chiếu)
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.
Dùng công thức mảng sẽ giúp tránh trường hợp người chưa thành thạo Excel làm xáo trộng các công thức của bạn.
Bây giờ chúng ta cần tính Tổng doanh thu của tất cả các sản phẩm, tuy nhiên yêu cầu là tính toán căn cứ vào cột [Units Sold] và [Unit Price] bằng công thức mảng (nghĩa là không tính toán thông qua cột Total). Khi đó chúng ta có thể dùng công thức mảng sau:
Tại ô D8 bạn nhập vào công thức: =SUM(B2:B7*C2:C7) và kết thúc bằng tổ hợp phím Ctrl+Shift+Enter. Khi đó công thức trong ô D8 có dạng sau {=SUM(B2:B7*C2:C7)}
Công thức mảng này trả về kết quả tính toán tổng doanh thu cho tất cả các sản phẩm trong một ô D8. Công thức này cũng tính toán căn cứ vào 2 mảng số liệu được lưu trong vùng B2:B7 và C2:C7, trong quá trình tính toán công thức mảng sẽ tạo ra trong bộ nhớ một mảng số liệu mới chứa kết quả của phép nhân các cặp số liệu, sau đó hàm SUM được dùng để cộng tất cả các phần tử trong mảng mới này và trả về một giá trị duy nhất lưu vào ô D8.
Trong trường hợp này chúng ta cũng có thể dùng công thức thông thường là hàm SUMPRODUCT như sau:
Tại ô D8 nhập vào công thức =SUMPRODUCT(B2:B7,C2:C7) sau đó Enter.
3.2.Các thao tác với công thức mảng a.Hiệu chỉnh một công thức mảng
Bạn không thể thay đổi nội dung của bất kỳ ô nào vốn tạo nên một công thức mảng (nếu là mảng nhiều ô).
Bạn không thể xóa các ô vốn hình thành của một công thức mảng (nhưng bạn có thể xóa tòan bộ một mảng)
Bạn không thể chèn các ô mới vào một dãy mảng (nghĩa là chèn hàng và chèn cột)
Để hiệu chỉnh công thức mảng, bạn chọn tất cả các ô trong dãy mảng, kích họat thanh công thức hay nhấn F2, Excel sẽ lọai bỏ các dấu ngoặc móc, và khi bạn hiệu chỉnh xong, bạn sẽ nhấn Ctrl+Shift+Enter để kết thúc.
b.Mở rộng và thu hẹp công thức mảng nhiều ô
Bạn làm theo trình tự sau:
Chọn tòan bộ vùng chứa công thức mảng trên bảng tính. Nhấn F2 vào chế độ hiệu chỉnh
Nhấn Ctrl+Enter để chuyển về dạng công thức thường cho tất cả các ô đang chọn. Chọn lại vùng xuất kết quả công thức mảng mới (mở rộng hay thu hẹp)
Nhấn F2 để vào chế độ hiệu chỉnh Nhấn Ctrl+Shift+Enter
3.3.Ứng dụng