Nhờ hỗ trợ: Tính số tuần và số tháng khi Ngày bắt đầu của tuần & năm không theo lịch (1 người xem)

  • Thread starter Thread starter nqhien
  • Ngày gửi Ngày gửi

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

nqhien

Thành viên mới
Tham gia
14/1/13
Bài viết
2
Được thích
0
Chào các anh chị,

Mong các anh chị vui lòng giúp đỡ cho câu hỏi như sau của tôi:

Ngày bắt đầu năm tài chính là ngày 01 tháng 02 hàng năm
Ngày bắt đầu của một tuần được tính là ngày thứ Tư (Wednesday)
Như vậy, khi tôi muốn Convert chuỗi "25/12/2012" thành số thứ tự của Tháng và số thứ tự của Tuần trong năm tài chính thì sẽ sử dụng công thức như thế nào?

Hiện tại nếu dùng theo công thức thông thường thì tôi được kết quả sau:
Weeknum(25/12/2012,1) = 52
Month(25/12/2012) = 12
(Settings ngày trong máy của tôi là dd/MM/yyyy)

Tuy nhiên cái tôi cần tính là số thứ tự tuần & tháng theo năm tài chính nên con số trên không sử dụng được.
Vậy mong các anh chị hỗ trợ chỉ giúp!
Cảm ơn!
 
kết quả của bạn ra bao nhiễu?
bạn thử dùng hàm này,
nếu F6= 25/12/2013
=WEEKNUM(DATE(YEAR(F6);MONTH(F6)-1;DAY(F6));1)
nếu excel của bạn có hàm Edate
=WEEKNUM(EDATE(F6;-1);1)

thì ra tuần thứ 48?
month=MONTH(DATE(YEAR(F6);MONTH(F6)-1;DAY(F6)))=11
=MONTH(EDATE(F6;-1))

ko biết đúng đáp án của bạn chua
 
Lần chỉnh sửa cuối:
kết quả của bạn ra bao nhiễu?
bạn thử dùng hàm này,
nếu F6= 25/12/2013
=WEEKNUM(DATE(YEAR(F6);MONTH(F6)-1;DAY(F6));1)
thì ra tuần thứ 48?
month=MONTH(DATE(YEAR(F6);MONTH(F6)-1;DAY(F6)))=11

ko biết đúng đáp án của bạn chua
Công thức gì mà dài thế? Làm theo hướng này thì:
=Weeknum(Edate(F6,-1),1)
=Month(EDate(F6,-1))

Làm theo 1 hướng khác:
=Weeknum(F6-31,1)
=Month(F6)-1
 
Công thức gì mà dài thế? Làm theo hướng này thì:
=Weeknum(Edate(F6,-1),1)
=Month(EDate(F6,-1))

Làm theo 1 hướng khác:
=Weeknum(F6-31,1)
=Month(F6)-1

Weeknum(Edate(F6,-1),1)=48
Weeknum(F6-31,1)=47

2 kết quả này khác nhau 1 tuần anh ạ, tôi ko biết cái nào đúng. nhưng tôi băng khoăng hàm thứ hai nó có phân biệt được tháng 30 & 31 ngày ko?
 
Trước tiên ta xác định nếu ngày đầu năm TC là 1/2 tức là bị dời đi 31 ngày so với 1/1.

=Weeknum(Edate(F6,-1),1) tương đương với công thức của bạn, tức là đem so ngày này tháng trước so với 1/1. Ngày đang xét là 25/12, tính theo hướng này sẽ tính cho 25/11, chênh nhau chỉ 30 ngày. Dời đi 31 ngày, nhưng dời lại chỉ 30 ngày.

Cách tính này sẽ không chính xác vì ta cần tính cho nhiều giá trị ngày khác nhau: Cùng ngày tháng trước so với ngày đang xét có thể chênh nhau 28, 29, 30, 31 ngày.

Công thức Weeknum(F6-31,1) đúng hơn vì tất cả ngày được tính, đều lùi về 31 ngày. Số 31 là số ta tính trên kia. Dời đi bao nhiêu thì dời về bấy nhiêu.

2 kết quả này khác nhau 1 tuần anh ạ, tôi ko biết cái nào đúng. nhưng tôi băng khoăng hàm thứ hai nó có phân biệt được tháng 30 & 31 ngày ko?

"Băn khoăn" chứ nhỉ?
Kết quả mong muốn khi dùng hàm Weekday là tuần thứ mấy tương ứng với tổng số ngày chia cho 7, không quan tâm trong đó mấy tháng hay tháng bao nhiêu ngày. Tháng 2 có 4 tuần, tháng 3 có gần 4 tuần rưỡi, tháng 4 có hơn 4 tuần 1/3, ... đâu có phân biệt theo tháng làm gì.
 
Lần chỉnh sửa cuối:
Cảm ơn các anh đã hỗ trợ!
 

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

Back
Top Bottom