› Excel e gli applicativi Microsoft Office › stringa.estrai con valori numerici
-
AutoreArticoli
-
da un formato di data fatto in questo modo
xx-xx-xx (ad esempio messo in B1)
in A1 vorrei estrarre solo le prime due cifre della data, che sarebbe quindi il giorno, e ho usato questa formula
=+INT(STRINGA.ESTRAI(B1;1;2))
Tutto funziona finchè il giorno è >= del valore 10, però ad esempio, se c'è scritto 01,o 02 o 09, la formula mi restituisce rispettivamente 10, 20 o 90.
A me basterebbe il testo, quindi 01,o 02 o 09, oppure senza lo 0 davanti. Come fare?
Premetto che i trattini sono di semplice formato, quindi la cella è lunga 6 caratteri
Avrei pensato a questo metodo, che dovrebbe funzionare:
=SE.ERRORE(INT(STRINGA.ESTRAI(B1;LUNGHEZZA(B1)-5;2));INT(STRINGA.ESTRAI(B1;LUNGHEZZA(B1)-4;1)))
Secondo voi è sicuro?
Buongiorno. Giorno(B1). Frmato cella personalizzato 00
Buongiorno. Giorno(B1). Frmato cella personalizzato 00
Non mi sembra funzionare
Ad esempio con il valore visualizzato 27-04-20, mi dà come risultato 19
Ciao
forse sbagli qualcosa....se scrivi
=GIORNO(B1) ti restituisce il numero del giorno se in B1 hai 27-04-20 (ed è una data che puoi verificare mettendogli il formato GENERALE ti deve restituire 43948) ti deve restituire per forza
27 se lo vuoi come testo =TESTO(GIORNO(B1);"00")
Ciao D@nilo. Hai ragione se ti limiti a copiare la data senza impostare il formato cella, ma avevo specificato che si deve utilizzare il formato 00 (oppure 0).
Allegati:
You must be logged in to view attached files.Buonasera
@santuberto rispondevo a Nicopana
Quello che hai scritto è giustissimo....se quello che scrive è effettivamente una data con la funzione GIORNO ottiene il numero del giorno....Non si scappa l'altra era un alternativa per avere il numero come testo...
@nicopana la formula sostanzialmente è giusta bisogna gestire i numeri a 2 cifre...ci sono svariati modi di lavorare sulle stringhe ma se il dato input è una data perché andarsi a complicare la vita?
In realtà il dato in input non è una data, ma in formato personalizzato 00-00-00, quindi che in partenza sia un testo, o quantomeno non una data, ed ecco perché forse avevo quel risultato sbagliato applicando poi semplicemente il formato 00.
Detto ciò quella formula che ho ipotizzato, pensate sia giusta?
io ho provato e non mi funziona.
Ma credo che sia dovuto al fatto che appena ho inserito la tua formattazione, la cella è stata riconosciuta come data e quindi l'ha cambiata in automatico.
Se riesci ad allegare il file proviamo a vedere se funziona
La data viene scritta in D5, per poi generare la riga con i dati, cliccare sul tasto ed essere ricopiata con la macro dalla 12 in giù. Il giorno dovrei estrarlo nella colonna B
Allegati:
You must be logged in to view attached files.Ciao
ma è normale che ottieni dei dati errati esempio in C12 hai 03-05-20 ma non è una data è il numero
30520 formattato in personalizzato 00-00-00 quindi non ti potrà mai restituire il giorno la data corretta per excel del 3 maggio 2020 è 43954.....se scrivi 30520 è il 23 luglio 1983.....ma perchè complicarsi la vita cosi scrivi la data correttamente e poi estrai tutto quello che vuoi
ho dovuto creare quel formato perché per i data entry è più facile inserire la data senza dover inserire tra giorni mesi e anni lo /, inserendo solo i numeri dal tastierino era più veloce, ecco spiegata la motivazione, e il perché avevo pensato ad una formula di estrazione basata su un testo standard comunque
-
AutoreArticoli
