Poiché i tuoi dati di input contengono date precedenti al 1900, le cose diventano un po 'più complicate. Il modo più semplice per gestirlo è lavorare esclusivamente con le rappresentazioni testuali delle date.
Se in realtà non hai bisogno della data completa, ma richiedi solo l'anno, inserisci questa formula di base in qualsiasi cella della riga 2:2
:
=IFERROR(VALUE(LEFT(A2,4)),VALUE(RIGHT(A2,4)))
Per la data completa, la formula è un po 'più complicata:
=IF(MID(A2,3,1)="-",A2,CHOOSE((LEN(A2)-4)/3+1,"01-01","01"&MID(A2,5,3),RIGHT(A2,2)&MID(A2,5,3))&"-"&LEFT(A2,4))
Spiegazione:
La versione predefinita della formula della data completa è la seguente:
=
IF(
MID(A2,3,1)="-",
A2,
CHOOSE(
(LEN(A2)-4)/3+1,
"01-01",
"01"&MID(A2,5,3),
RIGHT(A2,2)&MID(A2,5,3)
)
&"-"&LEFT(A2,4)
)
È abbastanza semplice. L'unica cosa leggermente complicata è il primo argomento della CHOOSE()
funzione (LEN(A2)-4)/3+1
,. In questo modo le lunghezze delle stringhe della data di input vengono mappate su indici basati su 1, ovvero → → .[yyyy, yyyy-mm, yyyy-mm-dd, dd-mm-yyyy]
[4, 7, 10, 10]
[1, 2, 3, 3]
Appunti:
- La formula predefinita funziona effettivamente se è stata inserita.
Avvertenze:
- Le formule presuppongono che tutte le date di input siano memorizzate come testo. (Le formule sono facilmente modificabili per soddisfare le date memorizzate come numeri di serie.)
- Se le date di input contengono spazi iniziali / finali, le formule precedenti potrebbero non funzionare correttamente. Non funzioneranno sicuramente con spazi (o altri caratteri) altrove nelle stringhe di date. Sostituendo tutti
A2
i messaggi nelle formule con TRIM(A2)
, o meglio ancora con SUBSTITUTE(A2," ","")
, si risolverà questo problema.