KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come trovare la prima, l'ultima o un'occorrenza specifica di un carattere in Excel?

AutoreXiaoyang Data di modifica

In molte attività di elaborazione dati, potresti imbatterti in elenchi di stringhe di testo contenenti caratteri speciali—come il trattino “-”—e aver bisogno di determinare la posizione della loro prima, ultima o di una specifica occorrenza (n-esima). Ad esempio, per estrarre informazioni basate su delimitatori, analizzare codici prodotto o separare componenti di dati, è spesso essenziale individuare con precisione la posizione di un determinato carattere all’interno di ciascuna stringa. Tuttavia, Excel non offre una funzione predefinita per restituire direttamente la posizione della prima, dell’ultima o dell’n-esima occorrenza di un carattere in una cella. Questo articolo presenta diverse tecniche pratiche e soluzioni passo-passo per individuare con esattezza tali occorrenze, soddisfacendo svariate esigenze di analisi e preparazione dei dati.


Trova l'ultima occorrenza di un carattere con formule

Se desideri individuare la posizione dell’ultima occorrenza di un carattere specifico (ad esempio “-”) all’interno di una stringa di testo, Excel non offre una funzione dedicata per farlo direttamente. Tuttavia, combinando alcune formule puoi ottenere il risultato in modo efficace. Di seguito trovi due approcci basati su formule, particolarmente utili quando lavori con codici prodotto, percorsi di file o altri dati strutturati con separatori ricorrenti. Ricorda che l’uso di formule complesse può aumentare il carico di calcolo, soprattutto su set di dati di grandi dimensioni.

1. In una cella vuota (ad esempio C2), inserisci o copia una delle formule seguenti:

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

Entrambe le formule restituiscono la posizione (espressa come numero) dell'ultima occorrenza del carattere “-” nella cella di riferimento (A2). La prima formula utilizza RICERCA e SOSTITUISCI per identificare la posizione, sostituendo l'ultimo “-” con un simbolo univoco e cercandolo. La seconda sfrutta CERCA.VERT in combinazione con STRINGA.ESTRAI e RIF.RIGA per individuare l'ultimo “-”. Puoi scegliere entrambi i metodi in base alla tua familiarità o al volume dei dati. L’approccio con CERCA.VERT risulta spesso più semplice da adattare nelle versioni moderne di Excel compatibili con le matrici.

Trova l'ultima occorrenza del carattere con una formula

2. Dopo aver inserito la formula, premi Invio. Per applicarla alle altre righe, trascina la maniglia di riempimento verso il basso fino a coprire l’intero intervallo desiderato: ogni cella verrà immediatamente popolata con la posizione dell’ultima occorrenza corrispondente alla rispettiva stringa di testo, come mostrato nell’immagine seguente. Ricorda sempre di verificare che i riferimenti di cella siano corretti quando copi la formula in un’altra area.

trascina e riempi la formula nelle altre celle

Nota: Negli esempi qui riportati, A2 indica la cella contenente i tuoi dati e “-” è il carattere da cercare. Puoi sostituire “-” con qualsiasi altro carattere. Se la cella è vuota o il carattere non è presente nel testo, la formula potrebbe restituire un errore. Per voci di testo con delimitatori ripetuti o simboli speciali, controlla attentamente la presenza di caratteri nascosti o non stampabili che potrebbero influenzare i risultati.


Trova l'ultima occorrenza di un carattere con una funzione definita dall'utente

Un altro metodo flessibile consiste nell’utilizzare una funzione definita dall’utente (UDF) in un modulo VBA, che offre maggiore controllo e facilità di riutilizzo, soprattutto se devi spesso individuare l’ultima occorrenza di un carattere qualsiasi per diverse analisi. Questo approccio è perfetto se desideri una formula semplice e intuitiva ()=ultimaposizionedelcarattere(cella; carattere)) che funzioni esattamente come le funzioni integrate di Excel. Tieni però presente che le macro devono essere abilitate affinché le soluzioni VBA funzionino correttamente e che la cartella di lavoro va sempre salvata come file con supporto macro (*.xlsm) per conservare la UDF.

1. Apri il foglio di lavoro in cui vuoi aggiungere questa funzione.

2. Premi contemporaneamente i tasti ALT + F11 per aprire l'editor di Microsoft Visual Basic, Applications.

3. Nell'editor VBA, fai clic su Inserisci > Modulo per creare un nuovo modulo. Poi copia e incolla il codice seguente nella finestra del modulo.

Codice VBA: trova l'ultima occorrenza di un carattere

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

Risoluzione problemi: Se la funzione non restituisce un risultato, assicurati che le macro siano abilitate e che tu stia inserendo il riferimento di cella e il carattere corretti nella formula. Per trovare l’ultima occorrenza di un carattere diverso, modifica semplicemente l’argomento di conseguenza.

4. Salva e chiudi la finestra del codice. Torna al tuo foglio di lavoro e inserisci la seguente formula in una cella vuota (ad esempio B2):=lastpositionofchar(A2,"-"). Sostituisci A2 con la cella appropriata e "-" con il carattere da cercare.

applica una formula per ottenere l'ultima occorrenza del carattere

5. Trascina la maniglia di riempimento verso il basso per applicare la formula alle altre celle, se necessario. In questo modo otterrai la posizione finale del carattere specificato in ciascuna stringa di testo, come mostrato di seguito.

trascina e riempi la formula nelle altre celle

Nota: Il primo argomento ()A2) è la cella sorgente che contiene la stringa di testo, mentre il secondo (“-”) è il carattere da cercare. Puoi personalizzare questi parametri in base alle tue esigenze. Se non viene trovata alcuna corrispondenza, la funzione potrebbe restituire 0. Ricorda sempre di salvare il tuo lavoro prima di eseguire o modificare codice VBA. In caso di errore, controlla la presenza di virgolette posizionate in modo errato o di riferimenti a celle non validi.


Trova la prima o la Occorrenza occorrenza di un carattere con una formula

Se devi trovare non solo l’ultima, ma anche la prima, la seconda o una specifica occorrenza di un carattere all’interno di una stringa di testo, puoi ricorrere a una struttura di formula diversa. Questa operazione è spesso richiesta per analizzare codici gerarchici, estrarre porzioni di ID strutturati o individuare simboli ripetuti in voci di dati.

1. Per trovare la posizione n-esima di un carattere specifico, inserisci o incolla la seguente formula in una cella vuota (ad esempio C2):

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

In questa formula, A2 è la cella da cercare, “-” è il carattere da trovare e 2 indica quale occorrenza del carattere desideri (ad esempio, 2 per la seconda occorrenza). Puoi regolare il numero dell’occorrenza in base alle tue esigenze.

ottieni l'n-esima occorrenza del carattere con una formula

2. Premere Invio. Per applicare la formula ad altre righe, trascinare il quadratino di riempimento verso il basso fino all’intervallo desiderato. In questo modo si otterrà la posizione, ad esempio, della seconda occorrenza del carattere «-» in ogni stringa di testo. Se il numero di occorrenze specificato supera il conteggio totale del carattere nella stringa, la formula restituirà un errore. In tal caso, verificare i dati di testo o il parametro relativo all’occorrenza.

trascina e riempi la formula nelle altre celle

Nota: Il numero 2 nella formula indica l’occorrenza da cercare. Modifica questo numero per individuare la posizione della prima, terza, quarta o di qualsiasi altra occorrenza del carattere specificato. Se il carattere non viene trovato tante volte quanto indicato, verrà visualizzato un errore #VALORE!; puoi gestire questa situazione con SE.ERRORE() per ottenere risultati più puliti.


Trova la prima o la Occorrenza occorrenza di un carattere specifico con una funzione semplice

Per gli utenti che preferiscono una soluzione diretta e interattiva o che non si sentono a proprio agio nel creare formule complesse o codice VBA, Kutools per Excel offre uno strumento pratico chiamato Trova la posizione dell'ennesima occorrenza di un carattere in una stringa. Questa utility rende semplicissimo individuare la posizione della prima, seconda, terza o di qualsiasi altra occorrenza di un carattere specifico all’interno di una cella, completando l’operazione con pochi clic – un vantaggio decisivo per velocizzare processi ripetitivi di pulizia dei dati o quando si lavora con set di dati di grandi dimensioni.

Kutools per Exceloffre oltre 300 funzionalità avanzate per semplificare attività complesse, aumentando creatività ed efficienza.Integrato con funzionalità basate sull’IA, Kutools automatizza le attività con precisione, rendendo la gestione dei dati semplice e immediata.Informazioni dettagliate su Kutools per Excel...         Prova gratuita...
Nota:Per accedere alla funzionalità Trova la posizione dell'ennesima occorrenza di un carattere in una stringa, scaricare e installare prima Kutools per Excel. Dopo l’installazione, sarà possibile utilizzare rapidamente questa funzione tramite la barra degli strumenti.

Dopo aver installato Kutools per Excel, seguire questi passaggi per ottenere rapidamente i risultati:

Si supponga di voler ottenere la posizione della seconda occorrenza del carattere trattino «-» in un insieme di stringhe di testo:

1. Fai clic sulla cella in cui vuoi visualizzare il risultato.

2. Fare clic su Kutools > Assistente formula > Assistente formula nella Barra multifunzione, come mostrato di seguito:

fai clic sulla funzione Formula Helper di Kutools

3. Nella finestra di dialogo Assistente formula:

  • Seleziona Cerca/vert dall’elenco a discesa Tipo di formula.
  • Scegli Trova la posizione dell'ennesima occorrenza di un carattere in una stringa dall’elenco Seleziona una formula.
  • Nell'area Inserimento argomento, seleziona la cella contenente il tuo testo, inserisci il carattere da cercare e specifica il numero dell'occorrenza.

imposta le opzioni nella finestra di dialogo Formulas Helper

4. Fare clic su OK. Dopo che la formula ha restituito il risultato, puoi trascinare il quadratino di riempimento verso il basso per applicarla ad altre righe, quando necessario. Questo metodo ti aiuta a evitare il rischio di errori causati dall’inserimento manuale delle formule.

ottieni il risultato con Kutools

Scarica e prova subito Kutools per Excel gratuitamente!

Questa opzione è particolarmente adatta agli utenti non tecnici o a chi deve ripetere frequentemente il processo su fogli di lavoro diversi, riducendo gli errori manuali e risparmiando tempo nella costruzione di formule complesse.


Formula alternativa per le versioni recenti di Excel (con matrici dinamiche)

Nelle versioni più recenti di Excel (Excel 365, Excel 2021 e successive) che supportano le matrici dinamiche, puoi sfruttare funzioni come SEQUENZA e FILTRA per ottenere contemporaneamente tutte le posizioni di un carattere. Questo ti permette di individuare facilmente una specifica occorrenza o di elencare tutte le occorrenze in un intervallo separato per ulteriori elaborazioni.

1. Inserisci la seguente formula in una cella vuota (ad esempio B2) per ottenere tutte le posizioni del carattere «-» nella cella A2:

=FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-")

Dopo aver premuto Invio, la formula riempirà automaticamente le celle adiacenti con la posizione di ciascuna occorrenza del carattere «-». Se si desidera restituire solo l’occorrenza, è possibile utilizzare:

=INDEX(FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-"),2)

Sostituisci 2 con il numero dell’occorrenza desiderata. Questo metodo è particolarmente efficace per array o elenchi di lunghezza variabile, ma richiede una versione di Excel che supporti queste funzioni.

Suggerimento: Se viene visualizzato un errore #CALC! o simile, assicurati che la tua versione di Excel supporti le matrici dinamiche e che le celle di riferimento contengano dati di testo.


Codice VBA per trovare la posizione Occorrenza di un carattere

Se hai bisogno di una soluzione per individuare non solo l’ultima, ma qualsiasi occorrenza di un carattere, anche VBA può darti una mano. La macro seguente è personalizzabile per soddisfare diverse esigenze di analisi e ti permette di risparmiare tempo quando la utilizzi ripetutamente su più cartelle di lavoro.

1. Passa alla scheda Sviluppo > Visual Basic, quindi seleziona Inserisci > Modulo. Incolla il codice seguente nella finestra del modulo:

Function NthPositionOfChar(cell As Range, ch As String, nth As Integer) As Long
    Dim s As String
    Dim i As Long, count As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    s = cell.Value
    count = 0
    For i = 1 To Len(s)
        If Mid(s, i, 1) = ch Then
            count = count + 1
            If count = nth Then
                NthPositionOfChar = i
                Exit Function
            End If
        End If
    Next i
    NthPositionOfChar = 0
End Function

2. Chiudere l’editor. Utilizzare la formula =NthPositionOfChar(A2,"-",2) (sostituendo gli argomenti secondo necessità) nel foglio di lavoro per ottenere la posizione della seconda occorrenza del carattere «-» nella cella A2. Attenzione: se tale occorrenza non esiste, la funzione restituirà 0.

Questo codice è perfetto per estrarre in modo flessibile informazioni basate su delimitatori dai dati o per semplificare attività ripetitive di analisi. Le funzioni personalizzate in VBA possono inoltre essere facilmente adattate a esigenze più specifiche, come la ricerca di caratteri con distinzione tra maiuscole e minuscole o l’elaborazione di set di dati di grandi dimensioni.


Quando si lavora con stringhe di testo e posizioni di occorrenze di caratteri, assicurati sempre di verificare la presenza di caratteri nascosti o non stampabili — come spazi, interruzioni di riga o simboli Unicode speciali — poiché possono influenzare i risultati delle formule. Inoltre, se i dati utilizzano delimitatori diversi, controlla che siano coerenti prima di applicare formule o macro. In caso di errori, esamina attentamente i parametri di input, i riferimenti delle formule e la compatibilità del tipo di dati (testo/numero) con la funzione impiegata.

L’utilizzo combinato di formule, VBA e funzionalità di Kutools offre massima flessibilità per gestire in Excel sia attività di elaborazione testo routine che avanzate. Scegli il metodo più adatto al tuo livello di competenza tecnica, alla versione di Excel e alla complessità dei dati per ottenere la massima accuratezza ed efficienza.

Altri articoli correlati:

  • Estrai tutte le parole tranne la prima o l'ultima in Excel
  • Estrarre da una cella tutte le parole tranne la prima o l'ultima può aiutarti a rimuovere la parola indesiderata. In questo caso, naturalmente, puoi copiare manualmente le parole desiderate e incollarle una per una in un'altra cella. Tuttavia, questa operazione diventa noiosa se devi elaborare più celle. Come puoi estrarre rapidamente e facilmente tutte le parole tranne la prima o l'ultima in Excel?
  • Estrai caratteri da destra verso sinistra in una cella
  • Questo articolo illustra come estrarre i caratteri da destra in una cella fino al successivo spazio, per ottenere il risultato visualizzato nel foglio di lavoro di Excel. Una formula pratica, presentata nell’articolo, consente di eseguire questa operazione in modo rapido e semplice.

  • Trova la posizione della prima lettera minuscola
  • Se hai un elenco di stringhe di testo contenenti sia lettere maiuscole che minuscole, potresti voler individuare rapidamente la posizione della prima lettera minuscola in ciascuna stringa del tuo foglio di lavoro Excel. Come puoi ottenere questo risultato senza dover contare manualmente ogni carattere?

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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