LibreOffice Calc - Estrarre numeri da celle alfanumeriche (posizioni non fisse)

Linux Xubuntu 4.15.0-43-generic #46 
LibreOffice Versione: 6.0.7.3 Build ID: 1:6.0.7-0ubuntu0.18.04.2 Thread CPU: 4; SO: Linux 4.15; Resa interfaccia: predefinito; VCL: gtk3;  Versione locale: it-IT (it_IT.UTF-8); Calc: group

Salve a tutti,
questo è un problema noto nel settore dei fogli di calcolo.
È stato risolto nel mondo Microsoft da TuttoExcel, tramite la produzione di un add-in,
(https://www.tuttoexcel.it/add-in-funzioni-di-tuttoexcel/)
ma non riesco ad importare le macro in LibreOffice Calc.

Il Problema

Se in un foglio di calcolo c’è una serie molto lunga di celle che contengono delle frasi
con all’interno dei numeri in posizioni “casuali”, quindi non risolvibili con la funzione Stringa.Estrai,
come si fa ad estrarre detti numeri, e riportarli in una colonna a fianco, togliendo tutto il testo?

Allegato di Esempio

Estrarre Numeri da Celle Alfanumeriche in Posizioni Casuali.ods

Grazie in anticipo per il vostro aiuto.

Salve prova così: in B2 metti

=ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(A2;" ";RIPETI(" ";100));SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(SE.ERRORE(TROVA(0;SOSTITUISCI(A2;" ";RIPETI(" ";100)));TROVA(1;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(2;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(3;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(4;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(5;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(6;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(7;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(8;SOSTITUISCI(A2;" ";RIPETI(" ";100))));TROVA(9;SOSTITUISCI(A2;" ";RIPETI(" ";100))));100))

e trascina in basso.
Per funzionare il numero deve essere seguito da uno spazio come nell’esempio.

Grazie a te del riscontro!

Mamma mia che nidificazione !
Grazie molte… funziona.

A presto.

Un po’ più semplice, anche se non molto:

=STRINGA.ESTRAI(A2;RICERCA("[:digit:]";A2);RICERCA("[:alpha:]";A2;RICERCA("[:digit:]";A2))-RICERCA("[:digit:]";A2))

Facendo uso delle espressioni regolari [:digit:] (una cifra qualsiasi) e [:alpha:] (un carattere alfabetico qualsiasi) è necessario che in Strumenti -> Opzioni -> LibreOffice Calc -> Calcola sia attivata l’opzione Permetti espressioni regolari nelle formule.

Se nel tuo testo non ci sono numeri la formula restituirà #VALORE!, eventualmente puoi integrare la formula per gestire eventuali errori.

Se invece ci sono numeri in più punti del testo, verrà estratto solo il primo numero.

Wow, grande! Non conoscevo questo sistema…mò me lo copio e lo metto da parte :slight_smile:

È vero, molto interessante questa soluzione, e soprattutto sintatticamente molto elegante.
Grazie… funziona.
Soprattutto molto interessante perché non ha problemi se i numeri sono separati da spazi, oppure se sono contenuti all’interno di parole.
Grazie ancora.