Hỏi về cộng tổng nhiều điều kiện (cho cùng một cột điều kiện)

Liên hệ QC

l01012011

Thành viên hoạt động
Tham gia
7/5/11
Bài viết
158
Được thích
278
Nghề nghiệp
Kế toán
Em chào mọi người!
Mọi người cho em hỏi, em có file đính kèm, em muốn tính tổng cột J - closing quantity của những Nguyên phụ liệu có shipping code là "0" hoặc "blank".
Em dùng excel 2003, em có thể dùng công thức nào để tính được ạ?

Có phải hàm sumif(vùng đk, điều kiện, vùng tính tổng) thì không thể dùng hàm or để kết hợp 2 điều kiện ở chỗ điều kiện phải không ạ?

Nếu em dùng sum((if(or ())) như file đính kèm ở ô J6 thì kết quả ra vẫn chưa đúng. Em không biết em dùng công thức đúng chưa, có sai chỗ nào không, mong mọi người giải thích giúp em!

Em cảm ơn mọi người!
 

File đính kèm

  • sum 2 dk.xls
    22 KB · Đọc: 111
Em chào mọi người!
Mọi người cho em hỏi, em có file đính kèm, em muốn tính tổng cột J - closing quantity của những Nguyên phụ liệu có shipping code là "0" hoặc "blank".
Em dùng excel 2003, em có thể dùng công thức nào để tính được ạ?

Có phải hàm sumif(vùng đk, điều kiện, vùng tính tổng) thì không thể dùng hàm or để kết hợp 2 điều kiện ở chỗ điều kiện phải không ạ?

Nếu em dùng sum((if(or ())) như file đính kèm ở ô J6 thì kết quả ra vẫn chưa đúng. Em không biết em dùng công thức đúng chưa, có sai chỗ nào không, mong mọi người giải thích giúp em!

Em cảm ơn mọi người!
Bạn thử công thức này xem sao (công thức dở ẹc nhưng mà đúng)
Mã:
=SUMIF($D$6:$D$14,0,$J$6:$J$14)+SUMIF($D$6:$D$14,"",$J$6:$J$14)
 
Bổ sung thêm 1 cách này nữa (tưởng không được, hóa ra là được):
Mã:
=SUMPRODUCT(($D$6:$D$14=0)*$J$6:$J$14)
 
Cảm ơn bạn nha!
Công thức sumif + sumif cho kết quả đúng.
Hi, nhưng mình còn thắc mắc là có thể dùng sum(if và lồng hàm or vào hàm if để kết hợp hai điều kiện được không? Nếu được thì viết công thức như thế nào, mình không biết mình viết sai chỗ nào mà kết quả sai (ô J16).
Và mình cũng muốn biết là có phải không thể lồng hàm or vào hàm sumif không?
 
Bạn thử công thức này xem sao (công thức dở ẹc nhưng mà đúng)
Mã:
=SUMIF($D$6:$D$14,0,$J$6:$J$14)+SUMIF($D$6:$D$14,"",$J$6:$J$14)

Hoặc là vầy thấy cũng được nè:
Mã:
=SUM(J6:J14)-SUMIF(D6:D14,"*",J6:J14)
Hoặc chiêu khác:
Mã:
=SUMIF(D6:D14,"<>*",J6:J14)
Hi, nhưng mình còn thắc mắc là có thể dùng sum(if và lồng hàm or vào hàm if để kết hợp hai điều kiện được không? Nếu được thì viết công thức như thế nào, mình không biết mình viết sai chỗ nào mà kết quả sai (ô J16).
Và mình cũng muốn biết là có phải không thể lồng hàm or vào hàm sumif không?
SUMIF không chơi được chiêu IF, OR gì đâu ---> Chỉ có thể dùng SUMPRODUCT thôi
Mã:
=SUMPRODUCT((D6:D14=0)*(J6:J14))
 
Lần chỉnh sửa cuối:
Hoặc là vầy thấy cũng được nè:
Mã:
=SUM(J6:J14)-SUMIF(D6:D14,"*",J6:J14)
Hoặc chiêu khác:
Mã:
=SUMIF(D6:D14,"<>*",J6:J14)

SUMIF không chơi được chiêu IF, OR gì đâu ---> Chỉ có thể dùng SUMPRODUCT thôi
Mã:
=SUMPRODUCT((D6:D14=0)*(J6:J14))

Em cảm ơn Thầy!
Thưa Thầy, ký hiệu "*" trong excel có phải chỉ cho những ô có giá trị khác 0 và blank không ạ?
Còn trường hợp hợp nếu tính tổng cột J mà có shipping code là a hoặc b (a, b # 0) thì viết công thức thế nào ạ (nếu không muốn lọc trước rồi dùng subtotal cộng lại) ạ?
 
Còn trường hợp hợp nếu tính tổng cột J mà có shipping code là a hoặc b (a, b # 0) thì viết công thức thế nào ạ (nếu không muốn lọc trước rồi dùng subtotal cộng lại) ạ?
Lúc đó, bạn có thể dùng công thức sau:
Mã:
=SUMPRODUCT((($D$6:$D$14=a)+($D$6:$D$14=b))*$J$6:$J$14)
 
Thưa Thầy, ký hiệu "*" trong excel có phải chỉ cho những ô có giá trị khác 0 và blank không ạ?
"*" là ký tự đại diên, nó đại diện cho ký tự nào đó nhưng không phải là số
Vậy =SUMIF(D6:D14,"*",J6:J14) sẽ tính tổng J6:J14 với điều kiện D6:D14 chứa bất cứ ký tự nào không phải số
Vậy =SUMIF(D6:D14,"<>*",J6:J14) là tính tổng ngược với cái trên
Còn trường hợp hợp nếu tính tổng cột J mà có shipping code là a hoặc b (a, b # 0) thì viết công thức thế nào ạ (nếu không muốn lọc trước rồi dùng subtotal cộng lại) ạ?
Dùng nhiều SUMIF cộng lại hoặc dùng SUMPRODUCT thôi
Lưu ý rằng: SUMIF sẽ cho tốc độ nhanh hơn SUMPRODUCT
 
Dùng nhiều SUMIF cộng lại hoặc dùng SUMPRODUCT thôi
Lưu ý rằng: SUMIF sẽ cho tốc độ nhanh hơn SUMPRODUCT

Thưa Thầy, ngòai cách trên mình có thể lồng hàm or vào hàm if rồi sum lại dạng sum(if(or(D6:D14=a, D6:D14=b),J6:J14,0)) cotrol shift enter được không ạ?

(hi, tại em thử làm vậy rồi nhưng kết quả ra sai, em không biết là không viết vậy được hay là em viết sai chỗ nào)
 
Thưa Thầy, ngòai cách trên mình có thể lồng hàm or vào hàm if rồi sum lại dạng sum(if(or(D6:D14=a, D6:D14=b),J6:J14,0)) cotrol shift enter được không ạ?

(hi, tại em thử làm vậy rồi nhưng kết quả ra sai, em không biết là không viết vậy được hay là em viết sai chỗ nào)

Đã dùng Ctrl + Shift + Enter, đương nhiên đó là mảng, đúng không? Mà đã là mảng thì hông có vụ OR, AND gì cả --> Dấu + sẽ thay cho OR và dấu * sẽ thay cho AND
Ví dụ với công thức trên thì ta sẽ viết vầy: =SUM(IF((D6:D14=a) + (D6:D14=b),J6:J14,0))
Mà nếu đã vậy, thôi dùng SUMPRODUCT cho khỏe: =SUMPRODUCT(((D6:D14=a) + (D6:D14=b))*(J6:J14))
Enter bình thường hổng sướng sao?
 
Lần chỉnh sửa cuối:
Dạ, vì sum(if(or())) là cái ý nghĩ bất chợt em nghĩ ra, nên em ko biết làm vậy được không.
Em lại cũng không biết :
đã là mảng thì hông có vụ OR, AND gì cả --> Dấu + sẽ thay cho OR và dấu * sẽ thay cho AND
Ví dụ với công thức trên thì ta sẽ viết vầy: =SUM(IF((D6:D14=a) + (D6:D14=b),J6:J14,0))
Mà nếu đã vậy, thôi dùng SUMPRODUCT cho khỏe: =SUMPRODUCT(((D6:D14=a) + (D6:D14=b))*(J6:J14))
Enter bình thường hổng sướng sao?
hehe, nhờ Thầy em mới biết thêm cái hàm sumproduct xài thiệt sướng với công thức mảng và cái "*"
Em cảm ơn Thầy, những điều thầy chỉ ở trên, em hiểu rồi ạ, em sẽ tiếp tục tìm hiểu thêm sumproduct ạ!
 
Em có một vấn đề khó không làm được các cao thủ chỉ giáo giúp ah. Em xin cảm ơn trước.
 

File đính kèm

  • bai tap 1.xlsx
    12.5 KB · Đọc: 17
Em có một vấn đề khó không làm được các cao thủ chỉ giáo giúp ah. Em xin cảm ơn trước.
Thử công thức này cho ô B43 xem sao:
PHP:
=SUMIF(B$3:B$39;"SSR25X-M3";B4:B40)
Kiểm tra kết quả bằng Sum thủ công xem thế nào.
 
Lần chỉnh sửa cuối:
Em hiểu rồi ah. Cảm ơn bác.
 
Em thắc mắc:

1. 2 hàm này tương đương nhau phải không ạ? Vì sao lại bỏ đi được (D6:D14=" ") ạ?
Mã:
=SUMPRODUCT((D6:D14=0)*(J6:J14))
Mã:
=SUMPRODUCT((D6:D14=0)+(D6:D14=" "),(J6:J14)))

2. Vì sao ở hàm
Mã:
=SUMPRODUCT((D6:D14=0)+(D6:D14=" "),(J6:J14)))
dấu " " phải cách ra chứ không viết dính liền "" như trong hàm SUMIF dưới đây ạ (em thử dấu "" thì cho kết quả khác)?
Mã:
=SUMIF($D$6:$D$14,0,$J$6:$J$14)+SUMIF($D$6:$D$14,"",$J$6:$J$14)
 
Lần chỉnh sửa cuối:
Em thắc mắc:

1. 2 hàm này tương đương nhau phải không ạ?
Mã:
=SUMPRODUCT((D6:D14=0)*(J6:J14))
Mã:
=SUMPRODUCT((D6:D14=0)+(D6:D14=" "),(J6:J14)))

2. Vì sao ở hàm
Mã:
=SUMPRODUCT((D6:D14=0)+(D6:D14=" "),(J6:J14)))
dấu " " phải cách ra chứ không viết dính liền "" như trong hàm SUMIF dưới đây ạ (em thử dấu "" thì cho kết quả khác)?
Mã:
=SUMIF($D$6:$D$14,0,$J$6:$J$14)+SUMIF($D$6:$D$14,"",$J$6:$J$14)

1. Có thể đúng với ví dụ bạn đang thử nghiệm. Không tương đương được.
2. Bạn không cách ra thì "" tức là ô nào trống sẽ bằng 0 và được cộng thêm 1 lần nữa. Còn khi " " phải cách ra nó bằng 1 ký tự trắng nên bạn tự hiểu tiếp nhé.
 
Web KT

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

Back
Top Bottom