Come trovare il primo o tutti i numeri presenti in una stringa in Excel?
Quando si lavora con dati complessi in Excel, è comune imbattersi in celle che contengono una combinazione di lettere, numeri e caratteri speciali. Estrarre il primo numero o tutti i numeri da queste stringhe può rivelarsi essenziale per attività di pulizia, analisi o convalida dei dati. Ad esempio, potrebbe essere necessario separare i codici articolo dai nomi dei prodotti, estrarre numeri da indirizzi oppure isolare cifre da diversi tipi di report testuali. Cercare manualmente i numeri all’interno delle stringhe è inefficiente e soggetto a errori, soprattutto con set di dati di grandi dimensioni. Questo tutorial presenta una serie di metodi pratici per individuare in modo rapido ed efficace il primo o tutti i numeri presenti in una stringa in Excel, adattandosi a diversi scenari d’uso e livelli di competenza degli utenti.
- Trova il primo numero e la sua posizione in una stringa di testo con formula
- Trova tutti i numeri in una stringa di testo rimuovendo tutti i caratteri non numerici
- Trova tutti i numeri in una stringa di testo estraendo solo i numeri
- Estrai il primo o tutti i numeri con codice VBA (ciclo macro)
- Estrai numeri da una stringa con Riempi automaticamente
Trova il primo numero e la sua posizione in una stringa di testo con formula
Questo metodo presenta un insieme di formule utilizzabili non solo per trovare ed estrarre il primo numero all’interno di una stringa di testo, ma anche per determinare la posizione esatta in cui tale carattere numerico compare nella cella. L’applicazione di queste formule è particolarmente utile per gli utenti che devono analizzare stringhe standardizzate con posizioni variabili dei numeri, come codici prodotto o ID incorporati in testo descrittivo.
Trova ed estrai il primo numero in una stringa di testo con una formula matriciale
Seleziona una cella vuota in cui desideri estrarre il primo numero da una stringa di testo, quindi inserisci la formula =MID(A2,MIN(IF((ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2)))),ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2))))),1)+0 (dove A2 è la cella contenente il testo in cui cercare il primo numero). Premi poi contemporaneamente Ctrl+Maiusc+Invio: questa combinazione conferma la formula come formula matriciale, assicurando che ogni carattere della stringa venga elaborato singolarmente.
Dopo aver confermato, trascina il quadratino di riempimento della cella verso il basso per applicare la formula ad altre righe, se necessario.
Una volta applicata, i primi numeri di ciascuna stringa di testo vengono trovati ed estratti come mostrato di seguito:
Trova la posizione del primo numero in una stringa di testo con formule
Seleziona una cella vuota in cui desideri visualizzare la posizione del primo numero e inserisci la seguente formula:=MIN(SE(VAL.NUMERO(TROVA({1;2;3;4;5;6;7;8;9;0};A2));TROVA({1;2;3;4;5;6;7;8;9;0};A2))) (dove A2 è la cella da analizzare). Questa formula individua la prima occorrenza di qualsiasi cifra (da 0 a 9). Se necessario, trascina la formula verso il basso per applicarla alle celle sottostanti.

Nota: In alternativa, utilizza questa formula matriciale:=MIN(TROVA({0;1;2;3;4;5;6;7;8;9};A2&{0;1;2;3;4;5;6;7;8;9})). Ricorda di confermarla con Ctrl+Maiusc+Invio. Quando copi la formula, aggiorna sempre i riferimenti di cella fissi se la struttura del foglio cambia. Se la stringa non contiene numeri, la formula restituirà un errore: puoi racchiuderla con SE.ERRORE per visualizzare un messaggio personalizzato in questi casi.
Trova tutti i numeri in una stringa di testo rimuovendo tutti i caratteri non numerici
Se il tuo obiettivo è estrarre tutti i numeri da una cella rimuovendo semplicemente ogni carattere non numerico, lo strumento Elimina Caratteri Specifici di Kutools per Excel offre una soluzione rapida e intuitiva. Questa funzionalità è perfetta per chi elabora spesso dati importati o ha bisogno di pulire in blocco le celle in modo veloce, preferendo un’interfaccia semplice alle formule complesse.
1. Seleziona l’intervallo da elaborare per estrarre tutti i numeri, quindi vai al menu: Kutools > Testo > Elimina Caratteri Specifici. Fai riferimento all’immagine seguente:
2. Nella finestra di dialogo Elimina Caratteri Specifici visualizzata, assicurati che sia selezionata soltanto la casella di controllo Non numerico, quindi fai clic su OK per procedere.
Di conseguenza, lo strumento rimuoverà tutti i caratteri non numerici dalle celle selezionate, lasciandoti soltanto i componenti numerici di ciascuna cella.
Prima di eseguire questa operazione, considera di creare un backup dell’intervallo nel caso tu debba ripristinare i dati. Per stringhe di testo contenenti numeri separati da lettere (ad esempio, "A23B17"), tutti i numeri verranno concatenati insieme ("2317"). Se ti aspetti una disposizione diversa, valuta di combinare questa funzionalità con altre funzioni.
Kutools per Excel– Potenzia Excel con oltre 300 strumenti essenziali, rendendo il tuo lavoro più veloce e semplice, e sfrutta le funzionalità basate sull’IA per un’elaborazione dati più intelligente e una maggiore produttività.Scaricalo ora
Trova tutti i numeri in una stringa di testo estraendo solo i numeri
Se desideri estrarre direttamente tutti i numeri presenti in una cella di testo (indipendentemente dal formato) come un unico valore, la funzione EXTRACTNUMBERS di Kutools per Excel offre un metodo intuitivo e altamente efficiente. È perfetta per chi ha bisogno di elaborazioni in blocco ma preferisce un approccio basato su funzioni, facilmente applicabile in tutto il foglio di lavoro.
1. Seleziona una cella vuota in cui desideri visualizzare i numeri estratti, quindi fai clic su Kutools > Funzioni > Testo > EXTRACTNUMBERS. Vedi l’illustrazione seguente:
2. Nella finestra di dialogo Argomenti funzione, assegna la cella di testo pertinente al campo Txt e inserisci VERO nel campo N (per restituire un valore numerico). Quindi, fai clic su OK per confermare ed estrarre i numeri.
Nota:
(1) Puoi inserire VERO, FALSO o lasciare vuoto il campo N. Specificando VERO si ottiene un valore numerico; con FALSO o lasciandolo vuoto, i numeri vengono restituiti come testo (utile per conservare gli zeri iniziali).
(2) Questa funzionalità può essere utilizzata direttamente anche come formula nel foglio di lavoro: =EXTRACTNUMBERS(A2;VERO). Inseriscila nella cella di output desiderata.
(3) Quando copi la formula nelle righe adiacenti, assicurati di aggiornare i riferimenti di cella ove necessario.
I numeri estratti da ciascuna cella di testo verranno visualizzati come illustrato di seguito:
Kutools per Excel– Potenzia Excel con oltre 300 strumenti essenziali, rendendo il tuo lavoro più veloce e semplice, e sfrutta le funzionalità basate sull’IA per un’elaborazione dati più intelligente e una maggiore produttività.Scaricalo ora
Estrai il primo o tutti i numeri con codice VBA (ciclo macro)
Quando le formule e le funzionalità integrate non bastano—ad esempio, se devi estrarre soltanto il primo numero, la prima sequenza completa di numeri oppure tutti i numeri separati da una stringa—il codice VBA ti offre maggiore flessibilità e automazione. Questo approccio è ideale per chi gestisce regolarmente esigenze specifiche di estrazione su grandi set di dati o desidera automatizzare il processo con macro riutilizzabili. Ricorda di abilitare le macro e di fare sempre un backup del file prima di eseguire codice su grandi quantità di dati.
1. Nella finestra principale di Excel, fai clic su Strumenti sviluppatore > Visual Basic per aprire l’editor VBA. Nella finestra Microsoft Visual Basic, Applications Edition, seleziona Inserisci > Modulo. Copia e incolla il codice seguente nel nuovo modulo:
Estrai i primi numeri: Estrae solo la prima sequenza numerica continua presente in ciascuna stringa (ad esempio, "abc12def45" restituisce 12).
Sub ExtractFirstNumber()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim sNum As String
Dim FirstNum As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
sNum = ""
FirstNum = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
sNum = sNum & Mid(txt, i, 1)
If i = Len(txt) Or Not (Mid(txt, i + 1, 1) Like "[0-9]") Then
FirstNum = sNum
Exit For
End If
ElseIf sNum <> "" Then
FirstNum = sNum
Exit For
End If
Next i
cell.Offset(0, 1).Value = FirstNum
Next cell
End Sub Estrai tutti i numeri: Estrae tutti i numeri in sequenza, separando i singoli blocchi numerici con spazi (ad esempio, "abc12def45" restituisce "12 45").
Sub ExtractAllNumbers()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim arrNums As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
arrNums = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
arrNums = arrNums & Mid(txt, i, 1)
Else
If arrNums <> "" Then
arrNums = arrNums & " "
End If
End If
Next i
arrNums = WorksheetFunction.Trim(arrNums)
cell.Offset(0, 1).Value = arrNums
Next cell
End Sub 2. Nell'editor VBA, fai clic sul pulsante
Esegui o premi F5 per eseguire il codice. Si aprirà una finestra di dialogo che ti chiede di selezionare l'intervallo di destinazione: il codice inserirà il/i numero/i estratto/i nella colonna immediatamente a destra dei dati originali.
Assicurarsi che il foglio di lavoro non utilizzi già le colonne immediatamente a destra dei dati per evitare sovrascritture. Se il codice non sembra funzionare, verificare che le macro siano abilitate per la cartella di lavoro e confermare che i valori di testo contengano effettivamente numeri.
Estrai numeri da una stringa con Riempi automaticamente
La funzionalità integrata di Excel Riempimento automatico estrae automaticamente i numeri da stringhe di testo riconoscendo schemi ricorrenti. Questo metodo è ideale per interventi manuali rapidi su dati ben strutturati o quando serve una soluzione semplice, senza formule, che non richieda l’impostazione di logiche complesse.
Per utilizzare il Riempimento automatico per estrarre numeri da una stringa:
- In una Colonna vuota adiacente ai tuoi dati, digita manualmente l’output desiderato per la prima cella. Ad esempio, se A2 contiene "OrderA12B3", digita "123" in B2 per dimostrare il risultato dell’estrazione.
- Vai alla cella sotto il tuo esempio (ad esempio, B3) e inizia a digitare il risultato previsto per la riga successiva. Excel potrebbe mostrarti un’anteprima del modello riconosciuto. Se l’anteprima corrisponde alle tue intenzioni, premi semplicemente Invio. In caso contrario, continua a inserire ulteriori esempi per chiarire il modello desiderato.
- In alternativa, dopo aver inserito l’esempio nella prima cella, seleziona l’intera area di posizionamento dell’elenco desiderata e vai su Dati > Riempi automaticamente(oppure premi)Ctrl + E). Excel riempirà automaticamente i numeri estratti in base al modello appreso.
Il Riempimento automatico riconosce relazioni coerenti tra input e output, quindi assicurarsi che gli esempi forniti siano chiari e accurati. Questa funzionalità offre i migliori risultati quando il formato dei dati è regolare; se invece la struttura dei dati è più variabile o si necessita di un controllo preciso, è preferibile ricorrere a una formula o a una soluzione basata su macro.
Se il Riempimento automatico non compare, verificare che sia abilitato in File > Opzioni > Avanzate > Opzioni di modifica: assicurarsi che l'opzione Riempimento automatico sia selezionata.
Demo: trova tutti i numeri in una stringa in Excel
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi