Cách tính tổng với điều kiện chỉ cộng những số lớn nhất trong vùng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

luckyluke2828

Thành viên mới
Tham gia
16/12/08
Bài viết
36
Được thích
3
Mình có câu hỏi thế này:
Mình muốn tính tổng 1 vùng, nhưng chỉ cộng những số lớn nhất trong vùng đó thì dùng công thức nào?
VD: dãy từ A1: A50 có 50 số hạng, giá trị bất kỳ, nhưng mình chỉ muốn tính tổng của 16 SỐ HẠNG CÓ GIÁ TRỊ LỚN NHẤT và nếu có những số đồng hạng 16 thì chỉ cộng 1 số trong đó.
trước đây mình có dùng công thức sau:
= SUMIF((A1:A50, ">="&LARGE(A1:A50, 16))
Nhưng, phát hiện ra rằng nếu có những số đồng hạng, cùng lớn thứ 16, thì nó cộng tất cả những số trên nên không được
Các bạn giúp giùm
 
Mình thử làm như thế này, bạn xem có được không:
=SUMIF((A1:A50,">="&LARGE(A1:A50,15)) + LARGE(A1:A50,16)
 
Mình có câu hỏi thế này:
Mình muốn tính tổng 1 vùng, nhưng chỉ cộng những số lớn nhất trong vùng đó thì dùng công thức nào?
VD: dãy từ A1: A50 có 50 số hạng, giá trị bất kỳ, nhưng mình chỉ muốn tính tổng của 16 SỐ HẠNG CÓ GIÁ TRỊ LỚN NHẤT và nếu có những số đồng hạng 16 thì chỉ cộng 1 số trong đó.
trước đây mình có dùng công thức sau:
= SUMIF((A1:A50, ">="&LARGE(A1:A50, 16))
Nhưng, phát hiện ra rằng nếu có những số đồng hạng, cùng lớn thứ 16, thì nó cộng tất cả những số trên nên không được
Các bạn giúp giùm
Cái này khó nhé, nếiuu trong 50 số có chỉ có 3 nhóm số: 20 số 10, 20 số 5, 10 số 4 thì làm sao lấy 16.
Trước mắt chắc phải thêm cột phụ thì sẽ dễ hơn và có xét đến dếm duy nhất như là
=sumprocduct((1/countif(A1:A50,A1:A50)*1) là có bao nhiêu nhóm số.
 
Bài này thêm 2 điều kiện nữa mới giải được:
1. Thêm 1 cột phụ nữa là giải quyết được.
2. Dữ liệu phải được Sort trước theo thứ tự giảm dần.

Nếu đồng ý thì bạn làm như sau:
- Giả sử [A2:A51] là vùng chứa dãy số.
- Và [B2:B51]là cột phụ

Công thức tại cột phụ:
=(A2>=LARGE($A$2:$A$51,16))*(MAX($B$1:B1)+1)
Sau đó kéo công thức xuống.

Bây giờ yêu cầu của bạn có thể thực hiện bằng SUMPRODUCT hay SUMIF như sau:
1. Dùng SUMPRODUCT:
PHP:
=SUMPRODUCT(--($B$2:$B$51>0),--($B$2:$B$51<=16),$A$2:$A$51)
2. Dùng SUMIF:
PHP:
=SUMIF($B$2:$B$51,">0",$A$2)-SUMIF($B$2:$B$51,">16",$A$2)
 

File đính kèm

Mình có câu hỏi thế này:
Mình muốn tính tổng 1 vùng, nhưng chỉ cộng những số lớn nhất trong vùng đó thì dùng công thức nào?
VD: dãy từ A1: A50 có 50 số hạng, giá trị bất kỳ, nhưng mình chỉ muốn tính tổng của 16 SỐ HẠNG CÓ GIÁ TRỊ LỚN NHẤT và nếu có những số đồng hạng 16 thì chỉ cộng 1 số trong đó.
trước đây mình có dùng công thức sau:
= SUMIF((A1:A50, ">="&LARGE(A1:A50, 16))
Nhưng, phát hiện ra rằng nếu có những số đồng hạng, cùng lớn thứ 16, thì nó cộng tất cả những số trên nên không được
Các bạn giúp giùm
Tôi chưa rõ bạn muốn tính như thế nào nên đưa ra 3 công thức để tính cho 3 trường hợp khác nhau:
Trường hợp 1: Tính tổng của 16 số lớn nhất (Kể cả số trùng)
Trường hợp 2: Tính tổng của 16 nhóm số lớn nhất, mỗi nhóm số tính 1 lần (Không tính số trùng)
Trường hợp 3: Tính tổng của các nhóm số lớn hơn hoặc bằng số lớn thứ 16 trong dãy số, mỗi nhóm số tính 1 lần (Không tính số trùng).
Bạn xem công thức trong file ví dụ nha.
 

File đính kèm

Count theo group

Tôi chưa rõ bạn muốn tính như thế nào nên đưa ra 3 công thức để tính cho 3 trường hợp khác nhau:
Trường hợp 1: Tính tổng của 16 số lớn nhất (Kể cả số trùng)
Trường hợp 2: Tính tổng của 16 nhóm số lớn nhất, mỗi nhóm số tính 1 lần (Không tính số trùng)
Trường hợp 3: Tính tổng của các nhóm số lớn hơn hoặc bằng số lớn thứ 16 trong dãy số, mỗi nhóm số tính 1 lần (Không tính số trùng).
Bạn xem công thức trong file ví dụ nha.
--------------------------------------------------------
Mình có bài toán cũng hơi tương tự nhưng pó tay, nhờ bác Thắng giúp. Công ty mình có khoảng 5.000 nhân viên, trong đó mã nhân viên tăng dần nhưng không liên tục. Giờ mình dùng công thức gì để đếm số nhân viên theo từng nhóm: 0-100: có bao nhiêu nhân viên, 101-200=?, 201-300=? ... minh đã thử dùng countif nhưng kết quả không như mong muốn. Nhờ bạn giúp đỡ. Xin cảm ơn.
 
--------------------------------------------------------
Mình có bài toán cũng hơi tương tự nhưng pó tay, nhờ bác Thắng giúp. Công ty mình có khoảng 5.000 nhân viên, trong đó mã nhân viên tăng dần nhưng không liên tục. Giờ mình dùng công thức gì để đếm số nhân viên theo từng nhóm: 0-100: có bao nhiêu nhân viên, 101-200=?, 201-300=? ... minh đã thử dùng countif nhưng kết quả không như mong muốn. Nhờ bạn giúp đỡ. Xin cảm ơn.
Bài toán của bạn và bài toán ở Topic này khác nhau hoàn toàn. Vấn đề của bạn đơn giản hơn nhiều. Có thể sử dụng một trong 2 công thức trong file sau
P/S: Lần sau nếu cần cần giúp đỡ mà có liên quan đến số liệu bạn nên tạo một file dữ liệu để gửi lên. Không có dữ liệu là một trong những nguyên nhân chính làm cho bài viết không có người trả lời.
 

File đính kèm

Chạo bạn,
Bạn cho mình hỏi thêm, với trường hợp trên chỉ tính tổng 16 số lơn nhất, nhưng nếu mình phân theo nhóm, ví dụ nhóm A có 30 số, nhóm B có 20 số, nhóm C có 40 số... nhóm 100 có 2 số. vậy mình mún tính tổng 15 số lớn nhất cho mỗi nhóm thì làm thế nào (nếu số lớn thứ 15 và 16 bằng nhau thì tính tổng từ số 1 đến số 15), và nhóm 100 chỉ có 2 số thì tính tổng của 2 số (Có nghĩa nhóm nào có trên 15 số thì tính tổng 15 số lớn nhất, nhóm nào có <=15 số thì tính tổng 15 số).
Thanks/ Mong bạn hướng dẫn giúp.
 

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

Back
Top Bottom