Hãy thử điều này thay vì:
=SUM(IF(MONTH($A$2:$A$6)=1,$B$2:$B$6,0))
Đó là một công thức mảng, vì vậy bạn sẽ cần phải nhập công thức đó bằng các điều khiển Điều khiển - Shift - Nhập tổ hợp phím.
Dưới đây là cách công thức hoạt động.
- MONTH ($ A $ 2: $ A $ 6) tạo ra một mảng các giá trị số của tháng cho các ngày trong A2: A6, có nghĩa là,
{1, 1, 1, 2, 2}
.
- Sau đó, so sánh
{1, 1, 1, 2, 2}= 1
tạo mảng {TRUE, TRUE, TRUE, FALSE, FALSE}
, bao gồm điều kiện cho câu lệnh IF.
- câu lệnh if sau đó trả về một mảng các giá trị, với
{430, 96, 400..
cho các giá trị số tiền dao động trong đó giá trị tháng bằng 1 và ..0,0}
trong đó giá trị tháng không bằng 1.
- mảng Đó
{430, 96, 400, 0, 0}
sau đó được tổng hợp để có được câu trả lời bạn đang tìm kiếm.
Điều này về cơ bản tương đương với chức năng của SUMIF và SUMIFs. Tuy nhiên, không phải của những chức năng hỗ trợ các loại tính bạn đã cố gắng để bao gồm trong điều kiện.
Cũng có thể thả IF hoàn toàn. Vì TRUE và FALSE cũng có thể được coi là 1 và 0, công thức này - =SUM((MONTH($A$2:$A$6)=1)*$B$2:$B$6)
- cũng hoạt động.
Heads lên: Điều này không hoạt động trong Google Spreadsheets
http://www.mrexcel.com/forum/excel-questions/75814-sum- if-date-month.html –