=DAY(DATE(YEAR(A1),MONTH(A1)+1,0))
Bác làm ơn cho em hỏi tại sao lại là MONTH(A1)+1. Em tưởng là Month(A1) thôi chứBạn thử dùng công thức sau xem nhé!
Bạn tưởng tượng thế này khi bạn làm hạch toán thì số liệu của đầu tháng sau là giá trị của ngày cuối cùng tháng trước; sở dĩ ví dụ như bạn xét ngày ô Á là 15/1/2009 thì month(A1) +1 = 2 là tức cả công thức mà các bác ấy đã làm là DATE(YEAR(A1),MONTH(A1)+1,0) = 2010/2/0, nhưng làm gì có ngày thứ 0 của tháng 2 nên máy sẽ hiểu ngày 2010/2/0 = 2010/1/31. Còn nếu bạn để là Month(A1) thì đuôi đằng sau bạn thay số 0 bằng số mấy, giả dụ bạn thay số 0 là số 1 chẳng hạn thì (DATE(YEAR(A1),MONTH(A1)+1,0) = 2010/1/1) thì máy sẽ hiểu là DAY(DATE(YEAR(A1),MONTH(A1)+1,0))= day (2010/1/1)=1 thì có mà tui. Bạn cứ để ý ký chỗ bôi đậm màu xanh là ra vấn đề ngàyBác làm ơn cho em hỏi tại sao lại là MONTH(A1)+1. Em tưởng là Month(A1) thôi chứ
Hình như có cái gì đó còn vướng, nếu đó là tháng 12 của năm!Bạn tưởng tượng đầu tháng sau là giá trị của ngày cuối cùng tháng trước; sở dĩ ví dụ như bạn xét ngày ô A1 là 15/1/2009 thì month(A1) +1 = 2 là tức cả công thức mà các bác ấy đã làm là DATE(YEAR(A1),MONTH(A1)+1,0) = 2010/2/0, nhưng làm gì có ngày thứ 0 của tháng 2 nên máy sẽ hiểu ngày 2010/2/0 = 2010/1/31. Còn nếu bạn để là Month(A1) thì đuôi đằng sau bạn thay số 0 bằng số mấy, giả dụ bạn thay số 0 là số 1 chẳng hạn thì (DATE(YEAR(A1),MONTH(A1)+1,0) = 2010/1/1) thì máy sẽ hiểu là DAY(DATE(YEAR(A1),MONTH(A1)+1,0))= day (2010/1/1)=1 thì có mà tui. Bạn cứ để ý ký chỗ bôi đậm màu xanh là ra vấn đề ngày
Tóm lại rất đơn giản, ô A1 bạn đang xét là tháng 1 thì công thức bạn đang xét MONTH(A1)+1 sẽ là tháng thứ 2 (nhưng ngày 0 tháng thứ 2 bằng ngày 31 của tháng thứ 1)...còn nếu A1 của bạn đang xét là tháng thứ 2 thì công thức cuối cùng sẽ là Day(2010,3,0)=Day(2010,2,28)...
Rất đơn giản vậy thôi.
Hình như có cái gì đó còn vướng, nếu đó là tháng 12 của năm!
Nên chăng cần giải thích rằng mày tính lấy ngày 1/1/1900 tương ứng với số 1 & cứ thế, thêm 1 ngày cộng vô 1 đơn vị, . . . nên ngày trước ngày #1/1/2000# sẽ là #31/12/1999#
![]()
![]()
Vui thôi!
Công thứcBạn thử công thức này khỏi lo năm tháng nào
=IF(MONTH(A1)=12,31,DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1))