Không sắp xếp được thời gian theo trình tự tăng dần khi đã lọc

Liên hệ QC

QuangMinhtb

Thành viên hoạt động
Tham gia
31/10/19
Bài viết
171
Được thích
34
Xin chào các anh/chị.
Sau khi đã lọc em không sắp xếp được trình tự thời gian (A-Z) theo thứ tự tăng dần (ở cột D).
Khi sắp xếp lại ra kết quả như hình dưới, dữ liệu cột D đã được định dạng là "ngày".
Xin được sự giúp đỡ của các anh/chị.
sx.png
 

File đính kèm

  • ngayle.xlsx
    22.9 KB · Đọc: 10
Xin chào các anh/chị.
Sau khi đã lọc em không sắp xếp được trình tự thời gian (A-Z) theo thứ tự tăng dần (ở cột D).
Khi sắp xếp lại ra kết quả như hình dưới, dữ liệu cột D đã được định dạng là "ngày".
Xin được sự giúp đỡ của các anh/chị.
Tại E2, nhập:

=ISNUMBER(D2)

Nếu kết quả là "TRUE" thì sắp xếp kiểu gì cũng đúng.
 
Tại E2, nhập:

=ISNUMBER(D2)

Nếu kết quả là "TRUE" thì sắp xếp kiểu gì cũng đúng.
Em cảm ơn anh, vậy để sắp xếp thời gian (cột D) được theo thứ tự phải làm thế nào ạ?
Cùng một định dạng ngày mà dữ liệu ô D2 và D3 khác nhau vậy ạ?
Em kiểm tra kết quả như hình
kt.png
 
Tại E2, nhập:

=ISNUMBER(D2)

Nếu kết quả là "TRUE" thì sắp xếp kiểu gì cũng đúng.
Anh cho em hỏi:
Em đã đều chỉnh định dạng là ngày, vậy sao lại còn có kiểu "ngày số" và "ngày text" nữa ạ?
Nếu như ở trên em chuyển hết dữ liệu ô trong cột D về định dạng ngày kiểu số thì có thể lọc được
 
Bạn phải tìm cách khác chuyển về "số", không thể chuyển về "số" bằng cách dùng Format Cells.
 
Bạn đang dùng công thức gì tại D?
D2:
=right(a2,10)+0
 
Anh cho em hỏi:
Em đã đều chỉnh định dạng là ngày, vậy sao lại còn có kiểu "ngày số" và "ngày text" nữa ạ?
Nếu như ở trên em chuyển hết dữ liệu ô trong cột D về định dạng ngày kiểu số thì có thể lọc được
Bạn định dạng nhưng chưa cập nhật dữ liệu trong ô nên Excel chưa hiểu nó là số. Muốn cập nhật thì cứ chọn ô, bấm F2 -> Enter thì sẽ ra "ngày số" liền.

Thay cho làm thủ công cả trăm ô như vậy thì bạn chạy đoạn code sau
Sub DateTextToDate()
Dim strDate As Date
Dim arr, i As Long

arr = Range("D2:D" & Range("D65536").End(xlUp).Row)
For i = 1 To UBound(arr)
strDate = arr(i, 1)
arr(i, 1) = strDate
Next
Range("D2").Resize(UBound(arr), 1) = arr
End Sub
 
Nếu đúng như cái file gởi lên thì chả cần phải rườm rà cho mệt.
Chọn cả cột > text to columns > chọn delimiter là tab > finish.

Chú: chỉnh sửa chính tả delimeter -> delimiter
 
Lần chỉnh sửa cuối:
Bạn định dạng nhưng chưa cập nhật dữ liệu trong ô nên Excel chưa hiểu nó là số. Muốn cập nhật thì cứ chọn ô, bấm F2 -> Enter thì sẽ ra "ngày số" liền.

Thay cho làm thủ công cả trăm ô như vậy thì bạn chạy đoạn code sau
Sub DateTextToDate()
Dim strDate As Date
Dim arr, i As Long

arr = Range("D2:D" & Range("D65536").End(xlUp).Row)
For i = 1 To UBound(arr)
strDate = arr(i, 1)
arr(i, 1) = strDate
Next
Range("D2").Resize(UBound(arr), 1) = arr
End Sub
Em cảm ơn anh, định dạng phải cập nhập nữa thì mới được ạ?
Nhiều dữ liệu định dạng cái excel hiểu luôn.
Bài đã được tự động gộp:

Nếu đúng như cái file gởi lên thì chả cần phải rườm rà cho mệt.
Chọn cả cột > text to columns > chọn delimeter là tab > finish.
Em cảm ơn thầy!
Bài đã được tự động gộp:

Bạn đang dùng công thức gì tại D?
D2:
=right(a2,10)+0
Chắc do nhầm anh ạ!
 
Em cảm ơn anh, định dạng phải cập nhập nữa thì mới được ạ?
Nhiều dữ liệu định dạng cái excel hiểu luôn.
Bạn định dạng cột đó là date nhưng bạn lại chép dữ liệu chuỗi giống date (tức là text) ở vùng khác dán vào đó thì Excel cứ hiểu đó là text. Vậy là phải F2 - Enter mới ra date được.
 
Web KT
Back
Top Bottom