Hàm SumIfs (Excel 2007+)

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,156
Giới tính
Nam
Hàm SUMIFS (Excel 2007+)

Cộng các ô trong vùng lựa chọn thõa nhiều điều kiện

Cú pháp: =SUMIFS(sum_range,criteria_range1,criteria1,criteria_range2,criteria2…)

Sum_range là các ô cần tính tổng, bao gồm các caon số, tên vùng, mãng hay các tham chiếu đến các giá trị. Các ô trống hay chứa chuỗi (Text) sẽ bị bỏ qua.

Criteria_range1, criteria_range2, … có thể khai báo từ 1 đến 127 vùng dùng để liên kết với các điều kiện cho vùng.

Criteria1, criteria2, … có thể có từ 1 đến 127 điều kiện ở dạng cọn số, biểu thức, tham chiếu hoặc chuỗi. Ví dụ các điều kiện như: 32, "32", ">32", "apples", B4.

Lưu ý:
  • Mỗi ô trong vùng sum_range chỉ được cộng khi thõa tất cả các điều kiện
  • Ô trong sum_range thõa điều kiện (True) tương đương với số 1, và không thõa điều kiện (False) tương đương với số 0 (zero)
  • Mỗi criteria_range phải có cùng kích thước và hình dạng giống với sum_range. Ví dụ kích thước của sum_range là 3x2 (3 dòng 2 cột) thì criteria_range phải có kích thước là 3x2
  • Ta có thể sử dụng các ký tự thay thế như ?, * trong điều kiện. Dấu ? thay cho một ký tự nào đó và dấu * thay cho một chuỗi nào đó. Khi điều kiện lại là dấu ? hay * thì bạn đặt thêm dấu ~ phía trước nó.

Ví dụ:
sumifs.jpg
 

File đính kèm

  • HamToan_SumIfs.xlsx
    11.8 KB · Đọc: 1,461
Lần chỉnh sửa cuối:
Hàm này có phần nào đó giống sumproduct. Đây cũng là những hàm tổng hợp mảng rất mạnh.

Để tăng tốc độ viết công thức cũng như thời gian tính toán của các hàm mảng, các bạn nên dùng kết hợp với name, đặc biệt là name động thay cho các mảng tính toán trong công thức.

Chúc các bạn ngày càng tiến bộ.

Thân!
 
Dear Mr Okebab,
----------------
Theo em phương pháp tính toán của hàm này khác hoàn toàn hàm SUMPRODUC. Sự khác biệt là thể thể hiện ở chức năng và mục đích tính toán của hàm. Chúng ta không thể vận dụng hàm SUMIFS để tính toán các chỉ tiêu theo kiểu "PRODUCT" và ngược lại nếu dùng SUMPRODUCT để tính toán theo kiểu "SUMIF" thì tốc độ tính toán sẽ chậm hơn nhiều. Cũng giống như là chúng ta vậy, cũng cùng một con đường nhưng thời gian đến đến đích mỗi lúc lại khác nhau, tuỳ vào tâm trạng vui hay buồn; mục đích đi là khẩn cấp hay chỉ để thư giãn, từ đó phương tiện đi cũng quyết định thời gian tới đích trong bao lâu.
Tóm lại, theo em thì khi đã nói đến SUMIFS thì thôi không động đến SUMPRODUCT nữa! Hãy trả SUMPRODUCT về đúng chức, năng nhiệm vụ chính đáng của nó! Vấn đề còn lại chỉ là sự tương thích, giá mà có cách nào đó lôi cổ cái SUMIFS đó sang Excel 2003 và cũ hơn nữa!@$@!^%
 
Lần chỉnh sửa cuối:
Sao chương trình Excel trong máy của em không đọc được hàm này vậy ta???Em nhập công thức vào đúng như ví dụ mà kết quả không tìm thấy,xin Anh chị giải đáp giùm,em cảm ơn nhiều!
 
Chào bạn,

Chắc bạn đang sử dụng phiên bản Excel < 2007. Hàm này chỉ có trong Excel 2007 thôi.

TP.
 
Tiếc là hàm này chỉ có ở Excel 2007 thôi, từ 2003 trở xuống muốn cộng nhiều điều kiện thì phải nhờ đến sumproduct rồi. Hay có bác nào viết cái hàm sumifs bằng VBA cho anh em Off <2k7 dùng nhỉ :p
 
kinghoang đã viết:
Tiếc là hàm này chỉ có ở Excel 2007 thôi, từ 2003 trở xuống muốn cộng nhiều điều kiện thì phải nhờ đến sumproduct rồi. Hay có bác nào viết cái hàm sumifs bằng VBA cho anh em Off <2k7 dùng nhỉ :p
Bác Bill cho sẵn cái gì thì dùng cái đó, chứ mình tự tạo khó lòng bằng cái có sẵn đâu.

TDN
 
Không biết hàm này sử dụng nhanh không nhưng mà sao công thức điều kiện khó sử dụng quá. Trong công thức nếu sử dụng điều kiện là một địa chỉ tương đối của ô ví dụ : "=b2". thì khi copy công thức sang ô khác nó vẫn là "=b2" không thay đổi. Do vậy không thuận tiện hơn hàm sumproduct khi phải gặp bảng tính có nhiều hàng.

Ý kiến của các bạn thế nào? làm sao để các địa chỉ tương đối trong công thức thay đổi được?
 
Đó là tại gì bạn quên làm với công thức Sumproduct nên nói vậy... hi.. hi... Mỗi người 1 chiêu.. miển sao đạt dc mục đích, đúng ko?
ANH TUẤN
 
Chào bạn

Cách khai báo điều kiện của hàm SumIfs cũng giống như CountIf nghĩa là nếu điều kiện là tham chiếu thì chỉ dùng được phép so sánh bằng nhau (=).

TP.
 

File đính kèm

  • ViduSumIfs.rar
    8.7 KB · Đọc: 2,174
Cám ơn bạn TTPhong2007

Theo công thức của bạn thì thay vì điều kiện là "=b2", thì chỉ cần nhập điều kiện là b2 là được. Thật là đơn giản mà tôi không nghĩ ra.

Nếu với cùng bảng tính của tôi mà sử dụng hàm sumproduct trong excel 2003 thì để tính mất hết khoảng 13 giây. Tuy nhiên khi chuyển sang hàm sumifs trong Excel 2007 thì tính trong khoảng thời gian 3 giây.

Thế này thì chắc chuyển sang Excel 2007 để sử dụng thì sẽ nhanh hơn rồi. Tuy nhiên nếu muốn có bản quyền hợp pháp của Bác Bill thì quả là rất khó đó....
 
Cám ơn bạn TTPhong2007

Theo công thức của bạn thì thay vì điều kiện là "=b2", thì chỉ cần nhập điều kiện là b2 là được. Thật là đơn giản mà tôi không nghĩ ra.

Nếu với cùng bảng tính của tôi mà sử dụng hàm sumproduct trong excel 2003 thì để tính mất hết khoảng 13 giây. Tuy nhiên khi chuyển sang hàm sumifs trong Excel 2007 thì tính trong khoảng thời gian 3 giây.

Thế này thì chắc chuyển sang Excel 2007 để sử dụng thì sẽ nhanh hơn rồi. Tuy nhiên nếu muốn có bản quyền hợp pháp của Bác Bill thì quả là rất khó đó....

cho em chen ngang tí:
nếu có thể thay "=b2" bởi b2
vậy thi ">b2" thì xử lý thế nào a?
em cảm ơn!
 
Mình tìm hiểu hàm SUMIFS() áp dụng vào trong file excel của quán caffe nhưng chưa thành công. Trong sheet nhapxuat cột "xuất" lấy dữ liệu đã bán ra từ sheet "ngay" hoặc sheet "baocao" để tính lượng hàng còn lại. Mọi người giúp mình cái hàm SUMIFS() với nhé.
 

File đính kèm

  • caffe.rar
    23.4 KB · Đọc: 133
Mình tìm hiểu hàm SUMIFS() áp dụng vào trong file excel của quán caffe nhưng chưa thành công. Trong sheet nhapxuat cột "xuất" lấy dữ liệu đã bán ra từ sheet "ngay" hoặc sheet "baocao" để tính lượng hàng còn lại. Mọi người giúp mình cái hàm SUMIFS() với nhé.

Bạn dùng công thức này cho ô B5 xem sao.

=SUMIFS(Ngay!$D:$D,Ngay!$A:$A,nhap_xuat!$B$2,Ngay!$C:$C,nhap_xuat!$A5)
 
Cho minh hỏi xíu về hàm sumif và sumifs: Sumif(range, criteria,sum_range)
Mình muốn tính tổng trong sum_range các ô có giá trị trong range thỏa mãn điều kiện criteria. Với criteria của mình là "5111" hoặc "5112".
Nhưng khi viết criteria là : or("5111","5112") thì máy không hiểu và không cho kết quả.
Bạn nào biết cách chỉ mình giúp, cảm ơn nhiều!
 
Cho minh hỏi xíu về hàm sumif và sumifs: Sumif(range, criteria,sum_range)
Mình muốn tính tổng trong sum_range các ô có giá trị trong range thỏa mãn điều kiện criteria. Với criteria của mình là "5111" hoặc "5112".
Nhưng khi viết criteria là : or("5111","5112") thì máy không hiểu và không cho kết quả.
Bạn nào biết cách chỉ mình giúp, cảm ơn nhiều!
Bạn viết theo cú pháp này nhé: =SUM(SUMIF(range, {"5111","5112"}, sum_range))
 
Bác NDU ơi, xin cho em được hỏi ý nghĩa của công thức =SUM(SUMIF(range, {"5111","5112"}, sum_range)) này đi ạh (e thắc mắc cái dấu {} ý, ko biết ý nghĩa là j ???)

E cũng thử sử dụng cthức của bác, nhưng khi e thử bỏ hàm SUM thì hình như máy chỉ cộng 1 trong hai đk trong dấu {} này thôi (e thử đảo vị trí trước sau thì cho hai kết quả khác nhau, còn thêm SUM thì nó tính tổng cả hai cái lại). Vậy đây có phải 1 kiểu của mảng ko vậy bác ???
 
=SUMIF(range, criteria, "=511*", sum_range)
Cho minh hỏi xíu về hàm sumif và sumifs: Sumif(range, criteria,sum_range)
Mình muốn tính tổng trong sum_range các ô có giá trị trong range thỏa mãn điều kiện criteria. Với criteria của mình là "5111" hoặc "5112".
Nhưng khi viết criteria là : or("5111","5112") thì máy không hiểu và không cho kết quả.
Bạn nào biết cách chỉ mình giúp, cảm ơn nhiều!
 
Các bạn cho mình hỏi mình có thể làm hàm sumif này với vùng điều kiện ở file khác không? Làm thế nào để làm được ở file khác sau đó mình tắt đi thì nó vẫn giữ nguyên đường link để cho mình update hoặc change source đường línk để lấy giá trị tương ứng nhỉ.
 
Web KT
Back
Top Bottom