La funzione di testo STRINGA.ESTRAI di Excel consente di estrarre una parte del contenuto di una cella testuale, specificando la posizione del carattere da cui partire e il numero di caratteri da estrarre.
Vuoi sapere come funzione lo stringa estrai? Ecco alcuni esempi pratici.
ESEMPIO PRATICO N°1:
partiamo da un codice fiscale ed estraiamo i due caratteri che identificano l’anno di nascita
Dobbiamo quindi usare excel per estrarre un numero da una stringa.
Nella cella A2 abbiamo il codice fiscale GNLMSM83R10L410Q
I caratteri da estrarre sono 2 a partire dalla posizione 7: vogliamo estrarre l’anno 83
Dal pulsante inserisci funzione accediamo all’elenco delle funzioni e ci posizioniamo sulle funzioni di Testo.
Scegliamo STRINGA.ESTRAI e compiliamo i tre parametri obbligatori.
Questa è la funzione: =STRINGA.ESTRAI(A2;7;2). Che chiaramente può essere ottenuto anche scrivendo direttamente nella cella senza passare per le finestre di inserimento funzione sopra mostrate.
La sintassi è =STRINGA.ESTRAI(cella;posizione_di_inizio;numero_caratteri_da_estrarre)
Visto che vogliamo estrarre il numero possiamo poi convertire in numero le due cifre trovate possiamo anteporre – -, come illustrato nel tutorial su come convertire un testo in numero:
=- -(STRINGA.ESTRAI(A2;7;2))
Non fermarti alla funzione STRINGA.ESTRAI. Ci sono altri strumenti alternativi che in alcune situazioni si dimostrano anche più semplici ed efficienti. Vai all’articolo che ho scritto su “Testo in colonne, STRINGA.ESTRAI e flash fill”. Troverai un link ad un video (del mio canale Youtube) che ti mostra con esempi pratici come usare questi strumenti
ESEMPIO PRATICO N°°2:
come fare quando il numero di caratteri da estrarre è variabile?
Prendo spunto da una richiesta di Luigi Enrico, un lettore del blog.
Abbiamo il seguente elenco, a partire dalla cella A2:
123/567
1T/45
12X4/A78
Come estarrre la parte alla sinistra della barra?
=STRINGA.ESTRAI(A2;1;?)
Funzione STRINGA.ESTRAI. Dobbiamo partire dal carattere 1. Ma quanti caratteri dobbiamo estrarre?
La chiave è identificare la posizione della barra e a questo sottrarre 1. Lo facciamo con la funzione RICERCA.
Scriviamo =RICERCA(“/”;A2). Il risultato è 4 nella prima cella, 3 nella seconda, 5 nella terza.
Ecco che ora possiamo scrivere:
=STRINGA.ESTRAI(A2;1;RICERCA(“/”;A2)-1)
Il -1 dopo la funzione RICERCA ci permette di fermarci un carattere prima della barra.
Abbiamo visto cosa fare quando il numero di caratteri da estrarre è variabile. Ma attenzione ad un dettaglio: la funzione RICERCA restituisce #VALORE! se non trova il testo da cercare, nel nostro caso la barra.
Se ci fosse scritto 123567 con =STRINGA.ESTRAI(A2;1;RICERCA(“/”;A2)-1) otterremmo #VALORE!
Noi invece in caso di assenza della barra vorremmo semplicemente restituire tutto il contenuto della cella.
Risolviamo utilizzando la funzione SE.ERRORE. Incontrata anche nel tutorial su come gestire l’errore #N/D! del cerca verticale.
Scriviamo =SE.ERRORE(STRINGA.ESTRAI(A2;1;RICERCA(“/”;A2)-1)).
In sostanza se lo STRINGA.ESTRAI restituisce un errore allora sostituisci l’errore con l’intero contenuto della cella stessa.
ho provato esattamente l’esempio e mi da un errore
Ciao Fabrizio. Se vuoi un aiuto riportami pure la formula che hai usato e il messaggio di errore che ti appare. Oppure, cosa più veloce per entrambi, mandami pure un estratto del file a samuele[at]amicoexcel.it
Ciao!
ciao come posso dire nella formula che mi deve estrarre un numero ?
anche a me da un errore profando a fare il tuo stesso esempio…mi dice “sono stati immessi insufficienti argomenti per questa funzione”
Ciao Fabrizio..,penso che ormai avrai risolto,
La formula è mancante di una parte: =SE.ERRORE(STRINGA.ESTRAI(A2;1;RICERCA(“/”;A2)-1);A2)
ciao
FANTASTICO!! THANKS
Grazie!!!
Buongiorno,
io ho un problema con l’estrapolazione di una data di scadenza a partire da un codice a barre. Descrivo l’evento in breve cosi per capirci meglio:
Codice a barre: +M621HYP050/$$+321071634547AL
Con al funzione =stringa.estrai(a2;17;6)
estraggo la data di scadenza del presidio e, quindi, sulla casella di excel mi compare 210716.
Come faccio a far capire a excel che quella è una data e quindi convertirla automaticamente nel formato 16/07/2021?
Grazie mille anticipatamente
Buongiorno Francesco,
una volta raggiunto il risultato con lo STRINGA.ESTRAI potresti usare la funzionalità ‘testo in colonne’.
Con la/le celle selezionate, scheda Dati, Testo in colonne, pulsante Avanti fino al passaggio 3 di 3, seleziona Data e imposta il formato AMG.
il mio caso è simile a quello dell’esempio pratico numero 2, però devo estrarre solamente dopo “/”.
ho una colonna con Città, Stato e vorrei i una seconda colonna solo lo stato
Ciao Francesca.
Ci sono diverse strade:
1) se hai una versione recente di Excel (dal 2013 in poi) puoi utilizzare flash fill
2) testo in colonne: da Dati scegli testo in colonne e definisci il separatore (come suggerivo nel commento precedente)
3) con Stringa.estrai: =STRINGA.ESTRAI(A2;RICERCA(“/”;A2)+1;LUNGHEZZA(A2)-RICERCA(“/”;A2))
Buongiorno
su STRINGA ESTRAI è possibile fare in modo che il testo venga agganciato sulla medesima riga di 2 fogli excel utilizzando il medesimo valore univoco comune ai 2 fogli?
Grazie
Maurizio
Ciao Maurizio. Mi mandi per favore un file excel con due dati così capisco meglio? Grazie. samuele@amicoexcel.it
Samuele buon pomeriggio
grazie al tuo tutorial ho realizzato la mia tabella Pivot.
Ora ho un problema con una formula, ovvero devo selezionare delle righe con measure minore di 75g e maggiore di 60mL.
Come posso fare?
Grazie
Ciao Antonella.
Dovresti utilizzare il filtro che compare accanto all’intestazione delle variabili messe in riga, solitamente la dicitura è “etichette di riga”. Se vuoi fai una pivot con pochi dati (e non sensibili) e mandamela a samuele@amicoexcel.it
Buongiorno,
in che modo posso utilizzare la funzione se ho una serie di indirizzi e voglio estrarre solo ed unicamente il nr civico. La lunghezza degli indirizzi come sa è variabile, quindi non saprei. Come potrei fare?
Attendo un suo responso.
Grazie!
Ciao, se hai una versione recente di Excel potresti provare con il flash fill
Ciao
come faccio ad estrarre da un numero a due cifre presente in una cella i due numeri che lo compongono in celle diverse? Grazie
Ciao nat. Potrebbe essere qualcosa tipo =STRINGA.ESTRAI(A2;1;1) in una cella e =STRINGA.ESTRAI(A2;2;1) nell’altra. Se vuoi convertirli in numero anteponi ‘–‘… quindi =–STRINGA.ESTRAI(A2;1;1)
ciao Samuele, vorrei inviarti un’immagine
Ciao Tonio, inviamela pure. Tieni presente cmq che solitamente con un file excel ci si capisce prima.
Ciao Amico Excel, posso chiederti un aiuto ?
ho una cella dove cè un numero che puo variare di grandezza da 0, 0001 a 100,000 seguito da KG tipo ( 4,270 Kg) vorrei utilizzare il numero .
Come posso fare ciao e grazie
Ciao Francesco. Se alla fine hai sempre ” Kg” allora potresti scrivere STRINGA.ESTRAI in questo modo:
=STRINGA.ESTRAI(A2;1;LUNGHEZZA(A2)-3)
Il risultato sarà cmq testuale. Per convertirlo già in numero aggiungici meno meno davanti:
=–STRINGA.ESTRAI(A2;1;LUNGHEZZA(A2)-3)
E siste un metodo che con pochi passaggi riusciamo a estrarre dal numero più caratteri in diverse celle, per esempio un numero binario??
Probabilmente con ‘testo in colonne’… ma bisognerebbe avere qualche info in più
Buonasera Samuele, le sarei molto grata se mi indicasse come risolvere un “problema” excel.
Ho provato a cercare soluzioni su internet e forum di facile comprensione ma … non ci capisco molto! Mi deve scusare! Provo a spiegare il mio problema.
In un foglio excel ho indicato, nelle varie righe, i singoli prodotti che ordino. Nelle relative colonne indico le caratteristiche del singolo prodotto (colore, prezzo, provenienzsa …). Una delle colonne (es. colonna F) riporta la data di arrivo del prodotto. Se il prodotto non è ancora mai arrivato la cella è vuota.
In una cella di un altro foglio riepilogativo ho bisogno di immettere una formula che riporti la data più recente di arrivo presente nella colonna F del primo foglio (a prescindere dal tipo di prodotto).
E’ possibile farlo? spero di essermi spiegata bene e che sia possibile avere una soluzione semplice.
La ringrazio se vorrà rispondermi.
Cordiali saluti.
Roberta
Buonasera Roberta.
Potrebbe essere la funzione MAX? =MAX(nome_tuo_foglio!F:nome_tuo_foglio!F) ti restituisce la data più recente. Imposta poi il formato Data altrimenti ti restituisce un numero.
Ciao. Io proverei ad utilizzare il flash fill
Articolo flash fill
Ciao
ho visto il comando stringa estrai con la variabile in base ad un determinato valore in questo caso avevi messo la “/” c’è anche una versione che estrae i valori dopo il valore (destra del valore)?
Grazie
Ciao Nicola.
Io proverei a considerare anche le funzionalità ‘testo in colonne’ e ‘flash fill’.
Di seguito ti riporto il link ad un articolo dove puoi trovare anche un video:
https://www.amicoexcel.it/estrarre-con-testo-in-colonne-stringa-estrai-e-flash-fill/
Grazie mille
ottime soluzioni
Nella colonna A di excel ho una serie di stringhe di lunghezza variabile che
terminano tutte con un numero di 2 o di tre cifre e parentesi chiusa.
Mi spiego meglio con un esempio:
Aggiunta di un punto di Rubber Band (vedi pagina 424)
Clip della barra dei colori (vedi pagina 211)
Controllo/Regolazione degli effetti (vedi pagina 387)
Controllo/Regolazione degli effetti (vedi pagina 387)
Eliminazione dei risultati della ricerca (vedi pagina 227)
IL mio problema è quello di estrarre il numero finale mettendolo nella colonna B
Quindi facendo riferimento all’esempio, nella colonna B di Excel vorrei trovare
424
387
387
227
Sicuramente la cosa è fattibile, ma non so come fare.
Sig. Samuele le sarei infinitamente grato se mi potesse aiutare.
Grazie anticipatamente
Salve Roberto.
Un paio di soluzioni:
1) flash fill, qui trovi degli esempi: tutorial flash fill
2) funzioni testuali
=STRINGA.ESTRAI(B1;RICERCA(“(vedi pagina “;B1)+12;LUNGHEZZA(B1)-(RICERCA(“(vedi pagina “;B1)+12))
estrae da B1…. partendo dalla posizione del testo “(vedi pagina “… estrai un numero di caratteri pari alla differenza tra la lunghezza della cella e la posizione di “(vedi pagina ”
Chiaramente il secondo modo parte dall’ipotesi che in ogni cella sia sempre presente alla fine il testo “(vedi pagina “.
Ciao,
mi sono imbattuto nel tuo forum cercando una funzione.
In sostanza non riesco a capire come poter estrarre solo “le prime due parole” dalla cella.
Puoi aiutarmi?
Ciao Ivan.
Potresti provare ad utilizzare il TROVA ed il SINISTRA.
=SINISTRA(A1;TROVA(” “;A1;TROVA(” “;A1) +1)-1)
si può estrarre il codice fiscale all’interno di una frase:
“xxxxxxxxxxx xxxxxxxxx FGZFNC77H39G952N Richiesta cartella France 1254125595221 ID: 0778951268889665190 VIA SEPE 66 00100 ROMA”
Ciao Giancarlo. Puoi tentare con il flash fill.