Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu bổ ích!, Chúng tôi sẽ từng bước hoàn thiện để bạn đọc cảm thấy hài lòng, hữu ích!

Thứ Năm, 5 tháng 3, 2026

Chuyển dữ liệu thời gian trong Excel về số thực bằng VBA

Trong quá trình xử lý dữ liệu Excel, đôi khi chúng ta gặp trường hợp ô hiển thị dạng thời gian hoặc ngày giờ nhưng thực chất giá trị bên trong lại là một số thực. Điều này thường gây khó khăn khi cần tính toán hoặc xử lý dữ liệu hàng loạt.

Ví dụ một ô hiển thị:

1/5/1900 2:24:00 AM

Nhưng giá trị thực của nó trong Excel là:

0.1
Excel lưu thời gian theo dạng serial number. Nghĩa là thời gian chỉ là một dạng hiển thị của số thực.

Nguyên lý lưu trữ thời gian trong Excel

Giá trị hiển thị Giá trị thực
24 giờ 1
12 giờ 0.5
6 giờ 0.25
2 giờ 24 phút 0.1

Do đó nếu dữ liệu của bạn đang hiển thị dạng thời gian nhưng cần xử lý dưới dạng số, chúng ta có thể dùng VBA để chuyển đổi tự động.

Giải pháp dùng VBA để chuyển đổi

Đoạn VBA dưới đây sẽ chuyển toàn bộ ô thời gian trong vùng được chọn sang số thực.

Bước 1: Mở VBA

Alt + F11

Sau đó chọn:

Insert → Module

Bước 2: Thêm đoạn code VBA

Sub ConvertTimeToNumber()
    Dim c As Range
    Dim rng As Range
     Set rng = Selection
    For Each c In rng
     If IsDate(c.Value) Then
         c.Value = CDbl(c.Value)
          c.NumberFormat = "0.########"
    End If
    Next c
    MsgBox "Đã chuyển thời gian sang số thực!"
End Sub

Cách sử dụng Macro

Bước 1: Chọn vùng dữ liệu cần chuyển.

Bước 2: Nhấn

Alt + F8

Bước 3: Chọn macro:

ConvertTimeToNumber

Bước 4: Nhấn Run.

Kết quả sau khi chuyển đổi

Trước khi chạy VBA Sau khi chạy VBA
1/5/1900 2:24:00 AM 0.1
1/1/1900 12:00:00 PM 0.5
1/1/1900 6:00:00 AM 0.25

Ưu điểm của phương pháp này

  • Tự động chuyển đổi hàng nghìn dòng dữ liệu.
  • Tiết kiệm rất nhiều thời gian xử lý.
  • Áp dụng cho mọi bảng dữ liệu Excel.
  • Phù hợp cho thống kê, phân tích dữ liệu hoặc xử lý điểm số.

Kết luận

Trong Excel, thời gian chỉ là một dạng hiển thị của số thực. Hiểu được nguyên lý này giúp bạn xử lý dữ liệu nhanh hơn và chính xác hơn.

Việc sử dụng VBA để tự động chuyển đổi là một giải pháp rất hiệu quả khi làm việc với các bảng dữ liệu lớn.

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến

💬 Bình luận

💬 Bình luận

📌 Danh sách bình luận