Cách xác định thứ trong Excel

Liên hệ QC

giang127

Thành viên hoạt động
Tham gia
24/12/07
Bài viết
138
Được thích
8
Xin chào các bác, chả là em cần xác định thứ của 1 ngày tháng năm bất kỳ trong Excel

Cụ thể là trong giao dịch chứng khoán, khi chứng khoán mua thứ 6 thì đến thứ 5 tuần sau mới về tài khoản (T+3). Thứ 7, CN ko tính do là ngày nghỉ lễ
Vậy xin các bác có cách nào xác định chính xác được thứ của 1 ngày bất kỳ trong Excel ko ạ. -0-/.

Thanks @$@!^%@$@!^%@$@!^%
 
Bạn có thể dùng định dạng hoặc công thức Weekday để tìm thứ. Bạn xem trong file đính kèm nhé
 

File đính kèm

Bạn dùng hàm Weekday(Ngay,Kieu)
Kiểu=1 từ 1 đến bảy tính từ chủ nhật
Kiểu =2 từ 1 đến 7 tính từ thứ 2
Có thể kết hợp cho ra thứ tiếng Việt.
 

File đính kèm

dear sealand
nếu như sử dụng ngày bằng tiếng việt thì OK còn tiếng anh --=0--=0--=0 thì thật dễ thôi
vào formatcels---chọn custom---type----dddd
 

File đính kèm

dear sealand
nếu như sử dụng ngày bằng tiếng việt thì OK còn tiếng anh --=0--=0--=0 thì thật dễ thôi
vào formatcels---chọn custom---type----dddd

Chắc là ý tác giả không đơn giản như vậy, mà sẽ kết hợp để khi hàm trả về ngày bao nhiêu để kiểm tra ngày tiền về tài khoản, như vậy hàm Weekday rất có hiệu quả đấy.
 
chắc là vậy .cảm ơn bạn rất nhiều
 
Cảm ơn các bác nha. Em dùng hàm Weekday để lấy được thứ rùi.

Tuy nhiên, từ sáng đến h mà em vẫn không làm xong phần "Trạng thái" của cổ phiếu. (Các bạn xem trong file đính kèm)

Vấn đề là nếu bật file Excel lên vào ngày thứ 7 hoặc CN thì ngày T+ trong cột "Trạg thái" vẫn giữ nguyên,

- Mua cổ phiếu vào thứ 2, thì sẽ hiểu là Thứ 6 tuần này mới có trong tài khoản. Thứ 7 hay CN mở file lên thì Cột sẽ ghi "Đã có trong TK"
- Mua cổ phiếu vào thứ 3, thì sẽ hiểu là Thứ 2 tuần sau mới có trong tài khoản. Thứ 6, mở file lên thì sẽ ghi là T+2, Thứ 7 hay CN mở file lên thì Cột vẫn ghi là T+1, Thứ 2 tuần sau mở file lên thì Cột sẽ ghi "Đã có trong TK"
- Mua cổ phiếu vào thứ 4, thì sẽ hiểu là Thứ 3 tuần sau mới có trong tài khoản. Thứ 6, mở file lên thì sẽ ghi là T+3, Thứ 7 hay CN mở file lên thì Cột vẫn ghi là T+2, đến thứ 3 tuần sau mới ghi là đã có trong TK ..v...v.....

Do Thứ 7, CN vẫn là 2 ngày trong tuần nhưng là nghỉ lễ. Có cách nào để mình tính chính xác được số ngày còn lại của CP khi mua không ạ

Theo quy định thì: Chứng khoán mua ngày hôm nay thì sáng ngày thứ 4 (ngày làm việc không tính thứ 7 & CN) thì sẽ về có trong TK <<< Cái chính là do cái quy định này đây ạ, em nhức cả đầu hị hị ... -+*/-+*/-+*/
 

File đính kèm

Bạn dùng hàm UDF đi, nó vừa gọn gàng vừa nhanh. Hàm như sau:
(Mình hiểu bạn là 4 ngày làm việc kể từ ngày mua sẽ có trong TK, nếu hiểu sai bạn thay đoạn sau là được : TrThai = IIf(j <3 , "T+" & j + 1, "Da Co"))
PHP:
Option Explicit
Function TrThai(ng As Date) As String
Dim i, j As Integer
For i = ng To Date Step 1
If Weekday(ng + i, vbMonday) < 6 Then j = j + 1
Next
TrThai = IIf(j < 3, "T+" & j + 1, "Da Co")
End Function
Bạn xem kết quả cột trạng thái có chuẩn không.
 

File đính kèm

Lần chỉnh sửa cuối:
Vẫn chưa được rùi bạn ơi..... mình cũng thử sửa mà vẫn ko đc

VD:
Mua CP ngày 20/3/2010 (tức thứ 6 tuần trước) thì hôm nay nó phải là T+1 mới đúng (Vì mới qua 3 ngày làm việc: T2, T3, T4)

Mua CP ngày 22/3/2010 (tức thứ 2 tuần này) thì hôm nay nó phải là T+2 mới đúng (Vì mới qua 2 ngày làm việc: T3, T4)

Mua CP ngày 23/3/2010 (tức thứ 3 tuần này) thì hôm nay nó phải là T+3 mới đúng (Vì mới qua 1 ngày làm việc: T4)

Mua CP ngày 24/3/2010 (tức hôm nay) thì nó phải là T+4 mới đúng (Vì chưa đc ngày làm việc nào)


Trong file của bạn thì ngày 23/3 là T+2 nhưng 24/3 lai là T+1 là bị ngược chút, Bạn thử sửa thêm được không. @$@!^%@$@!^%@$@!^%
 
Vấn đề này em cũng đang quan tâm. Cảm ơn các anh đã hướng dẫn.
Em muốn biết rõ hơn về hàm CHOOSE một xíu. Mong anh chị nào giúp đỡ
 
Giờ mình mới hiểu ý bạn, đồng thời code của mình cũng sai 1 chút các bạn xem lại
(Bạn giải thích nhầm 1 chút , nếu mua thứ 7 và chủ nhật thì cũng coi như mua thứ 2)

PHP:
Option Explicit
Function TrThai(ng As Date) As String
Dim i As Date
Dim j As Integer
For i = ng To Date Step 1
If Weekday(i, vbMonday) < 6 Then j = j + 1
Next
TrThai = IIf(j < 5, "T+" & 5-j, "Da Co")
End Function
 

File đính kèm

Lần chỉnh sửa cuối:
Vấn đề này em cũng đang quan tâm. Cảm ơn các anh đã hướng dẫn.
Em muốn biết rõ hơn về hàm CHOOSE một xíu. Mong anh chị nào giúp đỡ

Mình sưu tầm bạn xem

Tên hàm:
Choose

Mô tả:
Choose(index, choice-1[, choice-2,... [, choice-n]])
Chọn mộtt giá trị trong dãy giá trị cho truớc

Tham số:
index
Vi trí giá trị muốn chọn
choice-1[, choice-2,... [, choice-n]]
Dãy giá trị ban dầu

Ví dụ:
Option Explicit
Private Sub Form_Load()
Dim Result
Result = Choose(1, "Speedy", "United", "Federal")'Returns Speedy
Result = Choose(3, "Speedy", "United", "Federal")'Returns Federal
End Sub

Tham khảo thêm:
IIf
Switch
 
PHP:
Function TrThai(ng As Date) As String
Dim i As Date
Dim j As Integer
For i = ng To Date Step 1
If Weekday(i, vbMonday) < 6 Then j = j + 1
Next
TrThai = IIf(j < 5, "T+" & 4 - j, "Da Co")
End Function


Bác ơi, em dùng hàm của bác, sau 1 thời gian thì tự nhiên bị lỗi.
Ví dụ trong file:
Em để 4 ngày liền kề nhau, vậy mà nó vẫn báo là ngày T+ giống nhau.

Chứng khóan mua hôm nay thì 4 hôm nữa mới về. Cột "Trạng thái" ghi là T+4 thì mới đúng
CK mua hôm qua thì sẽ ghi là T+3

Riêng thứ 7, CN thì ngày T+ sẽ giữ nguyên giống như ngày T+ của hôm thứ 6
 

File đính kèm

Bạn nhập sai ngày rồi, dữ liệu trong ô ngày sai.Bạn phải nhập đúng nguyên tác chứ.
 
OK, phải nhập tháng trước ngày sau dạng: m/d/yyyy hoặc mm/dd/yyyy mới được
Nếu muốn nhập ngày tháng theo thứ tự bình thường: dd/mm/yyyy thì phải chỉnh sửa sao hả bác
 
Riêng mình thì không thích thay đổi vì ta hay vấp những lỗi khác không lường trước được. Muốn đổi bạn làm như sau:

Từ Start--->Chọn Setting--->Control Parnel--->Chọn Region and Langguage Option--->Trong thẻ Region Option nhấn Customs--->Chọn French(French)
 
Web KT

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

Back
Top Bottom