[Risolto] Estrazione di una parte di stringa alfanumerica

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

[Risolto] Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

Ho una cella in cui è presente un indirizzo ed un numero civico (non separati da virgola o altri caratteri), come posso fare per estrarre il numero civico?
Ultima modifica di mapa3n il venerdì 17 aprile 2020, 16:25, modificato 3 volte in totale.
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da gioh66 »

Salve! giusto per non sparare a caso metti un file con qualche esempio.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

gioh66 ha scritto:Salve! giusto per non sparare a caso metti un file con qualche esempio.
…non ho allegato nulla perché pensavo che la mia domanda fosse chiara e inoltre sto scrivendo da smartphone e quindi…

Cella A1: Corso Gaetano Scirea 11
Cella A2: 11
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da gioh66 »

La domanda è chiara, il mio dubbio è in quale posizione possa stare il numero civico all'interno della stringa.
Se come da esempio è sempre in ultimo potresti provare così

Codice: Seleziona tutto

=ANNULLA.SPAZI(DESTRA(SOSTITUISCI(A1;" ";RIPETI(" ";20));20))
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

gioh66 ha scritto:Se come da esempio è sempre in ultimo potresti provare così

Codice: Seleziona tutto

=ANNULLA.SPAZI(DESTRA(SOSTITUISCI(A1;" ";RIPETI(" ";20));20))
...funziona, grazie…

E' possibile fare in modo che, se nella cella non è presente il numero civico, la cella dove viene immessa la formula resti vuota?

Cella A1: Corso Gaetano Scirea
Cella A2: <VUOTA>
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da gioh66 »

Assicurandoti di avere la spunta su "permetti espressioni regolari nelle formule" da menù strumenti>opzioni>libreoffice calc>calcola, prova

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1));ANNULLA.SPAZI(DESTRA(SOSTITUISCI(A1;" ";RIPETI(" ";20));20));"")
estrai civico.png
Allegati
estrai civico.ods
(10.84 KiB) Scaricato 139 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

gioh66 ha scritto:Assicurandoti di avere la spunta su "permetti espressioni regolari nelle formule" da menù strumenti>opzioni>libreoffice calc>calcola, prova

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1));ANNULLA.SPAZI(DESTRA(SOSTITUISCI(A1;" ";RIPETI(" ";20));20));"")
estrai civico.png
Grazie!
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: [Risolto] Estrazione di una parte di stringa alfanumeric

Messaggio da gioh66 »

Grazie a te del riscontro.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: [Risolto] Estrazione di una parte di stringa alfanumeric

Messaggio da mapa3n »

…dimenticavo, è possibile, in un altra cella ovviamente, mantenere l’indirizzo senza numero civico?

Cella A1: Corso Gaetano Scirea 11
Cella A2: 11
Cella A3: Corso Gaetano Scirea
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da gioh66 »

Prova così: in una cella metti

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1))=0;A1;RIMPIAZZA(A1;RICERCA("[:digit:]";A1);20;""))
Ti allego file di prova dove in C1 a scendere c'è questa formula e a fianco quella per estrarre il numero civico.
Allegati
estrai civico(bis).ods
(12.47 KiB) Scaricato 173 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

Grazie mille, funziona alla perfezione!

Solo un’ultima cosa riguardante l’estrazione del numero civico: se l’indirizzo è nel formato Corso Gaetano Scirea 11 oppure Corso Gaetano Scirea 11/A l’estrazione del numero civico funziona perfettamente, se però l’indirizzo è Corso Gaetano Scirea 11 SUB A oppure Corso Gaetano Scirea 11 INT 1 la funzione per estrarre il numero civico restituisce solamente A oppure 1.————————————————————
Caso 1 OKAY
Cella A: Corso Gaetano Scirea 11
Cella B: 11
————————————————————
Caso 2 OKAY
Cella A: Corso Gaetano Scirea 11/C
Cella B: 11/C
————————————————————
Caso 3 ERRORE
Cella A: Corso Gaetano Scirea 11 SUB A
Cella B: A
————————————————————
Caso 4 ERRORE
Cella A: Corso Gaetano Scirea 11 INT 1
Cella B: 1
————————————————————

Puoi aiutarmi, per favore?
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da gioh66 »

gioh66 ha scritto:La domanda è chiara, il mio dubbio è in quale posizione possa stare il numero civico all'interno della stringa.
Vedi perchè ti avevo chiesto un file all'inizio? :D
Bene, visto che come sospettavo il numero civico non è sempre alla fine della stringa, prova così:
in B1 per estrarre solo l'indirizzo, resta quella che ti avevo dato

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1))=0;A1;RIMPIAZZA(A1;RICERCA("[:digit:]";A1);20;""))
invece per il numero civico usa questa

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1))=0;"";STRINGA.ESTRAI(A1;RICERCA("[:digit:]";A1);20))
Allegati
estrai civico (bis1).ods
(11.72 KiB) Scaricato 142 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: Estrazione di una parte di stringa alfanumerica

Messaggio da mapa3n »

gioh66 ha scritto:
gioh66 ha scritto:La domanda è chiara, il mio dubbio è in quale posizione possa stare il numero civico all'interno della stringa.
Bene, visto che come sospettavo il numero civico non è sempre alla fine della stringa, prova così:
in B1 per estrarre solo l'indirizzo, resta quella che ti avevo dato

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1))=0;A1;RIMPIAZZA(A1;RICERCA("[:digit:]";A1);20;""))
invece per il numero civico usa questa

Codice: Seleziona tutto

=SE(VAL.NUMERO(RICERCA("[:digit:]";A1))=0;"";STRINGA.ESTRAI(A1;RICERCA("[:digit:]";A1);20))
...anche questa volta funziona, ti ringrazio tantissimo per l'aiuto, buona giornata…

Ps E se avessi voglia di spiegarmi la logica di queste ultime 2 stringhe...
LibreOffice 6 a 64 bit su Windows 10 Pro
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1907
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: [Risolto] Estrazione di una parte di stringa alfanumeric

Messaggio da gioh66 »

Allora, nella prima se la ricerca di [:digit:] (che è un carattere jolly che sta per un numero qualsiasi) è un numero uguale a zero, allora dammi il valore di A1, altrimenti rimpiazza, nel testo di A1, dalla posizione in cui viene trovato [:digit:] e per una lunghezza di 20 caratteri con nulla. In questo modo elimini il civico.

Nella seconda, se la ricerca di [:digit:] è uguale a 0 allora lascia la cella vuota, altrimenti estraimi da A1 il testo che si trova dalla posizione di [:digit:] per una lunghezza di venti caratteri.
Per una panoramica sulle formule che ho usato, prova a veder qui
https://help.libreoffice.org/4.1/Calc/T ... it#RICERCA
https://help.libreoffice.org/4.1/Common ... essions/it
https://help.libreoffice.org/4.1/Calc/T ... #RIMPIAZZA
https://help.libreoffice.org/4.1/Calc/T ... NGA.ESTRAI
Ultima modifica di gioh66 il sabato 18 aprile 2020, 10:22, modificato 1 volta in totale.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
mapa3n
Messaggi: 39
Iscritto il: giovedì 11 aprile 2019, 13:04

Re: [Risolto] Estrazione di una parte di stringa alfanumeric

Messaggio da mapa3n »

Nuovamente grazie, buona giornata!
LibreOffice 6 a 64 bit su Windows 10 Pro
Rispondi