2011-01-20 08:54:31 +0000 2011-01-20 08:54:31 +0000
17
17

Wprowadzanie danych o czasie w Excelu w formacie mm:ss (bez początkowego 0: dla godzin)

Chcę wprowadzić dane o czasie do arkusza Excela w formacie mm:ss. Problem polega na tym, że chociaż format komórki to mm:ss, to jeśli wprowadzę dane w ten sposób:

12:33 to faktycznie zapisana wartość to 12 godz. i 33 min. jeśli chcę mieć 12 min i 33 sek, to muszę wpisać 0:12:33

Czy jest jakiś sposób, aby komórka akceptowała 12:33 jako mm:ss ?

Odpowiedzi (7)

14
14
14
2011-01-21 03:40:40 +0000

Jak odpowiedział Steve , Excel interpretuje dane wprowadzone przez użytkownika 12:33 jako 12h33m. Nie można zmienić tego zachowania, w jaki sposób Excel akceptuje dane wprowadzone przez użytkownika.

Jak wspomniałeś w komentarzu, użytkownicy mogliby wprowadzić 12:33, ale oznaczałoby to 12m33s.

Poniżej znajduje się rozwiązanie obejścia, aby uzyskać poprawną wartość do obliczeń.

  1. Sformatuj komórkę A1 (dane wprowadzone przez użytkownika, np. 12:33) jako [h]:mm
  2. Wpisz formułę =A1/60 w komórce B1
  3. Sformatuj komórkę B1 jako [m]:ss

Wyświetlana wartość powinna być taka sama w A1 i B1. Jednak B1 będzie rzeczywistą wartością, którą chcesz uzyskać.

7
7
7
2011-01-20 08:58:24 +0000

Czas jest powszechnie wprowadzany w formacie godzin:minut:sekund, więc nie możesz zmienić tego formatu. Możesz oczywiście zmienić format wyświetlania, ale niestety będziesz musiał przestrzegać formatu wprowadzania danych.

3
3
3
2013-03-05 12:01:12 +0000

Jest na to rozwiązanie! Umieść ten kod VBA w swoim module arkusza, czyli:

  1. Otwórz edytor Visual Basic (Alt-F11)
  2. W lewym górnym widoku drzewa kliknij dwukrotnie na arkusz, do którego chcesz wprowadzić czasy
  3. W środkowym panelu kodu umieść poniższy kod.
  4. Zamknij VBE

Użyj tego kodu:

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

W przypadku, gdy sformatowałeś już zakres, do którego wprowadzasz dane, użyj zamiast tego tej linii jako pierwszej linii:

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

Zauważ, że będzie to zmieniać wartość i format - za każdym razem, gdy wprowadzisz albo czas - albo coś, co jest pomiędzy 0 a 1! Jeśli chcesz ograniczyć to do określonej kolumny, dodaj tę linię:

If Target.Column <> 3 Then Exit Sub

lub tę linię, aby ograniczyć to do określonego zakresu

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
2
2
2
2013-09-13 13:09:04 +0000

Najprostszy sposób na wypracowanie zrealizowanych godzin

Formatuj komórkę (A1) hh:mm

Wprowadź jak zwykle (07:22)

Formatuj komórkę (B1) hh:mm

Wprowadź jak zwykle (16:00)

Formatuj komórkę (C1) h:mm

Wprowadź wszystkie dane do komórki (C1) następujące: =(A1+B1)/60

1
1
1
2017-03-26 06:37:27 +0000

Uważam, że najlepiej jest wpisać minuty w kolumnie A, a następnie sekundy w kolumnie B. Następnie można zsumować kolumny. Wszystko w normalnym formacie liczbowym.

Następnie przekonwertuj sekundy z 60 na minuty dzieląc sumę w kol. B przez 60 i dodaj INT do sumy kol. A i pozostaw resztę MOD w kol. B.

Alternatywnie możesz mieć kol. C jako liczbę dziesiętną poprzez zastosowanie formuły = (A1+(B1/60)), która da minuty w formacie dziesiętnym. W dolnej części kol. C wykonaj sumę, a następnie zastosuj formułę, aby przekonwertować część dziesiętną z powrotem na sekundy w następujący sposób: powiedzmy, że C22 jest miejscem, w którym znajduje się suma, a następnie w C23 wprowadź formułę =MOD(C22,1)*60.

Teraz w A23 wprowadź formułę =INT(C22), aby pokazać Całkowitą liczbę minut, włączając te z sumy w C22.

1
1
1
2017-11-28 06:30:48 +0000

Miałem ten sam problem i oto rozwiązanie, które znalazłem: Wprowadź formułę za pomocą funkcji TIME, która tworzy macierz czasu jako =TIME(H,M,S) i sformatuj ją tak, jak chcesz. Nadal musisz wprowadzić 0 godzin za każdym razem, ponieważ matematyka, ale to sprawia, że cała rzecz jest nieskończenie bardziej wykonalna.

0
0
0
2014-03-10 20:34:42 +0000

Rozwiązanie jak wyżej. Kiedy używasz formatu h:mm, excel nie pozwoli Ci przekroczyć 23. Dodaj nawiasy do godzin w swoim formacie [h]:mm i możesz swobodnie przekroczyć 23.

Aby obliczyć wartość w sekundach, ustaw komórkę na “ogólny” format liczbowy, a następnie wpisz następującą formułę

=HOUR(A1)*60+MINUTE(A1)