Công thức Excel: Đếm sinh nhật theo tháng -

Mục lục

Công thức chung

=SUMPRODUCT(--(MONTH(birthday)=number))

Tóm lược

Để đếm số lượng sinh nhật trong danh sách, bạn có thể sử dụng công thức dựa trên hàm SUMPRODUCT và MONTH. Trong ví dụ được hiển thị, E5 chứa công thức này:

=SUMPRODUCT(--(MONTH(birthday)=D5))

Công thức này đếm sinh nhật trong tháng 1 (vì D5 chứa 1) trong phạm vi được đặt tên là "sinh nhật" (B5: B104).

Giải trình

Bạn sẽ nghĩ rằng bạn có thể sử dụng hàm COUNTIF để đếm sinh nhật, nhưng rắc rối là COUNTIF chỉ hoạt động với các phạm vi và sẽ không cho phép bạn sử dụng một cái gì đó như MONTH để chỉ trích xuất số tháng từ các ngày. Vì vậy, chúng tôi sử dụng SUMPRODUCT thay thế.

Bên trong SUMPRODUCT, chúng ta có biểu thức này:

MONTH(birthday)=D5)

Hàm MONTH trích xuất tháng cho mỗi ngày trong phạm vi được đặt tên là "sinh nhật" và giá trị này được so sánh với giá trị trong D5, là 1. Kết quả là một mảng các giá trị TRUE / FALSE trong đó mỗi TRUE đại diện cho một ngày trong đó tháng = 1.

Các giá trị TRUE FALSE sau đó được chuyển đổi thành giá trị đơn và số không với âm kép (-). SUMPRODUCT sau đó tính tổng các số này và trả về kết quả cuối cùng.

Xử lý các ô trống

Nếu bạn có các ô trống trong danh sách ngày sinh, bạn sẽ nhận được kết quả không chính xác, vì MONTH (0) trả về 1. Để xử lý các ô trống, bạn có thể điều chỉnh công thức như sau:

=SUMPRODUCT((MONTH(birthdays)=D5)*(birthdays""))

Nhân với biểu thức (sinh nhật "") có hiệu quả sẽ loại bỏ các giá trị tháng cho các ô trống. Xem trang SUMPRODUCT để biết thêm thông tin về cách các biểu thức logic hoạt động bên trong SUMPRODUCT.

Giải pháp bảng tổng hợp

Bảng tổng hợp cũng là một giải pháp tuyệt vời cho vấn đề này.

thú vị bài viết...