Excel modifica in modo incoerente il formato delle celle DATE


0

Colonna 1 = Cosa ho inserito nella cella.
Colonna 2 = Quale barra della formula viene visualizzata quando è selezionata la cella.
Colonna 3 = Quale cella mostra quando la cella non è selezionata.

     1    |    2      |    3
-----------------------------------
 30-07-17 | 30-07-17  | 30-07-17
 10-08-17 | 10/8/2017 | 08-10-2017
 13-08-17 | 13-08-17  | 13-08-17
 09-09-17 | 9/9/2017  | 09-09-2017

Ho provato a digitare nuovamente, ho provato a cambiare formato, ho provato a copiare e incollare il formato: niente funziona; le righe 2 e 4 sono sempre così, anche se il formato è lo stesso per tutte le celle. Che c'è ? È un bug in Excel?

Sono su Windows 10, usando Excel 2016.

AGGIORNAMENTO: in base agli input forniti da @ScottCraner: se la stringa DATE nella cella non è valida in base alle impostazioni locali (ad es. Quando MM = 13 o 30) la stringa non verrà modificata, altrimenti verrà visualizzato DATE in un formato (ad es. "DD -MM-AAAA ", che può mescolare MM e GG).
Devo digitarlo in "MM-GG-AAAA" e verrà visualizzato nel formato "GG-MM-AAAA", che è quello che voglio.

Una parte è stata risolta, ma i dubbi rimangono:
quando DATA non è valida, perché Excel non mostra alcun avviso?
Righe 2 e 4, perché "-" si trasforma in "/"?

UN ALTRO AGGIORNAMENTO:
Con ulteriori informazioni da @RonRosenfeld, penso che il problema sia stato risolto.
(1) Se la stringa di immissione DATE non è valida (in base alle impostazioni internazionali), la cella verrà visualizzata così com'è, senza formattazione.
(1A) La barra della formula mostrerà anche il testo così com'è.
(1B) In generale, non ci saranno notifiche all'utente. Se l'utente desidera ricevere notifiche per questo errore, deve utilizzare la convalida dei dati.
(2) Se la stringa di immissione DATE è valida (in base alle impostazioni internazionali), la cella verrà visualizzata nel formato fornito dall'utente.
(2A) La barra della formula la mostrerà in un'impostazione breve regionale.
(2B) Non c'è modo di recuperare esattamente ciò che l'utente ha digitato.

Excel sta cambiando automaticamente le cose, il che è un po 'confuso!
Grazie @ScottCraner e @RonRosenfeld!


1
Pensa che stai inserendo una data, mentre gli altri Excel vedono come stringhe in quanto non possono essere convertite in date. Se vuoi le date, devi controllare le impostazioni locali come Excel pensa che la data locale mm/dd/yyyynon lo sia dd/mm/yyyy. Se si desidera stringhe, modificare l'intera colonna in testo e reinserire i dati.
Scott Craner,

@ScottCraner, suona bene, ma avevo provato a impostare il formato delle celle su gg / mm / aa; Il problema persiste. Forse il formato della cella è solo da visualizzare, ma devo digitare mm / gg / aa? Sì, ho riprovato ora, funziona! Grazie !
Prem

@ScottCraner, ho ancora qualche dubbio: perché la colonna 1 si trasforma in colonna 2, quando non è stato possibile convertire la DATA? Qui, "-" cambia in "/"!
Prem

1
Per rispondere ai tuoi dubbi: se vuoi che Excel accetti solo date valide e ti dia un avvertimento, usi la Convalida dei dati. La differenza tra ciò che vedi nella barra della formula e la cella quando hai inserito una data valida: la barra della formula mostrerà le date nel formato dell'impostazione della data breve di Windows Regional del computer. La cella mostrerà la data formattata in base al formato numerico della cella di Excel.
Ron Rosenfeld,

@RonRosenfeld, grazie per le informazioni! Lo includerò in questione
Prem

Risposte:


1

Con Info di @ScottCraner e @RonRosenfeld, penso che il problema sia stato risolto.
(1) Se la stringa di immissione DATE non è valida (in base alle impostazioni internazionali), la cella verrà visualizzata così com'è, senza formattazione.
(1A) La barra della formula mostrerà anche il testo così com'è.
(1B) In generale, non ci saranno notifiche all'utente. Se l'utente desidera ricevere notifiche per questo errore, deve utilizzare la convalida dei dati.
(2) Se la stringa di immissione DATE è valida (in base alle impostazioni internazionali), la cella verrà visualizzata nel formato fornito dall'utente.
(2A) La barra della formula la mostrerà in un'impostazione breve regionale.
(2B) Non c'è modo di recuperare esattamente ciò che l'utente ha digitato.

Excel sta cambiando automaticamente le cose, il che è un po 'confuso!
Grazie @ScottCraner e @RonRosenfeld!


0

Usa la formula = TESTO (A1, "gg-mm-aaaa") Cambia in base al tuo formato specifico. È possibile che si desideri cancellare il formato delle celle in cui si intende utilizzare la formula.


benvenuto su StackOverflow !! grazie per la tua soluzione !!
Prem

0

Ho avuto un problema come questo con una macro. Il problema si basa sulla var locale per le date.

Puoi forzare una data come questa =Day("A2")&"/"&Month("A2")&"/"&Year("A2")Funzionerà solo se hai bisogno di stringhe.

Inoltre c'è questo "strano" (almeno per me) numero di formato "m / g / aaaa", questo ti porterà var locale e produrrà la data corretta. Questo ha funzionato per me in modo coerente, altrimenti giorni e mesi si scambieranno costantemente senza alcun logico. L'ho usato così in VBA.range(rng).FormatNumber = "m/d/yyyy"

Saluti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.