Trovare l’ennesima occorrenza di un carattere

Francesco si ritrova spesso a voler identificare l’ennesima occorrenza di un carattere all’interno di una stringa di testo. Sa che può utilizzare le funzioni CERCA e TROVA per trovare l’occorrenza iniziale, ma non è sicuro di come trovare, ad esempio, la terza occorrenza della lettera “B” all’interno di una stringa di testo.

Una formula abbastanza flessibile è la seguente:

=TROVA(CODICE.CARATT(1);SOSTITUISCI(A1;"B";CODICE.CARATT(1);3))

Questa formula esamina il valore in A1. Sostituisce il codice CODICE.CARATT(1) alla terza occorrenza di “B” all’interno della cella. La funzione TROVA cerca quindi all’interno della stringa risultante la posizione in cui si verifica CODICE.CARATT(1). Se l’occorrenza desiderata non esiste, la formula restituisce un errore #VALORE!. Fai attenzione però: la formula fa distinzione tra maiuscole e minuscole nel carattere che stai cercando.

Se preferisci, puoi creare una funzione definita dall’utente che cercherà l’ennesima posizione di un carattere. Quella che segue è una macro molto semplice che accetta tre argomenti: la stringa da cercare, il testo in cui cercare e la posizione desiderata:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , ,

Ti è stato utile?