Bagaimana cara menghitung delta waktu di Google Spreadsheets saya?

73

Saya punya Google Spreadsheet yang bentuknya kira-kira seperti ini:

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

Sekarang jika saya mengisi jumlah menit antara dua kali sehari dengan tangan. Apakah ada cara langsung untuk menghitung delta waktu dan meminta spreadsheet melakukannya untuk saya?

Stefano Palazzo
sumber

Jawaban:

65

Google telah menambahkan format angka baru yang disebut Durasi. Setel bidang awal dan akhir Anda ke Format -> Number -> Timedan ke bidang perhitungan AndaFormat -> Number -> Duration

Setelah Anda selesai melakukannya, Anda dapat mengurangi bidang untuk mendapatkan perbedaan seperti dicatat oleh Stefano Palazzo dalam jawabannya.

Jacob Hulse
sumber
51

Ya, Jika bidang waktu Anda diformat dengan benar (klik Format → Nomor → Waktu ) Anda bisa menambah dan mengurangi waktu:

=C2-B2

atau

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

Ini akan memberi Anda waktu delta sebagai HH:MM:SS. Dan jika Anda ingin menghitung jumlah menit, Anda bisa menggunakan Hour(), Minute()dan Second()fungsi di bidang itu:

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

Tentu saja, jika ada lompatan-detik, perubahan zona waktu, atau jika suatu peristiwa membutuhkan waktu lebih dari 24 jam, Anda masih harus menyesuaikan hasilnya secara manual.

Sebuah peringatan

Jika satu acara berlangsung lewat tengah malam, katakanlah dari 23:50 hingga 00:10, ini akan muncul sebagai waktu negatif!

Agar acara ini ditangani 'dengan benar', Anda dapat memasukkan "24:10" atau membagi acara menjadi dua.

Cara yang lebih baik

Meskipun agak sulit untuk memasukkan data, cara yang paling dapat diandalkan untuk melakukan ini adalah dengan menandai bidang penandaan dan akhir sebagai "Tanggal Waktu" dan bidang delta sebagai "Jam", yang akan terlihat seperti ini:

Beginning          End                  Delta
8/1/2013 0:00:00   8/2/2013 12:30:00    36:30:00
Stefano Palazzo
sumber
Tampaknya ini tidak berfungsi lagi. Saya pikir Anda perlu memilih Format> Nomor> Jam (vs waktu). Saya mendapatkan angka desimal yang sangat aneh ketika saya mencoba mengurangi perbedaan per jam sederhana.
Elijah Lynn
@ElijahLynn angka ganjil ini adalah jumlah hari. Mengalikan waktu 24 dan 60 akan memberi Anda jumlah menit,
Jacob Jan Tuinstra
1
Jika seseorang ingin mendapatkan tanggal dan waktu dalam satu sel, ia dapat bergabung hanya dengan tambahan: A1 + B1.
wzbozon
9

Jika Anda menambahkan rumus berikut D2, maka risalah dihitung secara otomatis:

Rumus

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

Dijelaskan

Perbedaan antara waktu, sesuai format desimal, dinyatakan dalam hari. Oleh karena itu mengalikan kali 24 kali 60 akan menghasilkan menit

Ucapan

Ada satu prasyarat: kolom D perlu diformat sebagai 'normal'.

Contoh

Lihat contoh file yang saya buat: Delta Time

Jacob Jan Tuinstra
sumber
7

Untuk solusi yang lebih kuat, kami menggunakan Fungsi khusus.

1. Menambahkan fungsi khusus

Menggunakan Editor Skrip (ikuti instruksi di https://developers.google.com/apps-script/execution_custom_functions ) - menulis:

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

2. Tambahkan formular

Kemudian di sel, tulis:

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

Yang mengubah perbedaan dalam Epoch milidetik menjadi menit.

kurang lengkap
sumber
... Saya melakukan ini, untuk memastikan untuk mengonversinya dan mengubahnya ke detik sudah (dari milidetik): function toEpoch (data) { return new Date(data) / 1000; }
user1278519
7

Saya telah melakukan banyak eksperimen. Ini adalah cara termudah untuk menghitung delta waktu di Google Spreadsheets. Format sel yang berisi rumus seperti ini:

Pemformatan sel rumus

Format> Nomor> Lebih Banyak Format> Lebih banyak format tanggal dan waktu , hapus "kedua" dan :. Kemudian, format waktu End dan Start sel saat seperti ini: h:mm am/pm.

Input pemformatan sel waktu

Gunakan formula =abs(end time - start time). Ini memberi Anda nilai absolut, sehingga tidak akan ada nilai waktu negatif.

Natalie Kee
sumber
4

Jika Anda ingin delta waktu Anda diukur dalam beberapa hari, gunakan

=DAYS(end_date, start_date)
e18r
sumber
Itu benar. Namun, saya datang ke sini mencoba mencari perbedaan dalam hitungan hari (dan kembali lagi untuk memberikan jawaban ketika saya menemukannya di tempat lain), yang membawa saya pada asumsi bahwa jawaban saya dapat bermanfaat bagi orang lain dalam situasi yang sama. Karena ini adalah topik yang terkait, saya tidak merasa layak membuka pertanyaan baru, terutama karena judulnya tidak menentukan satuan ukuran. Tapi itu hanya alasan saya. Bagaimana menurut anda?
e18r
@ kacang Jika Anda menemukan jawaban yang berguna tetapi sedikit keluar dari ruang lingkup pertanyaan, Anda juga dapat mengedit pertanyaan (dalam hal ini untuk mengatakan menit atau jam atau hari atau apa pun). Saya hanya satu orang, pertanyaannya memiliki 100.000 pandangan.
Stefano Palazzo
3

Anda dapat mencoba TIMEVALUE()juga.

Dalam kasus di atas, solusinya adalah:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 akan memberi Anda perbedaan waktu dalam MENIT.

Sujeeth Ravindran
sumber
Selamat datang di Sujeeth! Jawaban yang bagus, saya menambahkan beberapa format untuk membuatnya lebih mudah dibaca.
Vidar S. Ramdal
1

Di Google Sheets, saya menggunakan rumus seperti di bawah ini

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

untuk memberi saya perbedaan dalam jam desimal.

Vibhu
sumber
0

Saya menggunakan rumus ini:

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

kemudian

Format -> Number -> More Formats -> Custom number format -> #,##0
Rahmat Ihsan
sumber
-1

=(C2-B1)*1440 kemudian atur format ke "Teks Biasa".

Eric
sumber
-1

Untuk aplikasi pribadi saya:

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

Ini berfungsi untuk saya:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);Format sel sebagai Format \ Waktu \ Durasi.

Untuk kondisi sebenarnya: formula yang terinspirasi oleh komentar Stefano Palazzo.

Bob K.
sumber
tanggal ps dikaitkan dengan StartTime bahkan jika StopTime bergulir ke hari berikutnya, itulah sebabnya saya menambahkan +1 ke tanggal untuk EndTime. Jika EndTime Anda bergulir lebih dari satu hari, +1 jelas tidak akan berfungsi lagi.
Bob K
-2

Saya setuju bahwa waktu delta dinyatakan dalam beberapa hari sehingga untuk kembali mengatakan menit, Anda harus mengalikan selisihnya dengan 1440, yaitu 24 x 60.

Saya memiliki masalah ini hari ini dan berpikir saya akan menyebutkan metode sederhana lain untuk mendapatkan waktu saat ini dalam spreadsheet Google Documents adalah dengan memasukkan CONTROL:dalam sel. Anda dapat menggunakan ini untuk sel Mulai dan Akhir Kali.

Jika Anda perlu memasukkan tanggal saat ini di sel, maka ini dicapai oleh CONTROL;

Barry Welford
sumber
1
Terima kasih telah berbagi, tetapi itu bukan jawaban untuk pertanyaan itu. Baca lebih banyak tur di pusat bantuan kami . Selamat datang di Aplikasi Web !!
Jacob Jan Tuinstra