SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện (2 người xem)

Liên hệ QC

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

Mình có một vấn đề thế này mong các bác giải giúp nhé! cám ơn trước! mình gà exec lắm đừng cười nha!
Bài này chỉ cần dùng hàm sumif thôi Bạn à.
Mã:
SUMIF('Phân tích KL'!C:C,"*"&B23,'Phân tích KL'!E:E)
 
Xin các bạn giúp lập hàm cho dữ liệu file đính kèm

Chào các Bạn,

Hiện tôi có một file cần các bạn giúp lập hàm
Tôi đã thực hiện lập hàm sumproduct nhưng kết quả cho ra không đúng

nếu ra kết quả, xin các bạn gửi về: diamond1vn@yahoo.com

Thanks
 

File đính kèm

Chào các Bạn,

Hiện tôi có một file cần các bạn giúp lập hàm
Tôi đã thực hiện lập hàm sumproduct nhưng kết quả cho ra không đúng

nếu ra kết quả, xin các bạn gửi về: diamond1vn@yahoo.com

Thanks

Thử xem (tại I8 - kéo sang phải +fill xuống) đúng chưa với:
=SUMPRODUCT(($E$8:$E$20=$H8)*($F$8:$F$20=I$7)*$D$8:$D$20)
 
Chào các Bạn,

Hiện tôi có một file cần các bạn giúp lập hàm
Tôi đã thực hiện lập hàm sumproduct nhưng kết quả cho ra không đúng

nếu ra kết quả, xin các bạn gửi về: diamond1vn@yahoo.com

Thanks
Bạn dùng công thức này cho ô I8 nhé!
Mã:
=SUMPRODUCT(($E$8:$E$20=$H8)*($F$8:$F$20=I$7)*($D$8:$D$20))
Copy cho các ô còn lại.
 

File đính kèm

Chào bạn,

Thank bạn nhiều nhé
Tôi thấy cách làm pivot ra kết quả lẹ và cũng chính xác, Tuy nhiên đây chỉ là bài ví dụ tôi lấy ra từ một file lớn mà để áp dụng pivot trong file lớn có những cột cách xa nhau, ... cũng khá rắc rối.
Tôi muốn làm công thức hàm để có thể sử dụng và copy tính các số liệu khác sau này nữa.

Và tôi có thể áp dụng hàm SUm/ Sumproduct,... cũng đã ra con số chính xác tương tư Pivot

Thanks các bạn đã hướng dẫn nhé
diamond1vn
 
Chào bạn,

Tôi thấy cách làm pivot ra kết quả lẹ và cũng chính xác, Tuy nhiên đây chỉ là bài ví dụ tôi lấy ra từ một file lớn mà để áp dụng pivot trong file lớn có những cột cách xa nhau, ... cũng khá rắc rối.
Tôi muốn làm công thức hàm để có thể sử dụng và copy tính các số liệu khác sau này nữa.

Và tôi có thể áp dụng hàm SUm/ Sumproduct,... cũng đã ra con số chính xác tương tư Pivot

diamond1vn

- Xa bao nhiêu thì Pivot cũng lấy được (ngoài bảng cũng chơi luôn...)
- Dùng công thức cũng được nhưng Sumproduct với
thì e hơi mệt cho Excel đấy !

Góp ý nhỏ còn tùy bạn - cách nào mình chủ động được thì dùng thôi !
 
Giúp mình công thức SUMPRODUCT cho hàng ngang!!!

Chào mọi người,

Mình đang vướng 1 công thức tính tổng tích nhưng theo hàng ngang (file đính kèm).
Mọi người giúp mình với nhé. Liệu có thể có công thức nào ngắn gọn hơn cho ô màu đỏ của mình ko?
Công thức ở ô màu đỏ là: Q1xP1 + Q2xP2 + Q3xP3 + ............... QnxPn

Lúc đầu mình cứ nghĩ là ko khó nhưng chẳng hiểu sao mình tìm mãi mà chẳng ra. Các bạn giúp mình với nha.

Cảm ơn mọi người nhìu nhìu :)
 

File đính kèm

Lần chỉnh sửa cuối:
Chào mọi người,

Mình đang vướng 1 công thức tính tổng tích nhưng theo hàng ngang (file đính kèm).
Mọi người giúp mình với nhé. Liệu có thể có công thức nào ngắn gọn hơn cho ô màu đỏ của mình ko?
Công thức ở ô màu đỏ là: Q1xP1 + Q2xP2 + Q3xP3 + ............... QnxPn

Lúc đầu mình cứ nghĩ là ko khó nhưng chẳng hiểu sao mình tìm mãi mà chẳng ra. Các bạn giúp mình với nha.

Cảm ơn mọi người nhìu nhìu :)

Bạn dùng công thức sau:
PHP:
=SUM(IF(MOD(COLUMN(B2:I2),2)=1,0,B2:I2)*IF(MOD(COLUMN(C2:J2),2)=0,0,C2:J2))
Hoặc:
PHP:
=SUM(IF(MOD(COLUMN(B2:I2),2)=0,B2:I2)*IF(MOD(COLUMN(C2:J2),2)=1,C2:J2))
Kết thúc với Ctrl+Shift+Enter
 
Lần chỉnh sửa cuối:
Em có dữ liệu như bảng sau:
STT | Ho và Tên | So tien | Ghi chú
1|Nguyen Van A1|1.000.000|
2|Nguyen Van A2|2.000.000|
3|Nguyen Van A3|2.500.000|
4|Nguyen Van A4|3.000.000|
5|Nguyen Van A5|3.500.000|
6|Nguyen Van A6|4.000.000|
7|Nguyen Van A7|5.000.000|
8|Nguyen Van A8|6.000.000|
9|Nguyen Van A9|7.000.000|
10|Nguyen Van A10|8.000.000|
11|Nguyen Van A11|9.000.000|
12|Nguyen Van A12|10.000.000|
13|Nguyen Van A13|11.000.000|
14|Nguyen Van A14|12.000.000|
|||
| Tu (dong) | den (dong) | So luong | Tong cong
1|1.000.000|3.000.000|4|?
2|4.000.000|6.000.000|3|?
3|7.000.000|9.000.000|3|?
4|10.000.000|12.000.000|3|?
Sau khi dùng Sumproduct em đã tính toán được số lượng người có tiền thưởng từ 1.000.000 đến 3.000.000, em múôn tính tổng tiền của những người đạt điều kiện trên. Xin các anh chị giúp đỡ.
Thanks
 
Lần chỉnh sửa cuối:
Sau khi dùng Sumproduct em đã tính toán được số lượng người có tiền thưởng từ 1.000.000 đến 3.000.000, em múôn tính tổng tiền của những người đạt điều kiện trên. Xin các anh chị giúp đỡ.
Thanks
Bạn vẫn dùng hàm SUMPRODUCT để tính. Đưa file lên đi, ghi rõ muốn tính như thế nào.
 
Sau khi dùng Sumproduct em đã tính toán được số lượng người có tiền thưởng từ 1.000.000 đến 3.000.000, em múôn tính tổng tiền của những người đạt điều kiện trên. Xin các anh chị giúp đỡ.
Thanks
Cũng dùng hàm Sumproduct luôn. Bạn xem trong file nhé.
 

File đính kèm

cảm ơn các bạn nhé, mình làm được rồi.
 
Lần chỉnh sửa cuối:
File của mình đây. Bạn xem thử nhé
1/Tính số lượng có thể dùng hàm sau:
Mã:
=COUNTIF($C$2:$C$15;"<="&C18)-COUNTIF($C$2:$C$15;"<"&B18)
2/Tính tổng cộng có thể dùng hàm sau:
Mã:
=SUMIF($C$2:$C$15;"<="&C18)-SUMIF($C$2:$C$15;"<"&B18)
Hoặc:
Mã:
=SUMPRODUCT(($C$2:$C$15>=B18)*($C$2:$C$15<=C18)*($C$2:$C$15))
Xem thêm file nhé!
Tùy theo định dạng của máy thay dấu ; bằng dấu ,
 

File đính kèm

Công thức mảng

Chào BQT & các thành viên trong diễn đàn. Mình có áp dụng công thức mảng của thấy Thanh Phong cho cong việc mình đang làm, nhưng không hiểu sao chỉ đúng có một trường hợp. Rất mong các bạn giải thích giúp.
 

File đính kèm

Hỏi nhờ các cao thủ về CÔNG THỨC MẢNG

vấn đề của tôi là thế này khi tôi sư dụng công thúc mảng để tạo 1 khu vực gồm dãy số từ 1 đến 12(theo file kèm theo ) theo công thức =={1,2,3,4;5,6,7,8;9,10,11,12} sau khi ấn CTR SHIFT ENTER nó lại trả về là 1,234 5,678 9,101112
file tôi có đính kèm theo mong các bạn giải đáp giúp
 

File đính kèm

Bạn dùng công thức sau:

={1\2\3\4;5\6\7\8;9\10\11\12}

Lý do:
Region and Language setting của bạn đang set dấu separator là dấu ";", và dấu "," là dấu thập phân. Như vậy đối với mảng, ký hiệu phân cách mảng trở thành "\" cho hàng ngang và ";" cho hàng dọc.
 
Lần chỉnh sửa cuối:
oh yeah thanks so much.quên vậy bạn cho tôi hỏi muốn cho về mặc định như bình thường để dùng công thức mảng hàng ngang là dấu , thì tinh chỉnh trong regional như nào
 
Công thức đó trả về một mảng, nên bạn cần phải bôi đen mảng B166:B199, nhấn F2, sau đó nhấn tiếp tổ hợp 3 phím Ctrl + shift+enter
 
oh yeah thanks so much.quên vậy bạn cho tôi hỏi muốn cho về mặc định như bình thường để dùng công thức mảng hàng ngang là dấu , thì tinh chỉnh trong regional như nào
vào control panel----Regional Laguage settings---chọn và làm theo hình nhé
 

File đính kèm

  • format.jpg
    format.jpg
    192.1 KB · Đọc: 234
@Leduythuong Thanks đê thử coi cái đã.

hok đc chỉ đổi đc dấu chấm phẩy; trong ngăn cách các hàm thành , thôi chư trong công thức mảng vẫn ko dùng đc dấu , phải dùng dấu \ khi
 
Chỉnh sửa lần cuối bởi điều hành viên:
vấn đề của tôi là thế này khi tôi sư dụng công thúc mảng để tạo 1 khu vực gồm dãy số từ 1 đến 12(theo file kèm theo ) theo công thức =={1,2,3,4;5,6,7,8;9,10,11,12} sau khi ấn CTR SHIFT ENTER nó lại trả về là 1,234 5,678 9,101112
file tôi có đính kèm theo mong các bạn giải đáp giúp
SAO BẠN KHÔNG LÀM NHƯ THẾ NÀY CHO NGẮN VÀ Kq Y CHANG BẠN MONG MUỐN ĐỒNG THỜI AI CŨNG HIỂU
={0;1;2;3;4}*4+{1,2,3,4}
 
Lần chỉnh sửa cuối:
Cần giúp đỡ hàm sumproduct

Chào các anh/chị GPE. Em cần thống kê một bảng excel bằng hàm SUMPRODUCT (không dùng các hàm đếm khác), em mới nghiên cứu Excel nên chưa lắm rõ cách sử dụng hàm này, mang các anh/chị chỉ giúp
 
Chào các anh/chị GPE. Em cần thống kê một bảng excel bằng hàm SUMPRODUCT (không dùng các hàm đếm khác), em mới nghiên cứu Excel nên chưa lắm rõ cách sử dụng hàm này, mang các anh/chị chỉ giúp

Bên Sheet BC01a, BC01b không có ngày tháng đâu mà đòi dùng SUMPRODUCT, vì thế chỉ đếm ra kết quả chỉ cần COUNTIF là đủ:
=COUNTIF(BC01a!$H:$H,B$4)+COUNTIF(BC01b!$H:$H,B$4)
 
cái ngày mà mình đưa vào đấy nó không quan trọng, có trhể xoá đi được, mình chỉ cần dùng hàm SUMPRODUCT để đếm được ra kết qua thôi, hoặc có thể cần thêm dữ liệu gì nữa không để dùng được hàm SUMPRODUCT, dùng hàm Coutif khi thống kê mà ở 2 file riêng biệt nó hay bắt Update mỗi khi mở file
 
cái ngày mà mình đưa vào đấy nó không quan trọng, có trhể xoá đi được, mình chỉ cần dùng hàm SUMPRODUCT để đếm được ra kết qua thôi, hoặc có thể cần thêm dữ liệu gì nữa không để dùng được hàm SUMPRODUCT, dùng hàm Coutif khi thống kê mà ở 2 file riêng biệt nó hay bắt Update mỗi khi mở file

Nhưng không có ngày tháng năm thì hàm Sumproduct sẽ không đếm được theo như bạn yêu cầu.
 
cam ơn bro nhưng em đã làm theo như anh bảo vẫn không tính được .Sao vận nhỉ
 
Nhờ sửa giúp sửa công thức sumproduct bị ra kết quả khác nhau

ANH CHỊ GIAI THÍCH GIÚP EM TẠI SAO EM LÀM NHƯ VẬY MÀ RA KẾT QUẢ KHÁC NHAU!
RỐI QUÁ NGÀY MAI EM PHÁT LƯƠNG RỒI.
hAY AI CÓ CÁCH KHÁC HAY HƠN THÌ CHỈ CHO EM VỚI
Cmr ơn anh chị trong diễn đàn nhiều!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
 

File đính kèm

ANH CHỊ GIAI THÍCH GIÚP EM TẠI SAO EM LÀM NHƯ VẬY MÀ RA KẾT QUẢ KHÁC NHAU!
RỐI QUÁ NGÀY MAI EM PHÁT LƯƠNG RỒI.
hAY AI CÓ CÁCH KHÁC HAY HƠN THÌ CHỈ CHO EM VỚI
Cmr ơn anh chị trong diễn đàn nhiều!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
Công thức của bạn tại cell CF7 hiện là:
Mã:
=SUMPRODUCT([COLOR=red][B]D4:CD4[/B][/COLOR],D7:CD7)
Lý ra phải là:
Mã:
=SUMPRODUCT([COLOR=red][B]$D$4:$CD$4[/B][/COLOR],D7:CD7)
phải khóa dòng và cột để khi kéo fill thì chổ màu đỏ này mới không thay đổi
Thêm nữa, trong file của bạn, dòng đơn giá $D$4:$CD$4 chẳng có tí dữ liệu nào nên chắc chắn kết quả sẽ luôn = Zero rồi
 
Sau những năm tháng "lặn lội" trên forum, em đã học được rất nhiều, cuối cùng thì cũng làm được vài cái hay hay. Nhưng giờ em đang gặp một vấn đề rất mong các anh em giúp đở.
Để đáp ứng nhu cầu công việc, em có làm một cái file, nói chung cũng đạt yêu cầu về công thức. Nhưng khi hoàn thành, thì file của em chạy cực kỳ chậm, ngay cả khi nhập liệu. Em nghĩ là do em sử dụng quá nhiều công thức sumproduct và name. Nhưng nghĩ hoài cũng không biết cách nào khắc phục. Xin xem file và chỉ giúp em với
http://www.mediafire.com/?5zbbjdhrd98lobi
File của em gồm 4 sheet:
1. Sheet soure: chủ yếu chức các thông tin để truy xuất.
2. Sheet data: truy xuất dữ liệu từ sheet source, và phải nhập liệu thêm
3. 2 sheet daily va monthly report: dựa trên sheet dât mà ra các số liệu báo cáo.
Vui lòng giúp em với.
Cảm ơn rất nhiều
 
kính gửi các anh, các em xem giúp giùm em file này với.

file gồm 3 sheet, sheet 1 la so luong hang ban duoc, sheet 2 là định các món. she et 3 la tính toán số nguyên liệu ra từ dữ liệu bán hàng.

Các anh giúp mình công thức tính ở she et 3 nhe, mình phải ngồi tính từng cái sợ nó bị sai.

tks nhiều.
 

File đính kèm

Tư vấn về hàm Sumproduct

Mình gửi các bạn file đính kèm. Tại Sheet NHAP LIEU của ngày 06/01/11 cột D, hiện tại là có 24 chuyến xe đã chạy, nhưng tại sao khi qua bên Sheet tong hop ngay của ngày 06/01/11 cột D12 thì chỉ có 5 chuyến mà thôi. Mình đã copy định dạng lại hết rồi, sao nó cũng chỉ có 5, mà không phải là 24. Các xe khác cũng bị tình trạng như vậy. Mong các AC xem giúp và chỉ ra lỗi. Thanks

Mình gửi lại. Cho mình xin lỗi nhé. Do sơ xuất
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Gửi lại bài viết

Mình cần tính dự liệu bên Sheet "tong hop ngay". Bạn thử sort lại xe 1274 bên sheet NHAP LIEU xem thì bạn hiểu ngay thôi. Lẽ ra ô D12 bên sheet tong hop ngay là 27, nhưng tại sao chỉ có 5 mà thôi. Với dữ liệu là đất đỏ
 

File đính kèm

Mình cần tính dự liệu bên Sheet "tong hop ngay". Bạn thử sort lại xe 1274 bên sheet NHAP LIEU xem thì bạn hiểu ngay thôi. Lẽ ra ô D12 bên sheet tong hop ngay là 27, nhưng tại sao chỉ có 5 mà thôi. Với dữ liệu là đất đỏ
=SUMPRODUCT(('NHAP LIEU'!$B$4:$B$20050='tong hop ngay '!B$3)*('NHAP LIEU'!$D$4:$D$20050='tong hop ngay '!$A12)*('NHAP LIEU'!$F$4:$F$20050='tong hop ngay '!$B$5))
sửa thành
=SUMPRODUCT(('NHAP LIEU'!$B$4:$B$20050='tong hop ngay '!$B$3)*('NHAP LIEU'!$D$4:$D$20050='tong hop ngay '!$A12)*('NHAP LIEU'!$F$4:$F$20050='tong hop ngay '!B$5))
sai ở cái màu đỏ bạn sửa lại là ok
 
Cũng không được bạn ơi, có thể dùng hàm nào khác không, càng nhiều điều kiện ràng buộc thì số liệu càng chính xác. Bạn đã hiểu file của mình rùi. Thanks.
 
Cũng không được bạn ơi, có thể dùng hàm nào khác không, càng nhiều điều kiện ràng buộc thì số liệu càng chính xác. Bạn đã hiểu file của mình rùi. Thanks.
tôi chưa dùng hàm khác vẫn sử dụng hàm của bạn để bạn dễ hiểu hơn
xem file
 

File đính kèm

Xin chỉ giúp lỗi trong Hàm Sumproduct

Phiền mọi người giúp em lỗi của hàm Sumproduct em sử dụng mà không biết lỗi ở đâu (tại ô em môi nền màu vàng). Em xin cảm ơn
 
Phiền mọi người giúp em lỗi của hàm Sumproduct em sử dụng mà không biết lỗi ở đâu (tại ô em môi nền màu vàng). Em xin cảm ơn
Bạn thử sửa lại thành vầy xem sao:
Mã:
=SUMPRODUCT((MONTH($A$4:$A$36)=A42)*(B4:B36=B42)*(C4:C36))
Mà Bạn dùng office 2007 sao không dùng hàm SUMIFS cho nó khỏe nhỉ?
 
Phiền mọi người giúp em lỗi của hàm Sumproduct em sử dụng mà không biết lỗi ở đâu (tại ô em môi nền màu vàng). Em xin cảm ơn

Dùng sumproduct thì thế này:
PHP:
=SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*$C$4:$C$36)
 
Phiền mọi người giúp em lỗi của hàm Sumproduct em sử dụng mà không biết lỗi ở đâu (tại ô em môi nền màu vàng). Em xin cảm ơn
Bạn sửa lại công thức như MinhCongdat_butmuc là được rồi
Có nhiều cú pháp thể hiện khi dùng SUMPRODUCT, nhưng xin bạn cứ nhớ thuộc lòng cú pháp tôi viết dưới đây
PHP:
SUMPRODUCT((Vùng 1 = d/k1)*(Vùng 2 = d/k2)*(.......)*(Vùng tính tổng))
Nếu không có Vùng tính tổng thì công thức trên sẽ thành ĐẾM (thay vì SUM)
Cú pháp trên là hoàn hảo nhất so với bất cứ cú pháp nào vì nó tổng hợp được trên các mảng có kích thước khác nhau (mà các kiểu viết khác không thể làm được)
 
Vấn đề em thắc mắc là mặc dù đã sửa rồi KQ tháng 1 của Cty A lại ra bằng 0 nhỉ? Nếu đúng ra nó phải là 200.546.667, phiền các bác xem lại hộ em với
 
Vấn đề em thắc mắc là mặc dù đã sửa rồi KQ tháng 1 của Cty A lại ra bằng 0 nhỉ? Nếu đúng ra nó phải là 200.546.667, phiền các bác xem lại hộ em với
Cứ ý công thức ở trên mà làm thì sao kết quả =0 được cơ chứ ---> Xem file đây
 

File đính kèm

Cảm ơn thày em tìm ra nguyên nhân rùi, tại em không đóng mở ngoặc () thành phần MONTH($A$4:$A$36)=A42, xin thày giải thích giúp em từ công thức của thày SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*($C$4:$C$36)) nếu em bỏ đóng mở ngoặc thành phần thứ 3 đi thành SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*$C$4:$C$36) thì vẫn OK mà bỏ đóng mở ngoặc thành phần thứ nhất tức công thức thành SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42)*($C$4:$C$36)) thì lại không được (kết quả bằng 0) ah?
 
Cảm ơn thày em tìm ra nguyên nhân rùi, tại em không đóng mở ngoặc () thành phần MONTH($A$4:$A$36)=A42, xin thày giải thích giúp em từ công thức của thày SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*($C$4:$C$36)) nếu em bỏ đóng mở ngoặc thành phần thứ 3 đi thành SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*$C$4:$C$36) thì vẫn OK mà bỏ đóng mở ngoặc thành phần thứ nhất tức công thức thành SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42)*($C$4:$C$36)) thì lại không được (kết quả bằng 0) ah?
Bạn nói sao chứ nếu bỏ dấu ngoặc nhất hay cuối gì thì nó cũng báo lỗi liền, làm gì ra kết quả
Nguyên tắc về cú pháp người ta ghi thế thì mình cứ theo thôi
 
Bạn nói sao chứ nếu bỏ dấu ngoặc nhất hay cuối gì thì nó cũng báo lỗi liền, làm gì ra kết quả
Nguyên tắc về cú pháp người ta ghi thế thì mình cứ theo thôi
Được mà thày nếu thày cứ thử bỏ đóng mở ngoặc của $C$4:$C$36 thì kết quả vẫn OK. Thực ra em muốn tìm hiểu bản chất của nó thôi, chứ cứ đóng mở ngoặc là đúng là "chắc ăn" hơn.
 
Được mà thày nếu thày cứ thử bỏ đóng mở ngoặc của $C$4:$C$36 thì kết quả vẫn OK. Thực ra em muốn tìm hiểu bản chất của nó thôi, chứ cứ đóng mở ngoặc là đúng là "chắc ăn" hơn.
Vậy chắc máy bạn nó sao ấy chứ tôi thử rồi mới nói bạn à ---> Nguyên tắc của công thức luôn luôn là: Tổng số dấu ( phải bằng với tổng số dấu ) ---> Tức số dấu ngoặc mở luôn = số dấu ngoặc đóng
Vậy không lý gì trong công thức lại có 5 dấu ( mà chỉ có 4 dấu )
Không tin cứ kêu ai đó thử là biết liền

 
nếu bỏ đóng mở ngoặc thành phần thứ nhất tức công thức thành SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42)*($C$4:$C$36)) thì lại không được (kết quả bằng 0) ah?
-----Mình thấy hàm sumproduct nếu bỏ dấu ngoặc ở đầu:

=SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42)*($C$4:$C$36))

-
kết quả = 0 là do hàm ưu tiên tính các phần tử trong () trước xong đến tính tiếp đến dấu * cuối cùng mới tính đến dấu =. Như công thức trên hàm sẽ tính các thành phần:
- MONTH($A$4:$A$36) ra mảng các tháng (1)
-A42*($B$4:$B$36=B42)*($C$4:$C$36) ra 1 mảng (2)
---> cuối cùng so 2 mảng (1) = (2) mảng này chắc chắn là false do vậy kết quả =0.
nếu bỏ đóng mở ngoặc thành phần thứ 3 đi thành SUMPRODUCT((MONTH($A$4:$A$36)=A42)*($B$4:$B$36=B42)*$C$4:$C$36) thì vẫn OK
-Nếu theo như quy luật ưu tiên tính toán trong hàm () tính trước, * tính sau thì.
+ Hàm tính: (MONTH($A$4:$A$36)=A42) ra 1 mảng.
+($B$4:$B$36=B42) ra 1 mảng
+$C$4:$C$36 hay ($C$4:$C$36) cũng ra 1 mảng như nhau.
- Các mảng này thỏa mãn thì cho kết quả thôi.
*, Nói chung các hàm đều tính toán trong ngoặc trước, xong rồi đến nhân chia cộng trừ...chứ không riêng gì sumproduct!

P/S: Dạ đấy là theo em nghĩ vậy. Nếu không đúng thì các thầy, cô sửa sai giúp!
 
Lần chỉnh sửa cuối:
Lập luận của nhóc linhngoc hoàn toàn chính xác ở chỗ Excel ưu tiên tính

- trong ngoặc trước ngoài ngoặc sau,
- ngoặc trong trước, ngoặc ngoài sau,
- nhân chia trước, cộng trừ sau,
- dấu bằng sau chót

Kết quả luôn luôn bằng 0 vì

=SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42) *($C$4:$C$36))
Nhóm thứ nhất (màu xanh) là 1 mảng gồm các tháng của các ô A4:A36, là các số rải từ 1 đến 12

Nhóm thứ 2 (màu đỏ), là tích của 3 thành phần: 1 giá trị A42, 1 mảng True False, 1 mảng giá trị C4:C36, kết quả là 1 mảng các số

So sánh 2 mảng số đó với nhau bằng dấu =, thì ra 1 mảng mới, gồm toàn True, False

Và sum của True False, thì bằng 0.
 
Lần chỉnh sửa cuối:
Cái đó thì em thừa nhận, nhưng máy em công thức như sau =SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42) *$C$4:$C$36)
vẫn ra đáp số đúng (thày ndu thử thì bị lỗi) vậy máy các bác như thế nào trong THợp này?
 
Cái đó thì em thừa nhận, nhưng máy em công thức như sau =SUMPRODUCT(MONTH($A$4:$A$36)=A42*($B$4:$B$36=B42) *$C$4:$C$36)
vẫn ra đáp số đúng (thày ndu thử thì bị lỗi) vậy máy các bác như thế nào trong THợp này?

Ra kết quả zero chứ? Nhưng vẫn ra kết quả, không lỗi.
Chắc ndu nhầm là chỉ bỏ 1 dấu ( hoặc 1 dấu ). Thực sự là bỏ đi 1 cặp () lận. Chỉ ra kết quả sai thôi chứ không lỗi.
 
Công thức của bạn tại cell CF7 hiện là:
Mã:
=SUMPRODUCT([COLOR=red][B]D4:CD4[/B][/COLOR],D7:CD7)
Lý ra phải là:
Mã:
=SUMPRODUCT([COLOR=red][B]$D$4:$CD$4[/B][/COLOR],D7:CD7)
phải khóa dòng và cột để khi kéo fill thì chổ màu đỏ này mới không thay đổi
Thêm nữa, trong file của bạn, dòng đơn giá $D$4:$CD$4 chẳng có tí dữ liệu nào nên chắc chắn kết quả sẽ luôn = Zero rồi
em thấy Sumproduct một số trường hợp dùng dấu, (=SUMPRODUCT(D4:CD4,D7:CD7)) nhưng một số trường hợp dấu , không được phải chuyển sang dấu nhân (*) tức công thức trên là SUMPRODUCT((D4:CD4)*(D7:CD7)). Vậy bản chất của nó thế nào ah?
 
em thấy Sumproduct một số trường hợp dùng dấu, (=SUMPRODUCT(D4:CD4,D7:CD7)) nhưng một số trường hợp dấu , không được phải chuyển sang dấu nhân (*) tức công thức trên là SUMPRODUCT((D4:CD4)*(D7:CD7)). Vậy bản chất của nó thế nào ah?
Bản chất vẫn như nhau, chỉ là cách thể hiện của mỗi người.
Tuy nhiên, trong các kiểu thể hiện hàm SUMPRODUCT thì cách dùng dấu nhân là ưu việt nhất:
- Khỏi lo dấu phân cách khác nhau trên từng máy tính (có máy dùng dấu phẩy, có máy dùng dấu chấm phẩy)
- Có thể thực hiện tính toán trên các mảng không cùng kích thước <--- Và đây chính là ưu điểm cần quan tâm của nó
Chính vì lẽ đó, bây giờ học SUMPRODUCT, tốt nhất bạn nên dùng dấu nhân, mấy dấu khác khỏi cần quan tâm đến làm gì
(Có người nói cách dùng dấu -- sẽ cho tốc độ nhanh hơn dùng dấu * , Tôi thì không tin gì mấy, nếu có thì chắc là chênh lệch cũng không đáng kể. Với dữ liệu lớn, SUMPRODUCT nhiều điều kiện thì 2 cách này cũng "lết bánh" như nhau mà thôi)
 
Lần chỉnh sửa cuối:
Hàm Sumproduct

Chào bà con!

Mình đang làm về bê tông muốn tách riêng khối lượng xuất bê tông của từng lái xe. mình đã từng xem một ví dụ nhưng không thể nào mà tính được.

các bạn giúp mình xem tách kiểu gì nhé. ( mình có gửi kèm file đính kèm). nếu được mong các bạn gửi vào mail này cho mình nha: vananhkt7a@gmail.com

Thank!
 
Lần chỉnh sửa cuối:
Hàm Sumproduct

đính kèm fileẻtguivdfngvdf
 
Tôi thấy bạn post nhiêu nơi quá mà tôi tìm hoài không thấy file đính kèm của bạn nằm ở đâu là sao? Kỳ quá !
 
Bản chất vẫn như nhau, chỉ là cách thể hiện của mỗi người.
Tuy nhiên, trong các kiểu thể hiện hàm SUMPRODUCT thì cách dùng dấu nhân là ưu việt nhất:
- Khỏi lo dấu phân cách khác nhau trên từng máy tính (có máy dùng dấu phẩy, có máy dùng dấu chấm phẩy)
- Có thể thực hiện tính toán trên các mảng không cùng kích thước <--- Và đây chính là ưu điểm cần quan tâm của nó
Chính vì lẽ đó, bây giờ học SUMPRODUCT, tốt nhất bạn nên dùng dấu nhân, mấy dấu khác khỏi cần quan tâm đến làm gì
(Có người nói cách dùng dấu -- sẽ cho tốc độ nhanh hơn dùng dấu * , Tôi thì không tin gì mấy, nếu có thì chắc là chênh lệch cũng không đáng kể. Với dữ liệu lớn, SUMPRODUCT nhiều điều kiện thì 2 cách này cũng "lết bánh" như nhau mà thôi)

Em đã vận dụng hàm này với cơ sở dữ liệu hết các dòng trong ex 2003. Nhưng thực sự là chậm và chậm đến không thể tưởng trượng được.
Và rồi sau này em đã lên đời 2007 và dùng sumifs. Trời ơi, nó chạy sướng quá. Qua đó bác nào sử dụng nhiều đến hàm SUMPRODUCT thì lên đời đi thôi.
Chúc thành công!
 
Em đã vận dụng hàm này với cơ sở dữ liệu hết các dòng trong ex 2003. Nhưng thực sự là chậm và chậm đến không thể tưởng trượng được.
Và rồi sau này em đã lên đời 2007 và dùng sumifs. Trời ơi, nó chạy sướng quá. Qua đó bác nào sử dụng nhiều đến hàm SUMPRODUCT thì lên đời đi thôi.
Chúc thành công!
đương nhiên sumifs sẽ nhanh hơn gấp vài lần so với sumproduct
nhưng với điều kiện dữ liệu phải nhiều thì mới có sự khác biệt(cỡ >20000 row). chứ dữ liệu ít thi ko phân biệt được
tôi đã sử dụng sumifs từ khi biết excel 2007 đến nay và đã ko dùng sumproduct nhiều như trước. nhưng có nhiều trường hợp vẫn phải dùng sumproduct
 
Lần chỉnh sửa cuối:
Countif nhiều điều kiện

Nhờ các bạn hướng dẫn giùm mình vấn đề này:
Cột A: stt
Cột B: ngày ( có nhiều dòng cùng ngày )
Cột C: NV
Cột D, E ...: sản phẩm ( mỗi chủng loại sp là 1 hđ )
Mình muốn tạo công thức: đếm số hđ trong cùng 1 ngày - Số hđ từng NV theo từng ngày ( file đính kèm )
Thanks!
 

File đính kèm

Nhờ các bạn hướng dẫn giùm mình vấn đề này:
Cột A: stt
Cột B: ngày ( có nhiều dòng cùng ngày )
Cột C: NV
Cột D, E ...: sản phẩm ( mỗi chủng loại sp là 1 hđ )
Mình muốn tạo công thức: đếm số hđ trong cùng 1 ngày - Số hđ từng NV theo từng ngày ( file đính kèm )
Thanks!

Bạn xem file có đúng ý bạn không nhé
 

File đính kèm

Gủi Bạn!
Ý mình là đếm số lượng hoá đơn, dùng counta hoặc countif hoặc countifs.
Tks!!!
Bạn này cũng vui tính nhỉ! Bạn post bài vào topic SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện, người khác sử dụng SUMPRODUCT để giải bài toán cho bạn, bạn lại nói rằng dùng COUNTA, COUNTIF hoặc COUNTIFS. Như vậy là sao nhỉ?
Xin trả lời cho bạn rằng cả 3 hàm trên đều không giải quyết được bài toán của bạn, trừ trường hợp bạn muốn "dài dòng" thì bạn dùng 4 cái SUMIFS cộng lại, chẳng hạn, tính tổng số SP1 (cho hàng 2):
=SUMIFS('CHI TIET'!$D$2:$D$7,'CHI TIET'!$B$2:$B$7,B2,'CHI TIET'!$C$2:$C$7,C2)
 
Hỏi về lỗi trong cách sử dụng hàm Sumproduct

View attachment sinh vi.xls
mọi người điền nốt hộ em, vs xem hộ em kái công thức ô H32, h33 của em sai ở đâu vs ạ, thanks nhìu!
 

File đính kèm

Mọi người cho em hỏi em điền vào ô H32=SUMPRODUCT((C2:C11=$C$2)*(OR(D2:D11<5,E2:E11<5,F2:F11<5,G2:G11<5))) sao lại kết quả lại không đúng ạ, ai biết tại sao em sai, giải thích hộ em với ạ..
 
Mọi người cho em hỏi em điền vào ô H32=SUMPRODUCT((C2:C11=$C$2)*(OR(D2:D11<5,E2:E11<5,F2:F11<5,G2:G11<5))) sao lại kết quả lại không đúng ạ, ai biết tại sao em sai, giải thích hộ em với ạ..
Với SUMPRODUCT thì không "chơi" OR theo kiểu đó được ---> Nếu muốn AND thì dùng dấu NHÂN (*), muốn OR thì dùng dấu cộng (+)
Như vầy đây:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Cũng may, chỉ có 4 cột nên còn xài được, nếu cở vài chục cột thì không khả thi
 
Với SUMPRODUCT thì không "chơi" OR theo kiểu đó được ---> Nếu muốn AND thì dùng dấu NHÂN (*), muốn OR thì dùng dấu cộng (+)
Như vầy đây:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Cũng may, chỉ có 4 cột nên còn xài được, nếu cở vài chục cột thì không khả thi

Vậy muốn XOR thì thế nào ?thanks
 
Bạn cho mình hỏi chỗ >0 là sao thế bạn, bạn giải thích hộ mình vs, mình mới hc excel nên gà quá, giúp mình với nhá!!!
 
Bạn cho mình hỏi chỗ >0 là sao thế bạn, bạn giải thích hộ mình vs, mình mới hc excel nên gà quá, giúp mình với nhá!!!
Thí nghiệm đi ---> Bỏ chổ >0 xem thử kết quả ra cái gì?
Thông thường với 1 công thức dài mà ta chưa hiểu, ta có thể tách ra từng phần để nghiên cứu, chẳng hạn với công thức:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Bạn hãy bôi đên đoạn ((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5)) trên thanh công thức rồi bấm F9 xem nó hiện ra cái gì, suy ngẫm và tự rút ra kết luận vì sao lại phải có thêm đoạn >0
Nói thêm: Đây là các kiến thức về MẢNG, nếu bạn mới tiếp cận với Excel thì sẽ cảm thấy khó hiểu đấy
 
hiểu rồi, may quá, thanks bạn nhìu!!!
 
Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
 

File đính kèm

Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
Đại ca ơi, với số liệu đó, dùng công thức đó, theo ý muội thì ra kết quả đúng theo công thức rồi mà?

Cả 2 công thức đều tính tổng có điều kiện, và điều kiện ở 2 công thức này là so sánh hàng ngang như thế này:

Mã số​
|So sánh|
Mã số​
|Số được cộng|
1​
|<>|
10​
|
0​
|
2​
|<>|
8​
|
0​
|
3​
|<>|
2​
|
0​
|
4​
|=|
4​
|
9.800​
|
5​
|<>| |
0​
|
6​
|<>| |
0​
|
7​
|<>| |
0​
|
8​
|<>| |
0​
|
9​
|<>| |
0​
|
10​
|<>| |
0​
|

Kết quả 9.800


Kể cả khi thay bên cột A bằng thứ tự không liên tục như bảng sau, nó cũng tính theo cách đó:

Mã số​
|So sánh|
Mã số​
|Số được cộng|
1​
|<>|
10​
|
0​
|
8​
|=|
8​
|
1.067.000​
|
7​
|<>|
2​
|
0​
|
4​
|=|
4​
|
9.800​
|
3​
|<>| |
0​
|
9​
|<>| |
0​
|
5​
|<>| |
0​
|
2​
|<>| |
0​
|
6​
|<>| |
0​
|
10​
|<>| |
0​
|

Kết quả: 1.076.800

Nếu đại ca muốn tính ra kết quả khác, phải dùng công thức khác thôi!
 
Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
Công thức mà bạn dùng sai hoàn toàn. Theo như tôi hiểu thì bạn muốn: So sánh từng phần tử ở cột A với từng phần tử ở cột E, nếu trùng thì lấy giá trị cột B
Thế thì phải dùng cái này:
PHP:
=SUM((A2:A11=TRANSPOSE(E2:E11))*(B2:B11))
Công thức mảng ---> Ctrl + Shift + Enter
Hoặc công thức này:
PHP:
=SUMPRODUCT((COUNTIF($E$2:$E$11,$A$2:$A$11))*($B$2:$B$11))
Khi dùng SUMPRODUCT với các điều kiện phức tạp thì khuyên bạn nên dùng dấu nhân để nối các điều kiện
 
Công thức mà bạn dùng sai hoàn toàn.

Theo tôi nhận xét thì yeudoi dùng sai công thức, chứ không phải công thức sai.
Và yeudoi thực sự muốn tính cái gì thì chưa biết. Chỉ biết rằng nếu muốn ra kết quả khác, phải dùng công thức khác.
 
Công thức mảng của ndu
=SUM((A2:A11=TRANSPOSE(E2:E11))*(B2:B11))


có thể rút gọn như sau, cũng là công thức mảng:

=SUM(SUMIF(A2:A11;E2:E11;B2:B11))

hoặc nếu chỉ có 4 giá trị cần tính, thì thu hẹp lại:

=SUM(SUMIF(A2:A11;E2:E5;B2:B11))
 
Mình là member mới mong các anh chị nào có kinh nghiệm giúp đỡ minh liên kết wordsheet gửi kèm .Làm sao khi nhập vào bảng nhập xuất thì nó tự động cập nhật vào bảng tiến độ sx hàng ngày (trong today in và today out)theo thứ tự các màu số lượng của ngày hôm đó vì mỗi ngày em phải nhập số liệu để báo cáo mà phải nhập hai lần(nhập vào nhập xuất hàng ngày sau đó nhập vào today in và today out)rất mất thời gian mong anh chị giúp đỡ cảm ơn anh chị nhiềuView attachment báo cáo.rar
 
Hàm sumproduct

Hàm này nghe vẻ cung hay nhỉ nhưng có ai hiểu giải thích ngắn gon hơn không chứ nhìn thế nà 1 lúc làhoa mắt rùi!
 
Hàm Sumproduct bị lỗi

Chào các bạn. Tại sao ô B2 mình dùng hàm SUMPRODUCT để tính tổng số lít xăng của xe 1234 trong ngày 11/7/2011 sao kg được vậy các bạn. Mình đang làm EXCEL 2003. Nếu EX 2007 thì mình dùng hàm SUMIFS. Mong đc chỉ giúp.
 

File đính kèm

Chào các bạn. Tại sao ô B2 mình dùng hàm SUMPRODUCT để tính tổng số lít xăng của xe 1234 trong ngày 11/7/2011 sao kg được vậy các bạn. Mình đang làm EXCEL 2003. Nếu EX 2007 thì mình dùng hàm SUMIFS. Mong đc chỉ giúp.

Bạn sửa lại như thế này:

=+SUMPRODUCT((Sheet1!$B$2:$B$20=Sheet2!B$1)*(Sheet1!$A$2:$A$20=Sheet2!$A2)*(Sheet1!$C$2:$C$20))
 
Chào các bạn. Tại sao ô B2 mình dùng hàm SUMPRODUCT để tính tổng số lít xăng của xe 1234 trong ngày 11/7/2011 sao kg được vậy các bạn. Mình đang làm EXCEL 2003. Nếu EX 2007 thì mình dùng hàm SUMIFS. Mong đc chỉ giúp.
B2=SUMPRODUCT((Sheet1!$B$2:$B$20=Sheet2!B$1)*(Sheet1!$A$2:$A$20=Sheet2!$A2)*(Sheet1!$C$2:$C$20))

Chào các bạn. Tại sao ô B2 mình dùng hàm SUMPRODUCT để tính tổng số lít xăng của xe 1234 trong ngày 11/7/2011 sao kg được vậy các bạn. Mình đang làm EXCEL 2003. Nếu EX 2007 thì mình dùng hàm SUMIFS. Mong đc chỉ giúp.
B2=SUMIFS(Sheet1!$C$2:$C$20,Sheet1!$B$2:$B$20,Sheet2!B$1,Sheet1!$A$2:$A$20,Sheet2!$A2)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình là member mới mong các anh chị nào có kinh nghiệm giúp đỡ minh liên kết wordsheet gửi kèm .Làm sao khi nhập vào bảng nhập xuất thì nó tự động cập nhật vào bảng tiến độ sx hàng ngày (trong today in và today out)theo thứ tự các màu số lượng của ngày hôm đó vì mỗi ngày em phải nhập số liệu để báo cáo mà phải nhập hai lần(nhập vào nhập xuất hàng ngày sau đó nhập vào today in và today out)rất mất thời gian mong anh chị giúp đỡ cảm ơn anh chị nhiềuView attachment 64573
ý bạn có phải như thế này ko!
 

File đính kèm

nhưng giả sử mình theo dõi công nợ có rất nhiều khách hàng va nhiều loại sản phẩm thi mình lam thế nào để kết hợp được ct tính nhanh và chuẩn xác.mình muốn làm trong 1 file có 2 sheet , sheet1 mình nhập số liệu và sheet2 mình muốn nó nhẩy được tổng công nợ của từng khách hàng.Rất mong các bạn giúp đõ minh
Thanks!
 
nhưng giả sử mình theo dõi công nợ có rất nhiều khách hàng va nhiều loại sản phẩm thi mình lam thế nào để kết hợp được ct tính nhanh và chuẩn xác.mình muốn làm trong 1 file có 2 sheet , sheet1 mình nhập số liệu và sheet2 mình muốn nó nhẩy được tổng công nợ của từng khách hàng.rất mong các bạn giúp đõ minh
thanks!
bạn thử đưa file mẫu và kết quả mong muốn thì có nhiều người giúp. Mà lại không mất công trả lời nhiều lần
 
Bạn siêu quá nhỉ, giúp mình chuyện này với:
Do hay gặp trường hợp này khi xuất 1 file từ Foxpro qua Excel nên mình viết một Hàm như thế này cho tiện:

Public Function TachNgay(NgaySinh As String)
Dim Ng As String, T As String, N As String
Ng = Left(NgaySinh, 2)
T = "/" & Mid(NgaySinh, 3, 2)
N = "/19" & Right(NgaySinh, 2)
TachNgay = Ng & T & N
End Function

Để tách một chuỗi "120893" ra thành 12/08/1993 hoặc chuỗi "010592" thành 01/05/1992
nhưng bị báo lỗi, chắc là chưa đúng, bạn có thương thì sửa dùm cho mình với
Cảm tạ nhiều nhiều!
 
Bạn siêu quá nhỉ, giúp mình chuyện này với:
Do hay gặp trường hợp này khi xuất 1 file từ Foxpro qua Excel nên mình viết một Hàm như thế này cho tiện:

Public Function TachNgay(NgaySinh As String)
Dim Ng As String, T As String, N As String
Ng = Left(NgaySinh, 2)
T = "/" & Mid(NgaySinh, 3, 2)
N = "/19" & Right(NgaySinh, 2)
TachNgay = Ng & T & N
End Function

Để tách một chuỗi "120893" ra thành 12/08/1993 hoặc chuỗi "010592" thành 01/05/1992
nhưng bị báo lỗi, chắc là chưa đúng, bạn có thương thì sửa dùm cho mình với
Cảm tạ nhiều nhiều!
Bài này cần chi dùng VBA cho cao siêu
ví dụ A1 = 120893
công thức
DATEVALUE(LEFT(A1,2)&"/"&MID(A1,3,2)&"/"&RIGHT(A1,2))
như vậy là đủ rồi
 
Bạn siêu quá nhỉ, giúp mình chuyện này với:
Do hay gặp trường hợp này khi xuất 1 file từ Foxpro qua Excel nên mình viết một Hàm như thế này cho tiện:

Public Function TachNgay(NgaySinh As String)
Dim Ng As String, T As String, N As String
Ng = Left(NgaySinh, 2)
T = "/" & Mid(NgaySinh, 3, 2)
N = "/19" & Right(NgaySinh, 2)
TachNgay = Ng & T & N
End Function

Để tách một chuỗi "120893" ra thành 12/08/1993 hoặc chuỗi "010592" thành 01/05/1992
nhưng bị báo lỗi, chắc là chưa đúng, bạn có thương thì sửa dùm cho mình với
Cảm tạ nhiều nhiều!
Bài này cần chi dùng VBA cho cao siêu
ví dụ A1 = 120893
công thức
DATEVALUE(LEFT(A1,2)&"/"&MID(A1,3,2)&"/"&RIGHT(A1,2))
như vậy là đủ rồi
Cả công thức lẫn code đều sai
Nhưng tôi đang nghĩ: Câu hỏi về ngày tháng này liên quan gì đến chủ đề SUMPRODUCT của topic này vậy?
 
Bản chất vẫn như nhau, chỉ là cách thể hiện của mỗi người.

Tuy nhiên, trong các kiểu thể hiện hàm SUMPRODUCT thì cách dùng dấu nhân là ưu việt nhất:
- Khỏi lo dấu phân cách khác nhau trên từng máy tính (có máy dùng dấu phẩy, có máy dùng dấu chấm phẩy)
- Có thể thực hiện tính toán trên các mảng không cùng kích thước <--- Và đây chính là ưu điểm cần quan tâm của nó
Chính vì lẽ đó, bây giờ học SUMPRODUCT, tốt nhất bạn nên dùng dấu nhân, mấy dấu khác khỏi cần quan tâm đến làm gì
(Có người nói cách dùng dấu -- sẽ cho tốc độ nhanh hơn dùng dấu * , Tôi thì không tin gì mấy, nếu có thì chắc là chênh lệch cũng không đáng kể. Với dữ liệu lớn, SUMPRODUCT nhiều điều kiện thì 2 cách này cũng "lết bánh" như nhau mà thôi)
Anh có thể cho ví dụ sử dụng để nhân 2 mảng không cùng kích thước không ? mà nếu dùng "dấu phẩy" không làm được
 
Anh có thể cho ví dụ sử dụng để nhân 2 mảng không cùng kích thước không ? mà nếu dùng "dấu phẩy" không làm được
Xem hình ví dụ:

untitled.JPG

Bài toán đặt ra: Tính tổng cột màu vàng với điều kiện có dấu check "X" ở cột màu xanh
Ta dùng SUMPRODUCT nhu sau:
PHP:
=SUMPRODUCT(($B$2:$G$21="X")*($A$2:$A$21))
Đây là phép tính trên 2 mảng không cùng kích thước (B2:G21 có 20 dòng, 6 cột còn A2:A21 có 20 dòng nhưng chỉ có 1 cột)
Trường hợp này nếu không dùng dấu nhân mà dùng dấu phẩy có được không?
 
Xem hình ví dụ:



Bài toán đặt ra: Tính tổng cột màu vàng với điều kiện có dấu check "X" ở cột màu xanh
Ta dùng SUMPRODUCT nhu sau:
PHP:
=SUMPRODUCT(($B$2:$G$21="X")*($A$2:$A$21))
Đây là phép tính trên 2 mảng không cùng kích thước (B2:G21 có 20 dòng, 6 cột còn A2:A21 có 20 dòng nhưng chỉ có 1 cột)
Trường hợp này nếu không dùng dấu nhân mà dùng dấu phẩy có được không?

Em ngồi kiểm tra với nhiều cách, xem trong Help cũng không thể làm dấu phẩy thay cho dấu nhân.

Dấu nhân làm như là thay AND còn dấu cộng thay cho OR thì phải, nếu vậy thì khó có thể thay dấu nhân thành dấu phẩy trong trường hợp này.

Lưu ý với bài này, nếu như dấu X cùng hàng thì nó lại cộng thêm n lần cùng hàng.
 
Lần chỉnh sửa cuối:
Lưu ý với bài này, nếu như dấu X cùng hàng thì nó lại cộng thêm n lần cùng hàng.
Cám ơn anh ndu96081631

Bản chất của * là nhân 2 mảng thì có nghĩa là một chiều nào đó của 2 mảng đó phải có số phần tử = nhau. Còn "phép nhân" của sumproduct là nhân các véc tơ (nghĩa là chỉ có thê là mảng 1 chiều)
 
Lần chỉnh sửa cuối:
Tính tổng có 2 điều kiện

Mình cần tính tổng số tiền:

- Tất cả các Công ty và đơn vị là "VND"
- Tất cả các Công ty và đơn vị là "USD"
- Tất cả các Doanh nghiệp và đơn vị là "VND"
- Tất cả các Doanh nghiệp và đơn vị là "USD"

Các bạn giúp đỡ mình với. Cám ơn các bạn rất nhiều.
 

File đính kèm

Mình cần tính tổng số tiền:

- Tất cả các Công ty và đơn vị là "VND"
- Tất cả các Công ty và đơn vị là "USD"
- Tất cả các Doanh nghiệp và đơn vị là "VND"
- Tất cả các Doanh nghiệp và đơn vị là "USD"

Các bạn giúp đỡ mình với. Cám ơn các bạn rất nhiều.
Bạn xem file thử nhé
 

File đính kèm

Cám ơn bạn Luc Van rất nhiều. trong thực tế dữ liệu rất nhiều không thể nhập tay được với lại mình muốn nó tự động, khi đỗ dữ liệu vào sẽ cho ra kết quả liền, không cần phải làm thêm bước nào nữa. Bạn có cách nào khác không, chỉ mình với. Thanks bạn nhiều lắm.
 

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

Back
Top Bottom