Hàm SUM,SUMPRODUCT,SUBTOTAL trong excel.
Hàm SUM()
Khi cộng các giá trị với nhau trong Excel, ta có thể dùng dấu cộng (+) hoặc dùng hàm SUM()
Cú pháp: = SUM(number1 [, number2...])
Trong Excel 2007, bạn có thể dùng SUM() để để tính tổng của 255 giá trị lại với nhau (trong những version trước, con số này chỉ là 30)
Ví dụ: = SUM(A2:A13, C2:C13, E2:E13)
SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện
Mình xin phân tích cách dùng SumProduct và Công thức mảng.
Hàm SumProduct:
Cấu trúc SUMPRODUCT(array1,array2,array3, ...)
Array - Mảng dữ liệu là một tập hợp dãy giá trị liên tiếp trong một khảng nào đó. VD A1:C1 hoặ A1:A10,...
Phép tính này cho phép chúng ta tính tổng của tích array1*array2*array3* ...array30.
VD: A: Số lượng; B: Đơn giá
A1 =2 B1=20 C1="Cam" D1="Giống lai"
A2 =3 B2=10 C2="Bưởi" D2="Không"
A3 =4 B3=25 C3="Cam" D3="Không"
Bây giờ cần tính doanh thu của các loại hoa quả
array1=A1:A3
array2=B1:B3
Công thức =SumProduct(A1:A3, B1:B3) = 170
Bản chất công thức làm việc như thế này =A1*B1+A2*B2+A3*B3 kết quả là 170
Nhắc lại về phép tính logic:
Giá trị kiểu logic chỉ cho ra 1 trong 2 giá trị là TRUE/1, FALSE/0
Phép toán logic:<, >, <>, =, >=, <=, Not()
VD:
2>3=False
3>1=True
4>3=True
*) Logic và - AND
=(2>3)*(3>1)*(4>3)=False*True*True=0*1*1=False/0 tương đương với hàm AND(2>3,3>1,4>3). Ít nhất một logic=False thì kết quả sẽ là False hay 0.
* Logic hoặc - OR
=(2>3)+(3>1)+(4>3)=False+True+True=0+1=True/1 tương đương với hàm OR(2>3,3>1,4>3). Ít nhất một logic=True thì kết quả sẽ là True hay 1.
Lưu ý tổng của các giá trị là True=True=1).
Tính tổng có nhiều điều kiện:
Cách 1: dùng SUMPRODUCT
Tính tổng doanh thu của loại là "Cam"
=SUMPRODUCT(A1:A3,B1:B3*(C1:C3="Cam")) hoặc =SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) = 140
Công thức tính như sau:
=A1*B1*(C1="Cam")+A2*B2*(C2="Cam")+A3*B3*(C3="Cam" )
=2*20*True+3*10*False+4*25*True
=2*20*1+3*10*0+4*25*1= 140
Cách 2: dung Công thức mảng - "Formula Array"
=Sum(IF(C1:C3="Cam",A1:A3*B1:B3,0))
Kết thức nhẫn tổ hợp CTRL+SHIFT+ENTER. Với cách làm này EXCEL sẽ phân tích như sau:
Xét trên từng dòng trong mảng (array)
dòng1: (c1="Cam")=true nên lấy A1*B1=2*20
dòng2: (c2="Cam")=false nên lấy 0 (theo cách của lấy của hàm IF)
dòng3: (c3="Cam")=true nên lấy A3*B3=4*25
Sau khi chạy hết các dòng, EXCEL sẽ dùng hàm SUM để tính tổng kết quả tính được ở từng dòng=2*20+0+2*25=140. Nếu trong công thức là hàm khác hàm SUM thì cách tính sẽ theo hàm đó.
Như vậy có 2 cách tính:
=SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) và
=Sum(IF(C1:C3="Cam",A1:A3*B1:B3,0))
Vậy tại sao không dùng là =SUM(A1:A3*B1:B3*(C1:C3="Cam"))
mà phải dùng hàm =SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) ?
Các bạn nhớ lại cấu trúc của SUM là
SUM(number1,number2, ...)
Còn SUMPRODUCT là
SUMPRODUCT(array1,array2,array3, ...)
number <> array
Nếu SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) rồi ENTER là đúng vì đối số của nó phải là mảng - Array.
Nếu công thức =SUM(A1:A3*B1:B3*(C1:C3="Cam")) rồi ENTER kết quả là #VALUE! -lỗi vì A1:A3 là một array chứ không phải là một number.
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ều 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 (xem 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,...)
Ví dụ:
SUBTOTAL(9, {120, 10, 150, 23}) = 303 = 120 + 10 + 150 + 23
SUBTOTAL(1, {120, 10, 150, 23}) = 75.75 = (120 + 10 + 150 + 23) / 4
nguồn : giaiphapexcel
Bạn có nhu cầu học khóa học kế toán doanh nghiệp ngắn hạn (đào tạo nghề kế toán cho người chưa biết về kế toán) hoặc khóa học kế toán thực hành trên chứng từ thực tế xin vui lòng nhấp vào tên khóa học bên dưới để xem chi tiết:
Khóa học kế toán doanh nghiệp tại TPHCM
Học Kế Toán Thực Hành Tổng Hợp Trên Chứng Từ Thực tế