Hàm Subtotal

Liên hệ QC

TranThanhPhong

Ngày mai trời lại sáng!
Thành viên danh dự
Tham gia
16/3/07
Bài viết
2,104
Được thích
19,169
Giới tính
Nam
Sử dụng hàm Subtotal (P1)

Hàm SUBTOTAL
Hàm SUBTOTAL là một hàm rất linh hoạt nhưng cũng là một trong các hàm hơi khó sử dụng của Excel. Điều khó hiểu thứ nhất chính là cái tên của nó vì nó thực sự làm được nhiề thứ hơn ý nghĩa của tên hàm. Đối số thứ nhất của hàm bắt buộc bạn phải nhớ con số đại diện cho phép tính cần thực hiện trên tập số liệu. (Trong Excel 2007 có tính năng AutoComplete giúp chúng ta khỏi nhớ các con số này). Hàm SUBTOTAL được Microsoft nâng cấp kể từ phiên bản Excel 2003 với sự gia tăng các tuỳ chọn cho đối số thứ nhất của hàm, tuy nhiên điều này dẫn đến sự không tương thích với các phiên bản cũ nếu chúng ta sử dụng các tính năng mới bổ sung này.

Đối số đầu tiên của của hàm SUBTOTAL xác định hàm thực sự nào sẽ được sử dụng khi tính toán trong danh sách bên dưới. Ví dụ nếu đối số là 1 thì hàm SUBTOTAL hoạt động giống nhưng hàm AVERAGE, nếu đối số thứ nhất là 9 thì hàm hàm SUBTOTAL hoạt động giống nhưng hàm SUM.

Subtotal là hàm tính toán cho một nhóm con trong một danh sách hoặc bảng dữ liệu tuỳ theo phép tính mà bạn chọn lựa trong đối số thứ nhất.

Cú pháp: SUBTOTAL(function_num,ref1,ref2,...)
  • Function_num là các con số từ 1 đến 11 (hay có thêm 101 đến 111 trong phiên bản Excel 2003, 2007) qui định hàm nào sẽ được dùng để tính toán trong subtotal
  • Ref1, ref2,... là các vùng địa chỉ tham chiếu mà bạn muốn thực hiện phép tính trên đó.

Ghi chú:
  • Nếu có hàm subtotal khác lồng đặt tại các đối số ref1, ref2,… thì các hàm lồng này sẽ bị bỏ qua không được tính nhằm tránh trường hợp tính toán 2 lần.
  • Đối số function_num nếu từ 1 đến 11 thì hàm SUBTOTAL tính toán bao gồm cả các giá trị ẩn trong tập số liệu (hàng ẩn). Đối số function_num nếu từ 101 đến 111 thì hàm SUBTOTAL chỉ tính toán cho các giá trị không ẩn trong tập số liệu (bỏ qua các giá trị ẩn).
  • Hàm SUBTOTAL sẽ bỏ qua không tính toán tất cả các hàng bị ẩn bởi lệnh Filter (Auto Filter) không phụ thuộc vào đối số function_num được dùng.
  • Hàm SUBTOTAL được thiết kế để tính toán cho các cột số liệu theo chiều dọc, nó không được thiết kế để tính theo chiều ngang.
  • Hàm này chỉ tính toán cho dữ liệu 2-D do vậy nếu dữ liệu tham chiếu dạng 3-D (Ví dụ về tham chiếu 3-D: =SUM(Sheet2:Sheet13!B5) thì hàm SUBTOTAL báo lỗi #VALUE!. (Các loại tham chiếu xem bài sẽ đăng tiếp sau)
subtotal01.JPG


Lưu ý: Excel 2000/XP (2002) đối số function_num chỉ nhận giá trị từ 1 đến 11 và Excel mặc định là không tính toán các giá trị ẩn (bị ngược với Excel 2003/2007 gây ra tình trạng không tương thích giữa các phiên bản).

Ví dụ minh hoạ:



subtotal02.JPG


(Phần 2: Sử dụng Data | Outline | Subtotal)

TP.
 
Sử dụng hàm Subtotal (P2)

Sử dụng tính năng chèn hàm Subtotal

Tính năng Data | Outline | Subtotal từ thanh thực đơn giúp chúng ta chèn hàm Subtotal vào bảng số liệu một cách tự động và các phép tính có thể tính cho các nhóm dữ liệu khác nhau. Để sử dụng chức năng này trước tiên tập số liệu phải được sắp xếp theo thứ tự tại các cột dữ liệu (Field) mà ta cần nhóm lại khi tính toán.

Ví dụ: Cho tập số liệu như hình dưới hãy tính Tổng (2 cột Sales và Contacts) cho từng tháng và tổng cho từng khu vực (Lưu ý tập số liệu bên dưới đã được sắp xếp các cột Month và Region trước khi thực hiện lệnh SubTotal).


[FONT=&quot]
224361


Để thực hiện yêu cầu trên, ta để ô hiện hành trong vùng dữ liệu cần tính và chọn thanh Ribbon | Data | Outline | SubTotal (Excel 2007, Excel cũ thì chọn Data | Subtotals…). Hộp thoại Subtotal xuất hiện như hình dưới.
[/FONT] [FONT=&quot]
224362


Các tuỳ chọn trong hộp thoại Subtotal:[/FONT]
  • At Each Change In: Liệt kê tất cả các tên cột hay trường (Field) của vùng (hay bảng) số liệu tính toán.
  • Use Function: Chọn hàm để tính từ danh sách 11 hàm (Hàm Sum được mặc định.)
  • Add Subtotal To: Liệt kê tất cả các trường của vùng (hay bảng) số liệu tính toán. Đánh dấu kiểm kế bên tên trường để chọn các trường cần thực hiện phép tính.
  • Replace Current Subtotals: Nếu được chọn, Excel sẽ xoá bỏ các lệnh subtotal trước đó và thay thế bằng lệnh subtotals hiện hành.
  • Page Break between Groups: Nếu được chọn, Excel sẽ chèn các dấu ngắt trang sau mỗi nhóm tính subtotal.
  • Summary below Data: Nếu được chọn, Excel sẽ đặt các kết quả tính subtotals bên dưới mỗi nhóm số liệu (mặc định), ngược lại thì Excel sẽ đặt kết quả tính subtotals bên trên mỗi nhóm số liệu.
  • Remove All: Nếu chọn nút này thì Excel sẽ xoá bỏ tất cả các lệnh subtotal trong vùng số liệu.
Sau khi thiết lập và nhấp nút OK, Excel sẽ phân tích vùng số liệu và chèn các hàm subtotal để tính toán theo qui định ở trên và tạo ra outline cho vùng dữ liệu. Hình bên dưới minh hoạ kết quả dùng lệnh subtotals với việc chọn Add Subtotal To cho 2 trường Month và Region.

[FONT=&quot]
224363


Lưu ý: Nếu dùng subtotals cho một vùng dữ liệu đã áp dụng lệnh Filter, thì hàm subtotal có thể sẽ không cho kết qảu đúng khi ta bỏ lệnh Filter.[/FONT]

Bảng kết quả trên được thực hiện bằng 2 lệnh subtotal, lưu ý khi ra lệnh subtotal thứ hai bạn nhớ bỏ tuỳ chọn Replace Current Subtotals trong hộp thoại Subtotal.

Các hàm SUBTOTAL dùng trong lệnh Subtotal cũng chính là hàm Subtotal của Excel tuy nhiên khi thực hiện lệnh Subtotal thì Excel tạo giúp chúng ta Outline một cách tự động. Chẳng hạn như công thức Subtotal tại ô E9 (Tổng doanh số của tháng một) là như sau:

=SUBTOTAL(9,E2:E7)

Mặc dù công thức này có vùng tham chiếu chứa 2 ô có sử dụng hàm SUBTOTAL (tại ô E4 và E8) mà kết quả không hề sai, vì các ô chứa công thức này sẽ bị loại ra trong quá trình tính toán của hàm Subtotal tại ô E9 (xem lại bài viết về hàm Subtotal phần ghi chú).

Chúng ta có thể dùng các nút điều kiển Outline (bên trái cửa sổ bảng tính) để điều chỉnh các mức độ trình bày kết quả tính toán, ví dụ như hình dưới chúng ta xem kết quả trình bày mở mức Outline 3.

224364


(Bài tiếp theo: Các loại tham chiếu)

TP.[FONT=&quot]

[/FONT]
 

File đính kèm

  • SubTotal.rar
    5.3 KB · Đọc: 15,039
  • About the SUBTOTAL Function.pdf
    203 KB · Đọc: 38,798
Web KT

Bài viết mới nhất

Back
Top Bottom