Nhập dữ liệu Thời gian trong excel theo định dạng mm: ss (không có số 0: hàng đầu)


16

Tôi muốn nhập dữ liệu thời gian vào bảng excel ở định dạng mm: ss. Vấn đề là - mặc dù định dạng ô là mm: ss, nếu tôi nhập dữ liệu như thế này:

12:33 giá trị thực được lưu trữ là 12 giờ 33 phút. nếu tôi muốn 12 phút và 33 giây, tôi cần nhập 0:12:33

Có cách nào để làm cho tế bào chấp nhận 12:33 là mm: ss không?


2
Để hiển thị số phút lớn hơn 59, định dạng ô là [MM]:SS. Giống như: 02:10:45sau đó sẽ hiển thị như 130:45thay thế. Nhưng dường như điều đó không làm việc cho đầu vào.
Arjan

Câu trả lời:


6

Thời gian được nhập phổ biến trong Giờ: Phút: Định dạng giây, vì vậy bạn không thể thay đổi định dạng mục nhập này. Rõ ràng bạn có thể thay đổi định dạng hiển thị, nhưng thật không may, bạn sẽ cần phải tuân theo định dạng mục nhập.


có vẻ như không có giải pháp nào cho vấn đề của tôi, vì ngay cả việc sử dụng tập lệnh cũng không giúp được gì, vì định dạng che dấu những gì người dùng thực sự gõ.
Dani

Vậy là định dạng phổ quát hh:mm:sshay h:mm:ss? @Steve
Shaya

Tôi sẽ nói đó là h:mm:ss@Shayan
Steve

14

Theo trả lời của Steve , Excel diễn giải đầu vào của người dùng 12:33là 12h33m. Bạn không thể thay đổi hành vi này về cách Excel chấp nhận đầu vào của người dùng.

Như bạn đã đề cập trong bình luận, người dùng sẽ nhập 12:33nhưng có nghĩa là 12m33.

Đây là một giải pháp khắc phục để có được giá trị chính xác để tính toán.

  1. Định dạng ô A1 (đầu vào của người dùng, vd. 12:33) Như[h]:mm
  2. Nhập công thức =A1/60vào ô B1
  3. Định dạng ô B1 là [m]:ss

Giá trị được hiển thị phải giống nhau trong A1 & B1. Tuy nhiên, B1 sẽ là giá trị thực tế bạn muốn .


2
Đẹp. Hoặc: định dạng đầu vào dưới dạng giá trị chuỗi / văn bản và sử dụng một cái gì đó như TIMEVALUEđể chuyển đổi nó .
Arjan

1
Các giá trị được hiển thị trong A1 & B1 không giống nhau nếu mm> 23
Alaa M.

1
@AlaaM. cảm ơn vì sự tìm kiếm của bạn câu trả lời được cập nhật để khắc phục vấn đề. sử dụng [h][m]
wilson

3

Có một giải pháp! Đặt mã VBA này trong mô-đun bảng tính của bạn, tức là:

  1. Mở Trình soạn thảo Visual Basic ( Alt- F11)
  2. Trong treeview trên cùng bên trái, nhấp đúp vào trang tính bạn muốn nhập thời gian của bạn
  3. Trong bảng mã trung tâm, đặt mã dưới đây.
  4. Đóng VBE

Sử dụng mã này:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

Trong trường hợp bạn đã định dạng phạm vi bạn đang nhập dữ liệu, hãy sử dụng dòng này thay vì dòng đầu tiên:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

Lưu ý rằng điều này sẽ thay đổi giá trị và định dạng - mỗi khi bạn nhập một lần - hoặc một cái gì đó nằm trong khoảng từ 0 đến 1! Nếu bạn muốn giới hạn nó trong một cột nhất định, hãy thêm dòng này:

If Target.Column <> 3 Then Exit Sub

hoặc dòng này để giới hạn nó trong một phạm vi nhất định

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub

2

Cách dễ nhất để hoàn thành giờ làm việc

Định dạng ô (A1) hh:mm

Nhập như bình thường ( 07:22)

Định dạng ô (B1) hh:mm

Nhập như bình thường ( 16:00)

Định dạng ô (C1) h:mm

Nhập tất cả dữ liệu vào ô (C1) như sau: =(A1+B1)/60


1

Đánh dấu (các) ô / cột mà bạn muốn là Thời lượng, nhấp chuột phải vào "Định dạng ô". Chuyển đến "Tùy chỉnh" và tìm "h: mm" nếu bạn muốn nhập thời lượng ở định dạng giờ và phút. Nếu bạn cũng muốn bao gồm giây, nhấp vào "h: mm: ss". Bạn thậm chí có thể thêm tổng thời lượng sau đó.

Hi vọng điêu nay co ich.


1

Tôi thấy tốt nhất là nhập số phút vào cột A rồi đến giây trong cột B. Sau đó, bạn có thể tính tổng các cột. Tất cả như định dạng số bình thường.

Tiếp theo chuyển đổi giây> 60 thành phút bằng cách chia tổng số trong col B cho 60 và thêm INT vào Col A Sum và để lại MOD còn lại trong col B.

Ngoài ra, bạn có thể có col C dưới dạng số thập phân bằng cách có công thức = (A1+(B1/60))sẽ cho số thập phân. Ở dưới cùng của Col C, hãy thực hiện một công thức sau đó áp dụng một công thức để chuyển đổi phần thập phân trở lại Giây như sau đây C22là nơi tổng tiền được giữ sau đó C23nhập công thức =MOD(C22,1)*60.

Bây giờ, A23hãy nhập công thức =INT(C22)để hiển thị Tổng số phút, bao gồm cả số từ tổng C22.


1

Tôi đã có cùng một vấn đề và đây là giải pháp tôi đã tìm thấy: Nhập công thức bằng cách sử dụng TIMEhàm, tạo ra ma trận thời gian =TIME(H,M,S)và định dạng nó theo ý muốn. Bạn vẫn phải nhập 0 giờ mỗi lần vì toán học nhưng điều này làm cho toàn bộ công việc trở nên khả thi hơn nhiều.


0

Giải pháp cho ở trên. Khi sử dụng h:mmđịnh dạng, excel sẽ không cho phép bạn vượt lên trên 23. Thêm dấu ngoặc vào giờ trong định dạng của bạn[h]:mm và bạn có thể tự do đi trên 23.

Để tính giá trị tính bằng giây, đặt ô thành định dạng số "chung" và sau đó nhập công thức sau

=HOUR(A1)*60+MINUTE(A1)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.