zPeterPan
Thành viên hoạt động
- Tham gia
- 27/2/21
- Bài viết
- 154
- Đượ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à dataView attachment 261195
Hình 2 là kết quả mong muốnView attachment 261196
và file đây ạ. . .
Em xin cảm ơn ạ. . .
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")
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ộ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))
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 ạ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 ạ !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ộ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))