Tách ngày tháng năm từ chuỗi và tìm thứ theo ngày

Liên hệ QC

zPeterPan

Thành viên hoạt động
Tham gia
27/2/21
Bài viết
149
Được thích
10
Nhờ mọi người chỉ dạy giúp em tách ngày tháng năm từ chuỗi và từ ngày tháng năm đó tìm ra thứ của ngày đó
Hình 1 là data1.JPG
Hình 2 là kết quả mong muốn nhưng kết quả sẽ trả luôn tại sheet 1ketqua.JPG
và file đây ạ. . .
Em xin cảm ơn ạ. . .
 

File đính kèm

  • TachNgay.xlsb
    21.3 KB · Đọc: 7
Lần chỉnh sửa cuối:
Cột A định dạng là Date .

Công thức cho A2
Mã:
=DATEVALUE(RIGHT(Sheet1!A2,10))

B2
Mã:
=IF(WEEKDAY(A2)=1,"CN","T"&WEEKDAY(A2))
 
Upvote 0
Nhờ mọi người chỉ dạy giúp em tách ngày tháng năm từ chuỗi và từ ngày tháng năm đó tìm ra thứ của ngày đó
Hình 1 là dataView attachment 261195
Hình 2 là kết quả mong muốnView attachment 261196
và file đây ạ. . .
Em xin cảm ơn ạ. . .
Mã:
A2 =DATEVALUE(IF(MID(1/2,2,1)=".",MID(RIGHT(Sheet1!A2,10),7,4)&MID(RIGHT(Sheet1!A2,10),3,4)&MID(RIGHT(Sheet1!A2,10),1,2),RIGHT(Sheet1!A2,10)))
B2 =SUBSTITUTE("T"&WEEKDAY(A2),"T1","CN")
Nếu nhập công thức ô A2 bị lổi thì xem công thức trong file
 

File đính kèm

  • TachNgay.xlsb
    17.6 KB · Đọc: 7
Upvote 0
Nếu vẫn muốn tham khảo VBA thì xin mời với củ chuối này:
PHP:
Sub ChuyenChuoiThanhNgay()
 Dim Rws As Long, J As Long, W As Integer, Thu As Integer
 Dim sDat As String
 
 Sheet1.Select
 Rws = [A7].CurrentRegion.Rows.Count
 ReDim Arr(1 To Rws, 1 To 2)
 For J = 2 To Rws
    sDat = Right(Cells(J, "A").Value, 10)
    W = W + 1
    Arr(W, 1) = DateSerial(CInt(Right(sDat, 4)), CInt(Mid$(sDat, 4, 2)), CInt(Left$(sDat, 2)))
    Thu = Weekday(Arr(W, 1))
    If Thu = 1 Then
        Arr(W, 2) = "CN"
    Else
        Arr(W, 2) = "T" & CStr(Thu)
    End If
 Next J
 [C2].Resize(W, 2).Value = Arr()
End Sub
 
Upvote 0
Cột A định dạng là Date .

Công thức cho A2
Mã:
=DATEVALUE(RIGHT(Sheet1!A2,10))

B2
Mã:
=IF(WEEKDAY(A2)=1,"CN","T"&WEEKDAY(A2))

Nếu vẫn muốn tham khảo VBA thì xin mời với củ chuối này:
PHP:
Sub ChuyenChuoiThanhNgay()
 Dim Rws As Long, J As Long, W As Integer, Thu As Integer
 Dim sDat As String
 
 Sheet1.Select
 Rws = [A7].CurrentRegion.Rows.Count
 ReDim Arr(1 To Rws, 1 To 2)
 For J = 2 To Rws
    sDat = Right(Cells(J, "A").Value, 10)
    W = W + 1
    Arr(W, 1) = DateSerial(CInt(Right(sDat, 4)), CInt(Mid$(sDat, 4, 2)), CInt(Left$(sDat, 2)))
    Thu = Weekday(Arr(W, 1))
    If Thu = 1 Then
        Arr(W, 2) = "CN"
    Else
        Arr(W, 2) = "T" & CStr(Thu)
    End If
 Next J
 [C2].Resize(W, 2).Value = Arr()
End Sub
cảm ơn bác nhiều. . .nhưng với khoảng 100 dòng thì sẽ đúng, còn khoảng 6000 dòng thì dòng cuối sẽ không được tính ạCapture.JPG
 
Upvote 0
Xin lỗi, xóa bài.
Sáng giờ mạng chập choạng, hình lên nhìn không đúng nên trả lời sai bấy hết.
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu vẫn muốn tham khảo VBA thì xin mời với củ chuối này:
PHP:
Sub ChuyenChuoiThanhNgay()
 Dim Rws As Long, J As Long, W As Integer, Thu As Integer
 Dim sDat As String
 
 Sheet1.Select
 Rws = [A7].CurrentRegion.Rows.Count
 ReDim Arr(1 To Rws, 1 To 2)
 For J = 2 To Rws
    sDat = Right(Cells(J, "A").Value, 10)
    W = W + 1
    Arr(W, 1) = DateSerial(CInt(Right(sDat, 4)), CInt(Mid$(sDat, 4, 2)), CInt(Left$(sDat, 2)))
    Thu = Weekday(Arr(W, 1))
    If Thu = 1 Then
        Arr(W, 2) = "CN"
    Else
        Arr(W, 2) = "T" & CStr(Thu)
    End If
 Next J
 [C2].Resize(W, 2).Value = Arr()
End Sub
Code nhiều hàm hay ạ !
 
Upvote 0
Web KT
Back
Top Bottom