Làm cách nào để tính toán đồng bằng thời gian trong Bảng tính Google của tôi?


73

Tôi đã có một Bảng tính Google trông giống như thế này:

 Date        | Start time  | End time    | Minutes
 ------------+-------------+-------------+-----------
 1/11/2012   | 11:39       | 12:41       | ?!
 ------------+-------------+-------------+-----------
             |             |             | 

Ngay bây giờ nếu tôi điền số phút giữa hai lần trong ngày bằng tay. Có cách nào đơn giản để tính toán đồng bằng thời gian và để bảng tính làm điều đó cho tôi không?

Câu trả lời:


65

Google đã thêm một định dạng số mới gọi là Thời lượng. Đặt trường bắt đầu và kết thúc Format -> Number -> Timecủa bạn thành và trường tính toán của bạn thànhFormat -> Number -> Duration

Một khi bạn đã làm xong, bạn có thể trừ đi các trường để có được sự khác biệt như được ghi nhận bởi Stefano Palazzo trong câu trả lời của anh ấy.


51

Có, Nếu các trường thời gian của bạn được định dạng chính xác (nhấp vào Định dạng → Số → Thời gian ), bạn chỉ có thể thêm và trừ thời gian:

=C2-B2

hoặc là

21:58:00 - 20:44:00 = 1:14:00

Điều này sẽ cung cấp cho bạn đồng bằng thời gian như HH:MM:SS. Và nếu bạn muốn tính số phút, bạn có thể sử dụng Hour(), Minute()Second()các chức năng về lĩnh vực đó:

=(Hour(D2) * 60) + Minute(D2) + (Second(D2) / 60)

Tất nhiên, nếu có các bước nhảy vọt, thay đổi múi giờ hoặc nếu một sự kiện kéo dài hơn 24 giờ, bạn vẫn sẽ phải điều chỉnh kết quả theo cách thủ công.

Một lời cảnh báo

Nếu một sự kiện kéo dài quá nửa đêm, hãy nói từ 23:50 đến 00:10, điều này sẽ hiển thị dưới dạng thời gian tiêu cực!

Để xử lý các sự kiện này một cách chính xác 'chính xác', bạn có thể đặt "24:10" hoặc chia sự kiện thành hai.

Một cách tốt hơn

Mặc dù khó nhập dữ liệu hơn một chút, cách đáng tin cậy nhất để làm điều này là đánh dấu trường kết thúc và kết thúc là "Ngày giờ" và trường delta là "Giờ", sẽ giống như sau:

Beginning          End                  Delta
8/1/2013 0:00:00   8/2/2013 12:30:00    36:30:00

Điều này dường như không hoạt động nữa. Tôi nghĩ bạn cần chọn Định dạng> Số> Giờ (so với thời gian). Tôi nhận được một số thập phân rất kỳ lạ khi tôi cố gắng trừ đi sự khác biệt hàng giờ đơn giản.
Elijah Lynn

@ElijahLynn số lẻ này là số ngày. Nhân số lần 24 và 60 sẽ cho bạn số phút,
Jacob Jan Tuinstra

1
Nếu ai đó muốn nhận ngày và thời gian trong một ô, anh ta có thể hợp nhất chỉ bằng cách thêm: A1 + B1.
wzbozon

9

Nếu bạn thêm công thức sau vào D2, thì số phút được tính tự động:

Công thức

=ARRAYFORMULA(IF(ISBLANK(B2:B)=FALSE,((C2:C-B2:B)*24*60),""))

Giải thích

Sự khác biệt giữa các lần, theo định dạng thập phân, được biểu thị bằng ngày. Do đó nhân số lần 24 lần 60 sẽ mang lại số phút

Ghi chú

Có một điều kiện tiên quyết: cột D cần được định dạng là 'bình thường'.

Thí dụ

Xem tập tin ví dụ tôi đã tạo: Giờ Delta


7

Để có giải pháp mạnh mẽ hơn, chúng tôi sử dụng Chức năng tùy chỉnh.

1. Thêm chức năng tùy chỉnh

Sử dụng Trình chỉnh sửa tập lệnh (làm theo hướng dẫn trong https://developers.google.com/apps-script/execut_custom_fifts ) - write:

function toEpoch (indate) {
  return indate.getTime();
}

2. Thêm hình thức

Sau đó trong ô, viết:

=(toEpoch(C2)-toEpoch(B2)) / 60*1000

Mà chuyển đổi sự khác biệt trong Epoch mili giây thành phút.


... Tôi đã làm điều này, để đảm bảo chuyển đổi nó và chuyển đổi nó thành giây đã (từ mili giây): function toEpoch (data) { return new Date(data) / 1000; }
user1278519

7

Tôi đã thực hiện rất nhiều thử nghiệm. Đây là cách dễ nhất để tính toán đồng bằng thời gian trong Bảng tính Google. Định dạng ô chứa công thức như thế này:

Định dạng ô công thức

Định dạng> Số> Định dạng khác> Định dạng ngày và giờ khác , xóa "thứ hai" và :. Sau đó, định dạng các ô Thời gian kết thúc và Thời gian bắt đầu như thế này : h:mm am/pm.

Định dạng ô thời gian đầu vào

Sử dụng công thức =abs(end time - start time). Điều này mang lại cho bạn một giá trị tuyệt đối, do đó sẽ không có giá trị thời gian âm.



4

Nếu bạn muốn đồng hồ thời gian của bạn được đo bằng ngày, hãy sử dụng

=DAYS(end_date, start_date)

Đúng. Tuy nhiên, tôi đến đây cố gắng tìm sự khác biệt theo ngày (và quay lại sau để đưa ra câu trả lời khi tôi tìm thấy nó ở nơi khác), điều này dẫn đến giả định rằng câu trả lời của tôi có thể có lợi cho những người khác trong tình huống tương tự của tôi. Vì đó là một chủ đề liên quan như vậy, tôi không nghĩ rằng nó đáng để mở một câu hỏi mới, đặc biệt là vì tiêu đề không chỉ định đơn vị đo lường. Nhưng đó chỉ là lý do của tôi. Bạn nghĩ sao?
e18r

@pnuts Nếu bạn tìm thấy một câu trả lời hữu ích nhưng hơi ngoài phạm vi câu hỏi, bạn cũng có thể chỉ cần chỉnh sửa câu hỏi (trong trường hợp này là nói phút hoặc giờ hoặc ngày hoặc bất cứ điều gì). Tôi chỉ là một chàng trai, câu hỏi có 100.000 lượt xem.
Stefano Palazzo

3

Bạn có thể thử TIMEVALUE()như là tốt.

Trong trường hợp trên, giải pháp sẽ là:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 sẽ cung cấp cho bạn sự khác biệt thời gian trong PHÚT.


Chào mừng Sujeeth! Câu trả lời tốt, tôi đã thêm một số định dạng để dễ đọc hơn.
Vidar S. Ramdal

1

Trong Google Sheets, tôi đã sử dụng công thức như dưới đây

=Round((hour(A2-A1)*60 + minute(A2-A1))/60,2)

để cho tôi sự khác biệt trong giờ thập phân.


0

Tôi sử dụng công thức này:

=HOUR(C2-B2)*60+MINUTE(C2-B2)

sau đó

Format -> Number -> More Formats -> Custom number format -> #,##0

-1

=(C2-B1)*1440 sau đó đặt định dạng thành "Văn bản thuần túy".


-1

Đối với ứng dụng cá nhân của tôi:

StartTime (columnA)| EndTime(Column B)| Date (Column C)

Điều này làm việc cho tôi:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);Định dạng ô là Định dạng \ Thời gian \ Thời lượng.

Đối với điều kiện thực tế: công thức lấy cảm hứng từ ý kiến ​​của Stefano Palazzo.


ngày ps được liên kết với StartTime ngay cả khi StopTime được chuyển sang ngày hôm sau, đó là lý do tại sao tôi đã thêm +1 vào ngày cho EndTime. Nếu EndTime của bạn trôi qua hơn một ngày, +1 rõ ràng sẽ không hoạt động nữa.
Bob K

-2

Tôi đồng ý rằng đồng bằng thời gian được biểu thị bằng ngày vì vậy để quay lại nói phút, bạn nên nhân số chênh lệch với 1440, tức là 24 x 60.

Tôi đã gặp vấn đề này ngày hôm nay và nghĩ rằng tôi sẽ đề cập đến phương pháp đơn giản khác để có được thời gian hiện tại trong bảng tính Google Docs là nhập CONTROL:vào ô. Bạn có thể sử dụng điều này cho cả các ô Bắt đầu và Thời gian kết thúc.

Nếu bạn cần nhập ngày hiện tại trong một ô, thì điều này đạt được bằng cách CONTROL;


1
Cảm ơn đã chia sẻ, nhưng nó không phải là một câu trả lời cho câu hỏi. Đọc thêm tour mà trong trung tâm trợ giúp của chúng tôi . Chào mừng bạn đến với Ứng dụng web !!
Jacob Jan Tuinstra
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.