Câu đố: Tìm công thức ngắn nhất tính tổng có điều kiện (2 người xem)

  • Thread starter Thread starter ptm0412
  • Ngày gửi Ngày gửi

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

ptm0412

Bad Excel Member
Thành viên BQT
Administrator
Tham gia
4/11/07
Bài viết
14,877
Được thích
37,622
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Gởi mọi người,
Lâu không viết bài sợ quên hết công thức -=.,,, nên tôi ra câu đố này nhờ anh chị em tìm hộ công thức ngắn nhất tính tổng có điều kiện trong sheet Data, điều kiện trong sheet Rule. Kết quả mẫu trong sheet Data cột Q.
Chỉ dùng hàm và công thức, không dùng VBA, không chơi cộng từng ô vì không fill được.
Có thể dùng mọi cách, kể cả cột phụ.
 

File đính kèm

Công thức này được không thầy:
Mã:
=SUMPRODUCT((OFFSET(Rule!$A$5,MATCH(Data!C2,Rule!$A$6:$A$13,0),1,,8)="x")*(D2:K2))
 
Gởi mọi người,
Lâu không viết bài sợ quên hết công thức -=.,,, nên tôi ra câu đố này nhờ anh chị em tìm hộ công thức ngắn nhất tính tổng có điều kiện trong sheet Data, điều kiện trong sheet Rule. Kết quả mẫu trong sheet Data cột Q.
Chỉ dùng hàm và công thức, không dùng VBA, không chơi cộng từng ô vì không fill được.
Có thể dùng mọi cách, kể cả cột phụ.
công thức thường
=SUMPRODUCT((Rule!$A$6:$A$13=C2)*(Rule!$B$6:$I$13="x")*(D2:K2))
nếu dùng công thức mảng
=SUM((Rule!$A$6:$A$13=C2)*(Rule!$B$6:$I$13="x")*(D2:K2))
 
SumProduct là hàm mảng, Sum của HieuCD là công thức mảng. Có cách nào xài công thức thường như SumIf không?
 
Thêm điều kiện:
Trường hợp người dùng thêm vài ba sản phẩm được thưởng vào sheet Rule, không cần sửa công thức?

Tất nhiên thứ tự sản phẩm trong rule theo cột giống thứ tự trong Data
 
Thêm điều kiện:
Trường hợp người dùng thêm vài ba sản phẩm được thưởng vào sheet Rule, không cần sửa công thức?

Tất nhiên thứ tự sản phẩm trong rule theo cột giống thứ tự trong Data
CT này được không thầy:
Mã:
=SUMPRODUCT((Rule!$B$6:$M$13="X")*(Rule!$A$6:$A$13=C2)*D2:O2)
 
SumProduct là hàm mảng, Sum của HieuCD là công thức mảng. Có cách nào xài công thức thường như SumIf không?

em chơi ăn gian, do các SP 01-->SP 12 của thầy ở 2 sheet sắp xếp giống nhau
Mã:
P2=SUMIF(OFFSET(Rule!$B$5:$I$5,MATCH(C2,Rule!$A$6:$A$13,0),),"x",Data!D2:O2)
 
Thêm điều kiện:
Trường hợp người dùng thêm vài ba sản phẩm được thưởng vào sheet Rule, không cần sửa công thức?

Tất nhiên thứ tự sản phẩm trong rule theo cột giống thứ tự trong Data
đảm bảo không phải hàm mảng
Mã:
=SUMIF((OFFSET(Rule!$B$5:$M$5,MATCH(Data!C2,Rule!$A$6:$A$13,0),)),"x",(D2:O2))
 
Hình như câu đố dễ quá, cả điều kiện bổ sung cũng dễ. Chỉ cần công thức trùm điều kiện đến cột M là được.

Các câu trả lời đều ra kết quả đúng, nhưng tôi thích SumIf hơn, nó nhanh hơn công thức mảng.
 
Hình như câu đố dễ quá, cả điều kiện bổ sung cũng dễ. Chỉ cần công thức trùm điều kiện đến cột M là được.

Các câu trả lời đều ra kết quả đúng, nhưng tôi thích SumIf hơn, nó nhanh hơn công thức mảng.

bây giờ mà đố xài sumif(S) mà vị trí các SP để tùm lum mới ghê đó thầy...hihihi
 
Công thức của tôi:

=SUMIF(DK,"X",Data!D2:O2)

DK = INDEX(Rule!$B$6:$M$13,MATCH(Data!$C2,Rule!$A$6:$A$13,0),0)

SumProduct và Sum mảng chắc phải xài 2 name, trong khi SumIf chỉ cần 1 name.
 
Trường hợp Rule thay sản phẩm SP 02 thành SP 12, theo các bạn, công thức sao cho ngắn nhất ?
 
Ý nghĩa của câu đố này là:

1. "Có thể dùng mọi cách" nghĩa là được dùng Name, không phải ai cũng biết ăn gian cho công thức ngắn
2. Dùng Sumproduct công thức dài. Kể cả dùng Name cũng phải dùng 2 name trở lên và vẫn dài. Đã vậy SumProduct sẽ chậm hơn
3. Công thức Sum dùng mảng cũng chậm
4. Quan trọng nhất (đối với tôi): Tôi muốn giới thiệu hàm Index với chỉ số dòng hoặc cột = 0
 
----------------------------------
 
Thử dùng sumif() theo file bài 1
Mã:
P2=SUMIF(INDEX(Rule!$B$6:$I$13,MATCH(C2,Rule!$A$6:$A$13,0),0),"X",(D2:K2))
 

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

Back
Top Bottom