Công thức định dạng giá trị phút thành giờ N, chuỗi phút M


0

Tôi đang đề cập đến câu hỏi này tương ứng với câu trả lời được chỉnh sửa này . Có một cột với khoảng thời gian tính bằng phút. Khoảng thời gian ba giờ và hai phút sẽ là 182. Làm thế nào để định dạng có điều kiện các ô bằng cách sử dụng một công thức để có được kết quả sau đây?

00 minutes

11 minute

22 minutes

601 hour

1202 hours

1813 hours, 1 minute

631 hour, 3 minutes

Tôi có cần thực hiện một số phép chia (làm tròn) và một số phép tính modulo không? Hoặc có một chức năng tích hợp cho những thứ như vậy?


Excel lưu trữ ngày (và thời gian) dưới dạng "số sê-ri", trong đó phần phân số của số sê-ri đại diện cho một phần của một ngày. Định dạng phân số đó đúng có thể biểu thị nó dưới dạng giờ và phút. Vì vậy, ... chỉ cần chia tất cả các số của bạn cho (24 * 60), số phút trong một ngày. Điều đó sẽ chuyển đổi chúng thành một phần của một ngày. Sau đó định dạng chúng theo thời gian, ab
Bandersnatch

1
Excel lưu trữ ngày (và thời gian) dưới dạng "số sê-ri", trong đó phần phân số của số là một phần của một ngày. Vì vậy, ... chỉ cần chia tất cả số phút của bạn cho (24 * 60), số phút trong một ngày. Điều đó sẽ chuyển đổi chúng thành các phân số của một ngày. Sau đó định dạng các số theo số lần sử dụng các định dạng tương tự như các số được đề xuất trong câu trả lời cho câu hỏi trước đó của bạn. Excel sẽ làm tất cả công việc khó khăn cho bạn, hy vọng.
Bandersnatch

1
@Bandersnatch - Tôi tin rằng Ben đã thêm câu hỏi này dựa trên đề xuất của tôi để xem xét liệu các giá trị này sẽ được lưu trữ dưới dạng thời lượng hay thời gian (tùy thuộc vào trường hợp sử dụng).
andrew

1
Tôi đoán mục cuối cùng là một lỗi đánh máy: nên là 3 giờ chứ không phải 1 giờ.
Scott

Nó phải 1 hour, 3 minutes. Tôi đã sửa nó. Cảm ơn bạn!
Ben

Câu trả lời:


3

=IF(A1=0,"0 minutes",IF(A1>=60,FLOOR(A1/60,1) & " hour" & IF(A1>=120,"s",""),"") & IF(MOD(A1,60)>0,IF(A1>=60,", ","") & MOD(A1,60) & " minute" & IF(MOD(A1,60)>1,"s",""),""))

Theo các nhận xét bạn đang sử dụng Excel của Đức, sử dụng dấu chấm phẩy để phân tách các tham số chức năng, vì vậy hãy thay thế dấu phẩy bằng dấu chấm phẩy:

=IF(A1=0;"0 minutes";IF(A1>=60;FLOOR(A1/60;1) & " hour" & IF(A1>=120;"s";"");"") & IF(MOD(A1;60)>0;IF(A1>=60;", ";"") & MOD(A1;60) & " minute" & IF(MOD(A1;60)>1;"s";"");""))

(Lưu ý: vẫn còn một dấu phẩy trong đó vì đó là trong chuỗi đầu ra.)

0      0 minutes
1      1 minute
2      2 minutes
59     59 minutes
60     1 hour
61     1 hour, 1 minute
62     1 hour, 2 minutes
119    1 hour, 59 minutes
120    2 hours
121    2 hours, 1 minute
122    2 hours, 2 minutes
179    2 hours, 59 minutes
180    3 hours
181    3 hours, 1 minute
182    3 hours, 2 minutes
1439   23 hours, 59 minutes
1440   24 hours

Microsoft Excel: "Có một vấn đề với công thức này."
Ben

1
Sau khi nó hiển thị lỗi, cần làm nổi bật vị trí trong công thức phân tích thất bại - đó là ở đâu? FYI tôi đã dán nó trở lại vào Excel và nó hoạt động tốt. Vấn đề có thể là do tôi đã tham chiếu ô A17mà không có lý do rõ ràng (tôi chỉ tình cờ sao chép nó từ hàng 17 ban đầu). Tôi đã thay đổi nó thành ô tham chiếu A1để bạn có thể dán nó vào hàng đầu tiên. Rõ ràng bạn cần sửa tham chiếu nếu dữ liệu của bạn không nằm trong cột đó.
andrew

1
Tôi đã không nhận thức được điều đó. Trên thực tế, ngay cả các từ khóa tương ứng các tên hàm ( IF, FLOOR, MOD) phải bằng tiếng Đức. Với công thức này, nó hoạt động như một sự quyến rũ: =WENN(A1=0;"0 Minuten";WENN(A1>=60;ABRUNDEN(A1/60;1) & " Stunde" & WENN(A1>=120;"n";"");"") & WENN(REST(A1;60)>0;WENN(A1>=60;", ";"") & REST(A1;60) & " Minute" & WENN(REST(A1;60)>1;"n";"");""))Cảm ơn bạn rất nhiều!
Ben

1
@Ben - nếu dữ liệu chỉ là một số thì không, bạn không thể áp dụng công thức trong cùng một ô. Nếu dữ liệu là một công thức, thì có, bạn có thể kết hợp hai công thức.
andrew

1
@Ben - Làm thế nào để bạn điền vào bảng? Bằng cách gõ vào các giá trị? Hay họ có được kết nối với VBA hoặc kết nối dữ liệu không? Họ có trong một phạm vi được đặt tên? Tôi hỏi bởi vì có một cách hơi khó hiểu có thể thực hiện thủ thuật sử dụng sự kiện thay đổi VBA và một tập hợp các định dạng tùy chỉnh nhưng liệu nó có hoạt động hay không phụ thuộc vào cách dữ liệu được điền.
andrew

1

Giả sử dữ liệu của bạn nằm trong cột A. Viết công thức này vào C2 và điền nó xuống để dịch phút sang ngày phân số (đó là cách Excel lưu trữ thời gian):

=A2/1440

Lưu ý , như bạn có thể tìm thấy ở trên trong các bình luận, rằng để chuyển đổi số thập phân thành định dạng thời gian, bạn có thể áp dụng công thức 24*60này mang lại 1440.

Với số phút được chuyển đổi thành biểu mẫu trong đó Excel xử lý thời gian, bạn chỉ cần sử dụng định dạng thời gian tùy chỉnh để hiển thị nó. Chọn phạm vi dữ liệu và áp dụng định dạng ô này:

h "hours, " m "minutes"

Lưu ý rằng Excel sẽ coi thời gian là giờ chỉ trong phạm vi mà chúng ít hơn cả ngày, vì vậy điều này sẽ hoạt động miễn là thời gian của bạn không quá 24 giờ.

Hoặc, bạn có thể sử dụng các hàm HOUR và MINUTE để trích xuất các thành phần của thời gian. Trong D2 bạn có thể sử dụng:

=HOUR(C2)&" hours, "&MINUTE(C2)&" minutes "

Bạn lấy,

nhập mô tả hình ảnh ở đây

Một lần nữa, điều này được giới hạn trong phần thời gian của bạn ít hơn một ngày. Nếu bạn có thể có nhiều lần hơn một ngày, hãy thêm số ngày:

=INT(C2)&" days, "&HOUR(C2)&" hours, "&MINUTE(C2)&" minutes "

Bây giờ bạn nhận được,

nhập mô tả hình ảnh ở đây


Tôi không theo dõi lý do tại sao bạn muốn INT (C2) trong công thức cuối cùng. Điều đó sẽ kết hợp số ngày không ghi nhãn thành số giờ, bao gồm số 0 đứng đầu nếu giá trị số phút dưới 1440. Nếu số phút trên 1440, bạn sẽ nhận được tiền tố đếm ngày khó hiểu cộng với bất kỳ số giờ còn lại nào dưới 24 (ví dụ: 25 giờ sẽ hiển thị là 11 giờ). Không có INT, nó chỉ hiển thị phần phút ít hơn cả ngày. Thêm 1500 vào ví dụ của bạn để xem cách nó hiển thị.
sửa chữa1234

@ fixer1234, nếu không sử dụng INT thì từ 1 đến 183 excel tạo ra các giá trị chiều dài đầy đủ như cho 1 là 0,0006944444444444440 giờ.
Rajesh S

1
Nếu bạn xóa "INT (C2) &" khỏi công thức, bạn sẽ thấy đó không phải là trường hợp. Ngoài ra, chỉ đơn giản là định dạng, giống như giải pháp đầu tiên, chỉ hoạt động trong thời gian ít hơn một ngày. Đề xuất: loại bỏ hàm INT vì điều đó chỉ gây ra lỗi và chỉ cần thêm một cảnh báo rằng các công thức hoạt động trong thời gian ít hơn một ngày. OP có thể không có thời gian lâu hơn thế, trong trường hợp đó, hoặc sẽ giải quyết vấn đề.
fixer1234

Tôi đã có quan điểm của bạn. Những người khác là Nếu tôi thêm = If (INT (A2)> 0, INT (A2) & "Ngày (s) ,,,. Sau 1500, nó cho 1 ngày 1 giờ.
Rajesh S

@ fixer1234, cảm ơn bạn đã nêu ra những điểm hữu ích ,, bây giờ tôi đã bao gồm ảnh chụp màn hình sẽ giúp người đọc làm việc với dữ liệu 24 giờ :-). Cuối tuần vui vẻ.
Rajesh S
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.