Zaman verilerini excel olarak mm: ss biçiminde girme (baştaki 0 ​​olmadan: saatlerce)


16

Zaman verilerini excel sayfasına mm: ss formatında girmek istiyorum. Sorun şu - hücre biçimi mm: ss olmasına rağmen, ben böyle veri girerseniz:

12:33 Kaydedilen gerçek değer 12 saat 33 dakikadır. 12 dakika 33 saniye istersem 0:12:33

Hücrenin 12:33 değerini mm: ss olarak kabul etmesinin bir yolu var mı?


2
To gösterilecek daha büyük dakika 59, hücreyi biçimlendirmek [MM]:SS. Gibi: 02:10:45daha sonra 130:45bunun yerine görüntülenir. Ama görünüşe göre bu girişler için çalışmıyor.
Arjan

Yanıtlar:


6

Zaman evrensel olarak Saat: Dakika: Saniye biçiminde girilir, bu nedenle bu giriş biçimini değiştiremezsiniz. Ekran biçimini açıkça değiştirebilirsiniz, ancak maalesef giriş biçimine uymanız gerekir.


Biçimlendirme, kullanıcının gerçekten yazdıklarını maskelediğinden, komut dosyaları kullanmak bile yardımcı olmayacağından, sorunum için bir çözüm yok gibi görünüyor.
Dani

Yani evrensel bir biçimdir hh:mm:ssya h:mm:ss? @Steve
Shayan

h:mm:ss@Shayan olduğunu söyleyebilirim
Steve

14

Steve tarafından yanıtlandığı gibi , Excel kullanıcı girişini 12:3312s33m olarak yorumlar. Excel'in kullanıcı girdisini kabul etme şeklini değiştiremezsiniz.

12:33Yorumda belirttiğiniz gibi, kullanıcılar 12m33s giriyordu.

İşte hesaplama için doğru değeri elde etmek için bir geçici çözüm .

  1. A1 hücresini (kullanıcı girişi, ör. 12:33)[h]:mm
  2. =A1/60B1 hücresine formül girin
  3. B1 hücresini şu şekilde biçimlendir: [m]:ss

Görüntülenen değer A1 ve B1'de aynı olmalıdır. Ancak, B1 istediğiniz gerçek değer olacaktır .


2
Güzel. Veya: girdiyi dize / metin değeri olarak biçimlendirin ve dönüştürmek için benzer bir şeyTIMEVALUE kullanın .
Arjan

1
A1 ve B1'de gösterilen değerler mm> 23
Alaa M.Temmuz

1
@AlaaM. bulduğunuz için teşekkürler. cevap sorunu gidermek için güncellenir. kullanın [h]ve[m]
wilson

3

Bir çözümü var! Bu VBA kodunu çalışma sayfası modülünüze yerleştirin, yani:

  1. Visual Basic Düzenleyicisi'ni ( Alt- F11) açın
  2. Sol üst ağaç görünümünde, saatlerinizi girmek istediğiniz sayfayı çift tıklayın
  3. Merkezi kod paneline aşağıdaki kodu yerleştirin.
  4. VBE'yi kapatın

Bu kodu kullanın:

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

Verileri girdiğiniz aralığı önceden biçimlendirdiyseniz, ilk satır olarak bu satırı kullanın:

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

Bunun, her zaman girdiğinizde veya 0 ile 1 arasında bir değer girip değeri ve biçimi değiştireceğini unutmayın! Belirli bir sütuyla sınırlamak istiyorsanız, bu satırı ekleyin:

If Target.Column <> 3 Then Exit Sub

veya belirli bir aralıkla sınırlamak için bu satır

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

2

Çalışma saatlerini tamamlamanın en kolay yolu

Hücreyi Biçimlendir (A1) hh:mm

Normal giriş ( 07:22)

Hücreyi Biçimlendir (B1) hh:mm

Normal giriş ( 16:00)

Hücreyi Biçimlendir (C1) h:mm

Tüm verileri aşağıdaki hücreye (C1) girin: =(A1+B1)/60


1

Süre olarak istediğiniz hücreyi / sütunu vurgulayın, "Hücreleri Biçimlendir" için fareye sağ tıklayın. Süreyi saat ve dakika biçiminde girmek istiyorsanız "Özel" e gidin ve "s: dd" için arama yapın. Saniyeyi de dahil etmek istiyorsanız, "s: dd: ss" düğmesini tıklayın. Bundan sonraki toplam süreyi bile ekleyebilirsiniz.

Bu yardımcı olur umarım.


1

Dakikaları A sütununa sonra saniye sayısını B sütununa girmek en iyi şekilde bulurum. Sonra sütunları toplayabilirsiniz. Hepsi normal sayı biçimi olarak.

Daha sonra sütun B'deki toplamı 60'a bölerek INT'yi Col A Sum'a ekleyerek saniye> 60'ı dakikaya dönüştürün ve kalan MOD'u sütun B'de bırakın.

Alternatif olarak, formül C'ye ondalık sayı verecek şekilde ondalık sayı olarak sütun C'ye sahip olabilirsiniz = (A1+(B1/60)). Col C'nin altında bir toplam yapın, ardından ondalık kısmı tekrar Saniyeye dönüştürmek için bir formül uygulayın, örneğin C22toplamın tutulduğu yer, daha sonra C23formülü girin =MOD(C22,1)*60.

Şimdi içindeki toplamları da içeren toplam dakikaları göstermek için A23formülü girin .=INT(C22)C22


1

Aynı sorunu yaşadım ve bulduğum çözüm: TIMEİşlevi kullanarak formülü girin , bu da bir zaman matrisi olarak oluşturur =TIME(H,M,S)ve istediğiniz gibi biçimlendirir. Her seferinde 0 saat girmek zorundasınız çünkü matematik ama bu her şeyi sonsuz derecede daha uygulanabilir hale getiriyor.


0

Yukarıdakilere çözüm. h:mmBiçimi kullanırken , excel 23'ün üzerine çıkmanıza izin vermez. Biçiminizdeki saatlere köşeli ayraç ekleyin [h]:mmve 23'ün üzerine çıkmakta özgürsünüz.

Değeri saniye cinsinden hesaplamak için, hücreyi "genel" sayı biçimine ayarlayın ve ardından aşağıdaki formülü yazın

=HOUR(A1)*60+MINUTE(A1)
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.