Google E-Tablolarımda bir zaman deltasını nasıl hesaplarım?


73

Kabaca şuna benzeyen bir Google Spreadsheet var:

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

Şu anda, günün iki saati arasındaki dakika sayısını elle doldurursam. Bir zaman deltası hesaplamanın ve elektronik tablonun benim için yapmasını sağlamanın basit bir yolu var mı?

Yanıtlar:


65

Google, Süre adlı yeni bir sayı biçimi ekledi. Başlangıç ​​ve bitiş alanlarınızı Format -> Number -> Timeve hesaplama alanınızıFormat -> Number -> Duration

Bunu yaptıktan sonra, cevapta Stefano Palazzo tarafından belirtildiği gibi farkı almak için alanları çıkarabilirsiniz.


51

Evet, zaman alanlarınız doğru formatlanmışsa ( Format → Numara → Zaman tıklayın ) sadece zamanları ekleyebilir ve çıkarabilirsiniz:

=C2-B2

veya

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

Bu size zaman olarak delta verecek HH:MM:SS. Ve dakika sayısını hesaplamak istiyorsanız, kullanabileceğiniz Hour(), Minute()ve Second()o sahada işlevleri:

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

Elbette, artık saniye varsa, saat dilimi değişir veya bir olay 24 saatten uzun sürerse, sonuçları manuel olarak ayarlamanız gerekir.

Bir uyarı

Bir olay gece yarısını geçerse, 23: 50'den 00: 10'a kadar söyleyin, bu olumsuz bir zaman olarak ortaya çıkacaktır!

Bu olayların 'doğru' şekilde ele alınması için "24:10" ya da olayı ikiye bölebilirsiniz.

En iyi yol

Verileri girmek biraz zor olsa da, bunu yapmanın en güvenilir yolu, başlangıç ​​ve bitiş alanlarını "Tarih Saati" ve delta alanını "Saat" olarak işaretlemektir;

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

Bu artık işe yaramadı. Bence Format> Numara> Saat'i (zamana karşı) seçmeniz gerekir. Basit saatlik farkı çıkarmaya çalışırken çok garip bir ondalık sayı alıyorum.
Elijah Lynn

@ElijahLynn bu garip sayı gün sayısıdır. 24 ve 60 arasındaki çarpma zamanları size dakika sayısını verir
Jacob Jan Tuinstra 12

1
Birisi bir hücrede tarih ve saat almak istiyorsa, sadece ekleyerek birleştirebilir: A1 + B1.
wzbozon,

9

Aşağıdaki formülü eklerseniz, D2dakikalar otomatik olarak hesaplanır:

formül

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

Açıklaması

Ondalık biçime göre, zamanlar arasındaki fark gün cinsinden ifade edilir. Bu nedenle, zamanları 24 saat 60 ile çarpmak dakika verir

düşünce

Bir önkoşul var: D sütununun 'normal' olarak oluşturulması gerekiyor.

Örnek

Yarattığım örnek dosyaya bakın: Delta Time


7

Daha sağlam bir çözüm için özel bir İşlev kullanıyoruz.

1. Özel işlev ekleme

Script Editor'ı kullanma ( https://developers.google.com/apps-script/execution_custom_functions adresindeki talimatları izleyin ) - yazar:

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

2. Formüler ekleyin

Sonra hücrede yazıyor:

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

Bu, Epoch milisaniyesindeki farkı dakikalara dönüştürür.


... Bunu yaptım, dönüştürdüğümden ve saniyeye dönüştürdüğümden emin olmak için yaptım (milisaniyeden):function toEpoch (data) { return new Date(data) / 1000; }
user1278519

7

Çok fazla deney yaptım. Bu, Google Spreadsheets’te bir zaman deltası hesaplamanın en kolay yoludur. Aşağıdaki formülü içeren hücreyi formatlayın:

Formül hücre formatı

Biçim> Sayı> Diğer Biçimler> Diğer tarih ve saat biçimleri , "saniye" yi silin ve :. Ardından, Bitiş saati biçimlendirmek ve bu gibi zaman hücrelerini başlatın: h:mm am/pm.

Giriş zamanı hücre formatı

Formülü kullanın =abs(end time - start time). Bu size mutlak bir değer verir, böylece negatif zaman değerleri olmaz.



4

Zaman deltalarınızın gün cinsinden ölçülmesini istiyorsanız, kullanın.

=DAYS(end_date, start_date)

Bu doğru. Ancak buraya, aradaki farkı bulmaya geldim (ve başka bir yerde bulduğumda cevap vermek için daha sonra geri döndüm), bu da cevabımın aynı durumdaki başkalarına fayda sağlayabileceği varsayımına yol açtı. Böyle bir konu olduğu için, özellikle başlık ölçü birimini belirtmediğinden, yeni bir soru açmaya değeceğini düşünmedim. Ama bu sadece benim mantığımdı. Ne düşünüyorsun?
e18r

Pnuts Kullanışlı ancak sorunun kapsamı dışında kalan bir cevap bulursanız, soruyu da düzenleyebilirsiniz (bu durumda dakikalar, saatler veya günler veya her neyse). Ben sadece bir adamım, soru 100.000 görüşe sahip.
Stefano Palazzo

3

Sen de deneyebilirsin TIMEVALUE().

Yukarıdaki durumda, çözüm şöyle olacaktır:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 MINUTES içindeki zaman farkını verir.


Hoşgeldin Sujeeth! İyi cevap, okumayı kolaylaştırmak için bazı formatlar ekledim.
Vidar S. Ramdal

1

Google E-Tablolar’da, aşağıdaki formülü kullandım

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

bana ondalık saatlerde farkı ver.


0

Bu formülü kullanıyorum:

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

sonra

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

-1

=(C2-B1)*1440 sonra biçimi "Düz Metin" olarak ayarlayın.


-1

Kişisel başvurum için:

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

Bu benim için çalıştı:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);Hücre Format \ Time \ Duration olarak biçimlendirin.

Gerçek durum için: Stefano Palazzo'nun yorumlarından ilham alan formül.


ps date, bir sonraki güne StopTime devredilse bile StartTime ile ilişkilidir, bu yüzden EndTime tarihine + 1 ekledim. EndTime cihazınız bir günden fazla devrediyorsa, +1 açıkçası artık çalışmaz.
Bob K,

-2

Zaman deltasının gün cinsinden ifade edildiğini kabul ediyorum, bu yüzden dakikaları tekrar söylemek gerekirse, farkı 24 x 60 olan 1440 ile çarpmanız gerekir.

Bugün bu sorunu yaşadım ve Google Dokümanlar elektronik tablosunda geçerli saati almak için diğer basit yöntemden CONTROL:hücreye girmekten bahsettiğimi düşündüm . Bunu hem Başlangıç ​​hem de Bitiş Zamanları hücreleri için kullanabilirsiniz.

Geçerli tarihi bir hücreye girmeniz gerekirse, bu CONTROL;


1
Paylaştığın için teşekkürler, ama sorunun cevabı değil. Devamı tur bizim de yardım merkezindeki . Web Uygulamalarına Hoş Geldiniz !!
Jacob Jan Tuinstra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.