Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

dividere stringa con caratteri

Ultimo Aggiornamento: 08/08/2017 18:08
Post: 744
Registrato il: 18/02/2010
Città: MILANO
Età: 28
Utente Senior
excel 2003 / 2007
OFFLINE
06/08/2017 21:16

Ciao a tutti,
come posso diividere questa stringa:

massimo maggiore, via garibaldi 788 - san giovanni giovanni, 88018 / brindisi

in 5 colonne.
I caratteri che dividono le parole possono essere sempre gli stessi tipo:

massimo maggiore, via garibaldi 788, san giovanni giovanni, 88018, brindisi

o vari come il primo esempio.
Spero sia possibile.
xam
-------------------------------
excel 2003 ufficio / 2007 casa
Post: 1.077
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
06/08/2017 21:23

prova con
menu dati
testo in colonna

ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 744
Registrato il: 18/02/2010
Città: MILANO
Età: 28
Utente Senior
excel 2003 / 2007
OFFLINE
06/08/2017 21:44

Ciao tanimon.
Grazie della risposta.
E' possibile fare lo stesso con una formula?
xam
-------------------------------
excel 2003 ufficio / 2007 casa
Post: 1.078
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
06/08/2017 22:06

prova a dare un'occhiata qui







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 745
Registrato il: 18/02/2010
Città: MILANO
Età: 28
Utente Senior
excel 2003 / 2007
OFFLINE
06/08/2017 22:27

Bè questa ricerca l'ho gia fatta.
Ho trovato varie formule ma con più vari caratteri nella stringa non sono riuscito trovare qualcosa.
xam
-------------------------------
excel 2003 ufficio / 2007 casa
Post: 1.079
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
07/08/2017 00:01

Re:
xam99, 8/6/2017 9:44 PM:

Ciao tanimon.
Grazie della risposta.
E' possibile fare lo stesso con una formula?
xam




dato che vuoi il risultato in 5 colonne diverse, non credo tu lo possa fare con UNA formula singola:

che io sappia una formula ne dà il risultato nella cella in cui è inserita e mettere in una cella 5 risultati.............


ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 1.527
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
07/08/2017 10:20

Re:
xam99, 06/08/2017 21.44:

E' possibile fare lo stesso con una formula?
xam



Si, ma in forma matriciale (con formula legata ad una udf) inserita selezionando tutto il range di destinazione.
Mi spiego meglio:

in A1 hai:
massimo maggiore, via garibaldi 788, san giovanni giovanni, 88018, brindisi

Selezioni con il mouse le 5 celle di destinazione (B1..> F1) clicchi nella barra della formula e ci scrivi:
=Separa(A1;B1) confermando con ctrl+shift+invio
B1>F1 si riempirà con le 5 stringhe che sono separate dalla virgola.

Questa l'udf:
Function Separa(Indirizzo As Variant, mRng As Range) As Variant()
Dim mArr() As Variant
n = 4
stringa = Split(Indirizzo, ",")
For i = 0 To n
    ReDim Preserve mArr(i)
    mArr(i) = stringa(i)
Next
Separa = mArr
End Function


Allego esempio dove, come vedi, non potrai modificare le singole celle da B1 a F1, ma le dovrai prima selezionare e poi apportare eventuali rettifiche. (E' più facile a farsi che a dirsi)

Per copiare devi selezionare le 5 celle e poi copiare o trascinare.

Saluti

edit: ovviamente quanto sopra è tarato su testo contenente 4 virgole; se possono essere di meno (o di più) va rettificato.


[Modificato da dodo47 07/08/2017 17:54]
Domenico
Win 10 - Excel 2016
Post: 746
Registrato il: 18/02/2010
Città: MILANO
Età: 28
Utente Senior
excel 2003 / 2007
OFFLINE
07/08/2017 21:33

Grazie dodo47,
la udf funziona.
Ho provato ad ggiungere ulteriori caratteri:

stringa = Split(Importo, ",", "/")

ma non va.
xam
-------------------------------
excel 2003 ufficio / 2007 casa
Post: 953
Registrato il: 04/02/2009
Città: MILANO
Età: 64
Utente Senior
2000 - 2007
OFFLINE
07/08/2017 23:04

Se i separatori non sono tutti uguali non credo esistano soluzioni che si possano automatizzare.
Io proverei prima a fare un po' di pulizia e uniformare tutti i delimitatori tramite la funzione "Sostituisci".
Per esempio se sostituisci tutti i "-" con "," e poi, seguendo il tuo esempio, tutti i "/" con "," alla fine ti ritroverai solo con le virgole o quasi(qualche eccezione mettila in conto).
Una volta fatto questo SALVA TUTTO! poi ti fai una copia del file e SULLA COPIA evidenzi tutto l'elenco e usi la funzione "Testo in colonne" indicando "," come separatore.
Guardi il risultato e aggiusti a mano le eccezioni.

Buon lavoro!

ciao
Pietrol

PS: adesso vedo che già tanimon ti aveva indicato questa soluzione
pietrol
____________________________________
Win 10 Pro - Excel 2000 - 2007 -2016

Il lupo ululà, il castello ululì.
Post: 1.531
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
08/08/2017 17:40

xam
pare ovvio che i separatori debbano essere sempre gli stessi, o tutte virgole o tutti trattini ecc ecc.
Quindi sia che tu voglia usare l'udf o la funzione testo in colonne devi (come suggerito)preventivamente uniformare i separatori con un trova e sostituisci.

saluti







Domenico
Win 10 - Excel 2016
Post: 747
Registrato il: 18/02/2010
Città: MILANO
Età: 28
Utente Senior
excel 2003 / 2007
OFFLINE
08/08/2017 18:08

[SM=g27811] [SM=g27811] [SM=g27811]
grazie a tutti.
xam
-------------------------------
excel 2003 ufficio / 2007 casa
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 21:33. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com