Condividi:        

Estrarre "numero" da stringa

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Estrarre "numero" da stringa

Postdi dipic » 10/11/09 17:19

Salve a tutti.
Ho la necessità di estrarre un numero da una stringa, ove lettere e numeri possono essere sempre diversi, ad esempio:
80P
225M
avrei la necessità di estrarre sempre con certezza il numero.
A tal proposito avrei trovato questo articolo "http://office.microsoft.com/it-it/excel/HA011549011040.aspx", ma anche dopo aver corretto i piccoli errori dovuti alla traduzione da eng a ita (nomi delle formule, virgole al posto di punti e virgola), non funziona. Corretta dovrebbe essere come segue:
=1*STRINGA.ESTRAI(A1;CONFRONTA(TRUE;VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIGHE($1:$9);1));0);CONTA.NUMERI(1*STRINGA.ESTRAI(A1;RIGHE($1:$9);1)))

Qualcuno può aiutarmi?
grazie per ogni suggerimento
dipic
Avatar utente
dipic
Utente Senior
 
Post: 106
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Sponsor
 

Re: Estrarre "numero" da stringa

Postdi Anthony47 » 10/11/09 17:31

Ma le stringhe di cui parli sono sempre come da esempio, cioe' una lettera in fondo, o la casistica e' molto piu' incasinata? Se ad esempio parti da stringhe del tipo M123N456P22Q, quale parte vuoi estrarre?

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Estrarre "numero" da stringa

Postdi dipic » 10/11/09 17:35

Di solito non ho stringhe estremamente incasinate, nei primi 5 caratteri dovrei avere il numero che mi interessa anche se la stringa può essere più lunga .... di solito il numero stà anche nei primi 2 o 3 o 4 caratteri
Avatar utente
dipic
Utente Senior
 
Post: 106
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: Estrarre "numero" da stringa

Postdi dipic » 10/11/09 18:09

ho risolto inserendo una funzione personale in vba trovata al seguente link:
http://www.terzaghi.it/excel/faq/rispos ... tringa.zip

una similare che estrae tutti i numeri di una stringa si trova al link:
http://www.office-guru.com/sites/defaul ... _cifre.zip

avrei preferito utilizzare delle funzioni native di excel ... se qualcuno avesse dei suggerimenti.
Grazie comunque
Avatar utente
dipic
Utente Senior
 
Post: 106
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: Estrarre "numero" da stringa

Postdi Anthony47 » 11/11/09 00:44

La formula tratta dall' articolo Microsoft va bene, hai solo confuso a tradurre Row con Righe (invece che Rif.Riga); ho eliminato inoltre il riferimento a $1:$9 (che limita la formula su una stringa di 9 caratteri, e in piu' soggetta a variazioni nel momento in cui aggiungi o elimini righe), sostituendola con Lunghezza(Stringa). La formula pertanto diventa:
Codice: Seleziona tutto
=1*STRINGA.ESTRAI(A1;CONFRONTA(VERO;VAL.NUMERO(1*STRINGA.ESTRAI(A1;(RIF.RIGA(INDIRETTO("$1:"&LUNGHEZZA(A1))));1));0);CONTA.NUMERI(1*STRINGA.ESTRAI(A1;(RIF.RIGA(INDIRETTO("$1:"&LUNGHEZZA(A1))));1)))
Da confermare con Contr-Maiusc-Enter

Elimina eventuali parti alfabetiche in testa e in coda alla stringa.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Estrarre "numero" da stringa

Postdi dipic » 12/11/09 08:38

Grazie Anthony,
Se le lettere sono all'inizio o alla fine o entrambe, funziona perfettamente ....
Nel caso in cui la mia stringa dovesse alternare più volte lettere e numeri (es. AB123CD456EF), la stringa restituisce un errore.
Nel mio caso specifico, io devo individuare la porzione specifica in cui troverò il numero che mi interessa ad es. nei primi 4 caratteri o a partire dal 3° carattere fino al 7°.
... ho provato a sostituire "LUNGHEZZA(A1)" con "LUNGHEZZA(SINISTRA(A1;4)" e/o combinando DESTRA/SINISTRA per ottenere la porzione di stringa da controllare, ma mi restituisce sempre un errore.
Grazie per la tua cortesia
Avatar utente
dipic
Utente Senior
 
Post: 106
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: Estrarre "numero" da stringa

Postdi Anthony47 » 12/11/09 21:02

Avevo chiesto quale era la casistica delle tue stringhe proprio per capire il problema da risolvere e cosa proporti; direi che se la funzione personalizzata risolve il problema e' inutile stare a complicarsi la vita.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Estrarre "numero" da stringa":


Chi c’è in linea

Visitano il forum: Ricky0185 e 29 ospiti