Excel Forum Per condividere esperienze su Microsoft Excel

Estrarre Numeri da targhe auto

  • Messaggi
  • OFFLINE
    DI DIO.IVANO
    Post: 126
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 20/06/2021 23:41
    ho un dilemma,
    in un file dove segno tutte le targhe delle auto, italiane ed estere, devo ricavare solo i numeri escludendo tutte le lettere ma non riesco a trovare la giusta soluzione senza utilizzare il vba.

    Il problema mi si crea sulle targhe vecchie e/o estere perchè hanno formati diversi. Alcune macchine estere hanno anche 5 numeri iniziali e poi le lettere, altri hanno prima le lettere e poi i numeri, alcune hanno 3 numeri altre 4 o 5 etc...
    quindi ho bisogno di escludere qualsiasi lettera lasciando solo i numeri indipendentemente da quanti numeri ci sono in una targa.
    l'unico riferimento che posso darvi e che nella colonna dove scriviamo le targhe non ci sono spazi, simboli o cose simili...solo i riferimenti della targa

    ho provato con lo stringa.estrai ma non riesco ad incastrare bene l esclusione delle lettere

    allego al solito un file d esempio
    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • OFFLINE
    Marius44
    Post: 914
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 21/06/2021 07:53
    Ciao
    Non credo si possa fare con le formule (ma non è il mio campo e spero di essere smentito).
    Con questa macro ottieni quello che chiedi
    Sub Estraz()
    ur = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To ur
      a = Len(Cells(i, 1))
      b = "'"
      For j = 1 To a
        If IsNumeric(Mid(Cells(i, 1), j, 1)) Then
          b = b + Mid(Cells(i, 1), j, 1)
        End If
      Next j
      Cells(i, 3) = b
    Next i
    End Sub

    Fai sapere. Ciao,
    Mario
  • OFFLINE
    by sal
    Post: 6.416
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 21/06/2021 08:29
    Ciao anche io la stessa cosa di Mario che saluto, conosco il metodo con le formule ma non saprei applicarlo, perche le formule non sono alla mia portata.

    sapendo a priori che il codice ASCII dei numeri va da 48 a 57 non ricordo bene dallo 0-1-2-3-4-5-6-7-8-9 si può usare "=Caratt.UNI()" con una serie di formule SE() se restituisce un valore compreso tra 48-57 allora è un numero la stringa in esame.

    ma a volte non capisco l'avversione ad usare il VBA, che risolve moltissimi problemi che le formule riesco a fare dopo innumerevoli passaggi.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    federico460
    Post: 2.346
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    10 21/06/2021 10:27
    ciao
    solo per curiosità

    matriciale ctrl maiuscolo invio

    =TESTO(SOMMA(STRINGA.ESTRAI("0"&B2;(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(B2;RIF.RIGA($1:$100);1));RIF.RIGA($1:$100)+1;1);RIF.RIGA($1:$100)));1)*10^(RIF.RIGA($1:$100)-1));RIPETI(0;CONTA.NUMERI(--STRINGA.ESTRAI(B2;RIF.RIGA($1:$100);1))))
  • OFFLINE
    by sal
    Post: 6.418
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 21/06/2021 10:39
    Ciao Federico, che dire, sei un mago con le formule, ma non solo, funziona alla perfezione.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    federico460
    Post: 2.347
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 21/06/2021 11:02
    ciao Sal
    questa non me la sono ancora studiata bene
    è una formula che si usa raramente
    e onestamente per me il vba in questo caso è migliore.
  • OFFLINE
    Marius44
    Post: 915
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 21/06/2021 11:03
    Ciao
    Che dire? Una bella, secca smentita alle mie precedenti affermazioni.
    Complimenti Federico, davvero un'ottima soluzione.

    Ciao,
    Mario
  • OFFLINE
    federico460
    Post: 2.348
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 21/06/2021 11:10
    ciao
    solo per curiosità
    questa formula estrae i numeri come testo
    visto che ci sono gli 0 davanti.010

    se volete etrarre proprio come numero per eventuali conteggi
    basta aggiungere un *1

    =TESTO(SOMMA(STRINGA.ESTRAI("0"&B2;(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(B2;RIF.RIGA($1:$100);1));RIF.RIGA($1:$100)+1;1);RIF.RIGA($1:$100)));1)*10^(RIF.RIGA($1:$100)-1));RIPETI(0;CONTA.NUMERI(--STRINGA.ESTRAI(B2;RIF.RIGA($1:$100);1)))*1)

    ma in questo caso lo 0 davanti non ve lo mette più

    nb

    guardate che l'ho trovata in rete anni fa
    e l'ho solo modificata leggermente

  • OFFLINE
    DI DIO.IVANO
    Post: 126
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 21/06/2021 11:13
    ringrazio e saluto tutti in ordine Marius.

    Ciao Sal, purtroppo in vba non ci ho mai messo testa anche se in questi anni grazie a voi e al forum piano piano incomincio perlomeno a capire qualcosina, quindi al momento mi arrangio con quello che posso. Un domani mi impegnerò un pò di più magari facendo anche qualche corso perchè in fondo mi sono reso conto che utilizzo excel dappertutto anche per una lista della spesa :D e ti ringrazio per l intervento.

    Ciao Fede, la formula è perfetta e ti ringrazio, ieri ho perso 3 ore a fare ricerche senza risultati e poi ho perso la pazienza.
    Ti confesso che prima di aprire il post ho smanettato/cercato su google/YT e l avevo pure vista questa formula con l aggiunta di alcuni parametri che per il mio caso avevo tolto, ma non mi funzionava perchè non avevo capito che era matriciale.....ad ogni modo è perfetta per me e ti ringrazio nuovamente per l intervento.

    grandi come sempre

    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • OFFLINE
    Donato20
    Post: 5
    Registrato il: 13/04/2020
    Età: 61
    Utente Junior
    2016
    00 28/06/2021 08:18
    Buongiorno a tutti non sono un esperto e sal ne sa qualcosa..... ma per lavoro giornalmente sono costretto a separare numeri e lettere in excel per non dannarmi la vita ho trovato in rete kootul free che é un add di excel consente tantissime estrazioni fra cui cancella lettere o cancella numeri .... evidenzi la colonna scegli cosa fare dai ok fatto.....

  • OFFLINE
    J0eTemerar10
    Post: 66
    Registrato il: 10/11/2007
    Città: ARONA
    Età: 75
    Utente Junior
    excel 2016
    00 28/06/2021 10:32
    Estrarre Numeri da targhe auto
    Ciao, per me la soluzione + semplice è quella allegata.
    Naturalmente puoi "nascondere" la colonna C in modo da avere in colonna D il risultato finale.
    Joe
  • ONLINE
    L2018
    Post: 44
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Junior
    EXCEL 2016 - SPREAD32
    00 28/06/2021 13:21
    @Joe

    ottima soluzione che allora puo' essere direttamente abbreviata, per esempio

    =SINISTRA(DESTRA(A2;5);3)

    peccato però che le targhe in A4 e in A20 siano diverse dalle altre

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    J0eTemerar10
    Post: 67
    Registrato il: 10/11/2007
    Città: ARONA
    Età: 75
    Utente Junior
    excel 2016
    00 28/06/2021 13:43
    Re:
    L2018, 28/06/2021 13:21:

    @Joe

    ottima soluzione che allora puo' essere direttamente abbreviata, per esempio

    =SINISTRA(DESTRA(A2;5);3)

    peccato però che le targhe in A4 e in A20 siano diverse dalle altre

    Leo




    ma sopratutto quella in A22.
    Secondo me le puoi classificare in un'altra colonna e sostituire la formula a seconda del posizionamento
    delle cifre da estrapolare, nel senso di inserire nella colonna A le targhe Italiane, nella colonna B le targhe
    tipo A4 e A20 e nella colonna C le targhe come la A22, ecc...ecc... e poi adatti la formula a seconda della colonna.

    Joe


  • OFFLINE
    AlfioB
    Post: 1
    Registrato il: 27/12/2019
    Età: 75
    Utente Junior
    Office 2010
    00 28/06/2021 20:27
    estrarre numeri da targhe auto
    salve
    io mi sono elaborato una tabella come in allegato
    ho estrapolato i codici caratteri delle stringhe con le targhe (ho ipotizzato un numero di 10 caratteri)
    e da questi ho selezionato solo i valori relativi ai numeri ricomponendo in tal modo il numero. La colonna Ris é un valore testo se poi interessa il valore numerico la trovi nella colonna Numeri.
    Va da se che le colonne da C a V vanno mascherate.
    saluti
    [Modificato da AlfioB 28/06/2021 20:40]
  • OFFLINE
    DI DIO.IVANO
    Post: 127
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 01/07/2021 00:42
    Federico un altro aiuto se possibile e senza che ti impegni troppo tempo nel senso che in caso mi accontenterei di quanto già
    mi hai fornito per la formula sopra....

    mi sono accorto che nella formula matriciale non estrapola più di 4 numeri, che andrebbe pure bene, ma con le targhe con 5 o più numeri
    con i clienti è come parlare due lingue differenti...
    Quindi mi chiedevo se per caso si potrebbe modificare la formula che francamente non ci sono riuscito da solo.

    ti allego screen ma puoi tranquillamente usare il file sopra come esempio...

    grazie in anticipo



    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • OFFLINE
    DI DIO.IVANO
    Post: 128
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 01/07/2021 00:48
    mi sono accorto solo adesso che non avevo ringraziato gli ultimi ragazzi che si sono preoccupati di trovare una soluzione al mio problema ma devo ammettere che quella di federico è perfetta e mi ha risolto tutti i problemi. ad ogni modo grazie.

    se federico mi aiutasse ad estrapolare più di 4 numeri direi che si merita una cena a base di pesce come minimo :)
    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • OFFLINE
    by sal
    Post: 6.426
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 01/07/2021 06:44
    Ciao Ivano, visto che stai avendo problemi eccoti una funzione UDF che puoi usare come formula, basta copiare la funzione in un modulo e poi te la dimentichi, ecco la funzione

    Function TARGA(tg)
    Dim x, k
    
    For x = 1 To Len(tg)
      If IsNumeric(Mid(tg, x, 1)) Then k = k & Mid(tg, x, 1)
    Next x
    TARGA = k
    End Function
    


    come si usa come una normale formula nella cella dove vuoi i numeri scrivi "=TARGA(A2)" tutto qui, poi puoi anche trascinarla in basso, ti estrae tutti i numeri presenti nella targa.

    attenzione se esiste una targa del genere "AE3M421" ti scrive "3421" cioè tutti i numeri presenti li estrapola, ma non credo che ci siano targhe del genere.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    DI DIO.IVANO
    Post: 129
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 01/07/2021 10:21
    ciao Sal,
    questo effettivamente era un caso un pò raro, anche se ho modificato i dati della targa per nasconderli da quella vera, questa è una targa di un "corpo diplomatico" ma esiste.....anche le targhe irlandesi o di altri paesi anno formati diciamo strani, dove alcune hanno 5 numeri e 4 lettere....cmq grazie come sempre nel pomeriggio provo per come mi hai indicato e in caso di bisogno magari vi ricontatto.
    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • OFFLINE
    DANILOFIORINI
    Post: 1.093
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 01/07/2021 10:27
    Buongiorno a tutti
    Per giocare un po' con le formule In B2 da attivare matriciale e trascinare in basso

    =STRINGA.ESTRAI(A2;CONFRONTA(1;INDICE((CODICE(STRINGA.ESTRAI(A2;RIF.RIGA($1:$20);1))>=48)*(CODICE(STRINGA.ESTRAI(A2;RIF.RIGA($1:$20);1))<=57);;);0);SOMMA(SE.ERRORE((CODICE(STRINGA.ESTRAI(A2;RIF.RIGA($1:$20);1))>=48)*(CODICE(STRINGA.ESTRAI(A2;RIF.RIGA($1:$20);1))<=57);0)))
  • OFFLINE
    by sal
    Post: 6.427
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 01/07/2021 10:30
    Ciao al limite posso fartela vedere in questo modo la targa AE3M421 la visualizzerebbe --3-421 in modo che sai quale posizione occupano i numeri perche potrebbero anche esserci 2 targhe del tipo AM421, 421ZK ti riporterebbe sempre 421 ma quale delle due scegli?

    però ripensandoci, non capisco il tuo scopo dell'estrazione dei soli numeri, prendi le targhe italiane BB421CA dopo 999 si ripetono i numeri riparte da 001 per ogni cambio lettera, quindi avrai un altro 421.

    Ciao By Sal (8-D
    [Modificato da by sal 01/07/2021 10:41]
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    federico460
    Post: 2.360
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 01/07/2021 10:52
    Ciao
    non so dove vedi che estrae solo 4 numeri

    li estrae tutti
    [Modificato da federico460 01/07/2021 10:58]
  • OFFLINE
    DI DIO.IVANO
    Post: 130
    Registrato il: 09/10/2013
    Città: SIRACUSA
    Età: 39
    Utente Junior
    Office 2019
    00 01/07/2021 12:08
    ciao Federico,
    in effetti hai ragione estrae tutto correttamente....usandolo dal cell non vedevo che c'erano anche 4+ numeri....sicuramente perchè avevo bloccato tutto il foglio in quanto è molto poco pratico dal cell e inoltre la lunghezza della colonna era inferiore....pardon ;) una svista da dilettante

    anche perchè guardando la formula non mi tornavo i conti, non c erano limiti di estrazione

    100 con lode 👍 non te lo toglie nessuno
    _________________________________________________________________
    WIN 10 EXCEL 2019
    (non excell/exchel/excellh/lesechel)
    <---Hofinalmenteaggiustatolabarraspaziatrice--->
  • 15MediaObject5,00122 1