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

Inserire i dati dell'ora in excel nel formato mm:ss (senza lo 0 iniziale: per le ore)

Advertisement

Voglio inserire dati temporali in un foglio excel nel formato mm:ss. Il problema è che anche se il formato della cella è mm:ss, se inserisco i dati in questo modo:

12:33 il valore reale memorizzato è 12 ore e 33 min. se voglio 12 min e 33 sec, devo inserire 0:12:33

C'è un modo per far accettare alla cella 12:33 come mm:ss?

Advertisement
Advertisement

Risposte (7)

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

Come risposto da Steve , Excel interpreta l'input dell'utente 12:33 come 12h33m. Non puoi cambiare questo comportamento di come Excel accetta l'input dell'utente.

Come hai detto nel commento, gli utenti avrebbero inserito 12:33 ma intendendo 12m33s.

Ecco una soluzione alternativa per ottenere il valore corretto per il calcolo.

  1. Formattate la cella A1 (input dell'utente, es. 12:33) come [h]:mm
  2. Inserisci la formula =A1/60 nella cella B1
  3. Formatta la cella B1 come [m]:ss

Il valore visualizzato dovrebbe essere lo stesso in A1 e B1. Tuttavia, B1 sarà il valore effettivo che volete.

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

Il tempo è universalmente inserito nel formato Ore:Minuti:Secondi, quindi non puoi cambiare questo formato di inserimento. Puoi ovviamente cambiare il formato di visualizzazione, ma purtroppo dovrai attenerti al formato di inserimento.

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

C'è una soluzione! Inserisci questo codice VBA nel modulo del tuo foglio di lavoro, cioè:

  1. Apri l'editor di Visual Basic (Alt-F11)
  2. Nella struttura ad albero in alto a sinistra, fai doppio clic sul foglio in cui vuoi inserire i tuoi tempi
  3. Nel pannello centrale del codice, inserisci il seguente codice.
  4. Chiudi VBE

Usa questo codice:

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

Nel caso tu abbia già formattato l'intervallo in cui stai inserendo i dati, usa invece questa linea come prima linea:

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

Nota che questo cambierà il valore e il formato - ogni volta che inserisci o un tempo - o qualcosa che è tra 0 e 1! Se vuoi limitarlo a una certa colonna, aggiungi questa linea:

If Target.Column <> 3 Then Exit Sub

o questa linea per limitarlo a un certo intervallo

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

Il modo più semplice per calcolare le ore completate

Formattare la cella (A1) hh:mm

Inserire come normale (07:22)

Formattare la cella (B1) hh:mm

Inserire come normale (16:00)

Formare la cella (C1) h:mm

Inserire tutti i dati nella cella (C1) come segue: =(A1+B1)/60

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

Trovo che sia meglio inserire i minuti nella colonna A e poi i secondi nella colonna B. Poi si possono sommare le colonne. Il tutto come formato numerico normale.

Poi convertire i secondi > 60 in minuti dividendo la somma nella colonna B per 60 e aggiungere l'INT alla somma della colonna A e lasciare il resto MOD nella colonna B.

In alternativa puoi avere la colonna C come numero decimale avendo una formula = (A1+(B1/60)) che darà minuti decimali. In fondo a Col C fate una somma poi applicate una formula per convertire la parte decimale in secondi come segue diciamo che C22 è dove si tiene la somma poi in C23 inserite la formula =MOD(C22,1)*60.

Ora in A23 inserite la formula =INT(C22) per mostrare i minuti totali compresi quelli della somma in C22.

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

Ho avuto lo stesso problema ed ecco la soluzione che ho trovato: Inserisci la formula usando la funzione TIME, che crea una matrice di tempo come =TIME(H,M,S) e formattala come vuoi. Dovete ancora inserire 0 ore ogni volta perché la matematica, ma questo rende il tutto infinitamente più fattibile.

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

Soluzione di cui sopra. Quando usate il formato h:mm, excel non vi lascerà andare sopra il 23. Aggiungete le parentesi alle ore nel vostro formato [h]:mm e sarete liberi di andare oltre il 23.

Per calcolare il valore in secondi, impostate la cella sul formato numerico “generale” e poi digitate la seguente formula

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

Domande correlate

7
6
13
9
10
Advertisement