Hàm tính ngày tháng năm (1 người xem)

Liên hệ QC

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

dunghtgiga

Thành viên chính thức
Tham gia
31/1/15
Bài viết
81
Được thích
11
Giới tính
Nam
Mình có mã hàng bao gồm số năm và số tuần, mình viết hàm để lấy ra tháng và năm nhưng ko đúng, hàm mình viết tại B2:

=IF(AND(IF(A2>0,"20"&LEFT(A2,2),"-")<>"-",IF(A2>0,(MID(A2,3,2)/4),"-")<>"-"),DATE(IF(A2>0,"20"&LEFT(A2,2),"-"),IF(A2>0,(MID(A2,3,2)/4),"-"),1),"-")

1599798658207.png

Tại A2 là tuần 02 năm 2019 => B2 chạy hàm phải là tháng 01-2019 nhưng KQ ra ko đúng, nhờ các bạn hướng dẫn giúp.
 
Mình có mã hàng bao gồm số năm và số tuần, mình viết hàm để lấy ra tháng và năm nhưng ko đúng, hàm mình viết tại B2:

=IF(AND(IF(A2>0,"20"&LEFT(A2,2),"-")<>"-",IF(A2>0,(MID(A2,3,2)/4),"-")<>"-"),DATE(IF(A2>0,"20"&LEFT(A2,2),"-"),IF(A2>0,(MID(A2,3,2)/4),"-"),1),"-")

View attachment 245356

Tại A2 là tuần 02 năm 2019 => B2 chạy hàm phải là tháng 01-2019 nhưng KQ ra ko đúng, nhờ các bạn hướng dẫn giúp.
Test thử B2 xem bạn:
PHP:
=DATE(2000+LEFT(A2,2),MONTH(DATE(2000+LEFT(A2,2),1,RIGHT(A2,2)*7-2)-WEEKDAY(DATE(2000+LEFT(A2,2),1,3))),1)
 
Test thử B2 xem bạn:
PHP:
=DATE(2000+LEFT(A2,2),MONTH(DATE(2000+LEFT(A2,2),1,RIGHT(A2,2)*7-2)-WEEKDAY(DATE(2000+LEFT(A2,2),1,3))),1)
Mình thử số 1901 là tuần 01 năm 2019, đúng ra tuần 01 phải là tháng 01-2019 mới đúng, nhưng theo hàm bạn viết lại ra tháng 12-2019; ko rõ có liên quan đến năm nhuận, tháng nhuận ở đây ko bạn xem lại giúp nhé, cảm ơn bạn nhiều.
Bài đã được tự động gộp:

Cái này hơi khó vì cùng 1 số tuần, có thể chứa cả 2 tháng (cuối tháng này đầu tháng sau)
Chỗ này mình cũng thấy giống bạn nên vậy mình post lên nhờ các cao nhân chỉ giáo: vì 1 năm có 365 ngày chia cho 1 tuần 7 ngày nên 1 năm có 52 tuần, trong khi đó 1 tháng có 4 tuần tính ra 52 tuần là 13 tháng; nếu là năm nhuận còn chấp nhận được nhưng năm ko nhuận chỉ có 12 tháng.
 
Mình thử số 1901 là tuần 01 năm 2019, đúng ra tuần 01 phải là tháng 01-2019 mới đúng, nhưng theo hàm bạn viết lại ra tháng 12-2019; ko rõ có liên quan đến năm nhuận, tháng nhuận ở đây ko bạn xem lại giúp nhé, cảm ơn bạn nhiều.
Bài đã được tự động gộp:


Chỗ này mình cũng thấy giống bạn nên vậy mình post lên nhờ các cao nhân chỉ giáo: vì 1 năm có 365 ngày chia cho 1 tuần 7 ngày nên 1 năm có 52 tuần, trong khi đó 1 tháng có 4 tuần tính ra 52 tuần là 13 tháng; nếu là năm nhuận còn chấp nhận được nhưng năm ko nhuận chỉ có 12 tháng.
Thử công thức cùi bắp này xem:
Mã:
=DATE(2000+LEFT(A2,2),1,1)+(RIGHT(A2,2)-1)*7
 
Thầy cho em hỏi có lúc 4 tuần là 1 tháng có lúc 5 tuần 1 tháng: điều này căn cứ vào đâu vậy ah ?
Mặc kệ tháng có mấy tuần nhưng chắc chắn ngày 1 tháng 1 sẽ luôn là tuần 1 đúng không? Vậy:
- 7 ngày sau đó sẽ luôn là tuần thứ 2
- 14 ngày sau đó sẽ luôn là tuần thứ 3
vân... vân....
Dựa vào suy luận trên, ta có: nếu tuần của bạn là 15, tôi sẽ lấy ngày 1 tháng 1 cộng cho (15-1)*7 sẽ ra ngày cần tìm
Vậy thôi
 
Mặc kệ tháng có mấy tuần nhưng chắc chắn ngày 1 tháng 1 sẽ luôn là tuần 1 đúng không? Vậy:
- 7 ngày sau đó sẽ luôn là tuần thứ 2
- 14 ngày sau đó sẽ luôn là tuần thứ 3
vân... vân....
Dựa vào suy luận trên, ta có: nếu tuần của bạn là 15, tôi sẽ lấy ngày 1 tháng 1 cộng cho (15-1)*7 sẽ ra ngày cần tìm
Vậy thôi
Dạ em cảm ơn thầy nhiều ah.
 
Cách khác: Cố định tháng 1, còn ngày thì lấy số tuần*7-6

=DATE(2000+LEFT(A2,2),1,RIGHT(A2,2)*7-6)

Ghi chú: Ít hơn sư phụ ndu 4 ký tự
 
Vừa dài vừa không giống ai
=TEXT(MATCH(RIGHT(A2,2), { "01", "06", "10", "14", "19", "23", "27", "32", "36", "41", "45", "49" }, 1), "00-\2\0") & LEFT(A2, 2)
 
Web KT

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

Back
Top Bottom