Discussione:
inserire spazio
(troppo vecchio per rispondere)
b***@gmail.com
2008-08-21 12:28:22 UTC
Permalink
Ciao, volevo chiedervi come posso fare ad inserire uno spazio su una
stringa.
nello specifico ho una valanga di indirizzi con i numeri civici
attaccati all' ultimo carattere, e vorrei aggiungere uno spazio prima
dell'ultimo carattere.

Grazie Claudio.
ivano
2008-08-21 13:50:00 UTC
Permalink
Post by b***@gmail.com
Ciao, volevo chiedervi come posso fare ad inserire uno spazio su una
stringa.
nello specifico ho una valanga di indirizzi con i numeri civici
attaccati all' ultimo carattere, e vorrei aggiungere uno spazio prima
dell'ultimo carattere.
Grazie Claudio.
Ciao,
mettiamo in A1 la stringa
In B1 la formula:
=MIN(SE((CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))>=48)*(CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))<=57);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
e confermi con ctrl+maiusc+invio

In c1:
=STRINGA.ESTRAI(A1;1;B1-1)&" "&STRINGA.ESTRAI(A1;B1;LUNGHEZZA(A1)-B1+1)

ivano
Pippo
2008-08-21 13:56:01 UTC
Permalink
ivano ha pensato forte :

[cut]

Scusa Ivano, una curiosita'..viste le tue capacita', hai mai pensato
di incominciare a scrivere qualche macro? ;-))

Ciaooooo
--
Ciao a tutti
Pippo
ivano
2008-08-21 18:16:16 UTC
Permalink
[cut]
Scusa Ivano, una curiosita'..viste le tue capacita', hai mai pensato di
incominciare a scrivere qualche macro? ;-))
Ciao,
beh..io scrivo già macro....non vba; solo macro 4.0.
ivano
Pippo
2008-08-21 19:22:10 UTC
Permalink
Post by ivano
[cut]
Scusa Ivano, una curiosita'..viste le tue capacita', hai mai pensato di
incominciare a scrivere qualche macro? ;-))
beh..io scrivo già macro....non vba; solo macro 4.0.
Si', questo lo sapevo...pero', fino a quando le prossime versioni excel
supporteranno le macro 4.0? ;-)..cmq al ng credo NON dipsiacerebbe un
tuo passaggio al vba.;-)

Ciaoooo
Pippo
--
Ciao a tutti
Pippo
Benny
2008-08-21 18:03:01 UTC
Permalink
Post by ivano
Post by b***@gmail.com
Ciao, volevo chiedervi come posso fare ad inserire uno spazio su una
stringa.
nello specifico ho una valanga di indirizzi con i numeri civici
attaccati all' ultimo carattere, e vorrei aggiungere uno spazio prima
dell'ultimo carattere.
Grazie Claudio.
Ciao,
mettiamo in A1 la stringa
=MIN(SE((CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))>=48)*(CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))<=57);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
e confermi con ctrl+maiusc+invio
=STRINGA.ESTRAI(A1;1;B1-1)&" "&STRINGA.ESTRAI(A1;B1;LUNGHEZZA(A1)-B1+1)
ivano
Complimenti "ivano"!!!
Davvero impressionante!
Sinceramente!
A me piacerebbe imparare!
Non si potrebbe avere qualche commentino alla formula per capire almeno come
viene impiegata la funzionalità di matrice.

Benny

P.S.: le formule le conoscevo tutte ma non sarei mai stato in grado di
realizzare niente del genere.
ivano
2008-08-21 18:24:11 UTC
Permalink
Post by Benny
Post by ivano
Post by b***@gmail.com
Ciao, volevo chiedervi come posso fare ad inserire uno spazio su una
stringa.
nello specifico ho una valanga di indirizzi con i numeri civici
attaccati all' ultimo carattere, e vorrei aggiungere uno spazio prima
dell'ultimo carattere.
Grazie Claudio.
Ciao,
mettiamo in A1 la stringa
=MIN(SE((CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))>=48)*(CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))<=57);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
e confermi con ctrl+maiusc+invio
=STRINGA.ESTRAI(A1;1;B1-1)&" "&STRINGA.ESTRAI(A1;B1;LUNGHEZZA(A1)-B1+1)
ivano
Complimenti "ivano"!!!
Davvero impressionante!
Sinceramente!
A me piacerebbe imparare!
Non si potrebbe avere qualche commentino alla formula per capire almeno come
viene impiegata la funzionalità di matrice.
Benny
P.S.: le formule le conoscevo tutte ma non sarei mai stato in grado di
realizzare niente del genere.
Alcuni spunti:
1- RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1))
crea una matrice composta da tanti numeri come la lunghezza di A1 che
partono da 1 in incremento di 1
2-STRINGA.ESTRAI() estrae un carattere alla volta in base alla formula al
punto 1
3-CODICE() permette di sapere se un carattere del punto 2 è lettera o numero
in base al suo codice ascii ( i codici dal 48 al 57 sono i numeri da 0 a 9)

uleriore formula:
=MIN(SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1));RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))

per riconoscere se un carattere è testo o numero, basta moltiplicarlo per 1:
Se numero il "testo" (stringa.estrai restituisce sempre testo) viene
convertito in numero, altrimenti si ottiene un valore d'errore.

ivano
eliano
2008-08-21 23:41:01 UTC
Permalink
Post by ivano
Post by Benny
Post by ivano
Post by b***@gmail.com
Ciao, volevo chiedervi come posso fare ad inserire uno spazio su una
stringa.
nello specifico ho una valanga di indirizzi con i numeri civici
attaccati all' ultimo carattere, e vorrei aggiungere uno spazio prima
dell'ultimo carattere.
Grazie Claudio.
Ciao,
mettiamo in A1 la stringa
=MIN(SE((CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))>=48)*(CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))<=57);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
e confermi con ctrl+maiusc+invio
=STRINGA.ESTRAI(A1;1;B1-1)&" "&STRINGA.ESTRAI(A1;B1;LUNGHEZZA(A1)-B1+1)
ivano
Complimenti "ivano"!!!
Davvero impressionante!
Sinceramente!
A me piacerebbe imparare!
Non si potrebbe avere qualche commentino alla formula per capire almeno come
viene impiegata la funzionalità di matrice.
Benny
P.S.: le formule le conoscevo tutte ma non sarei mai stato in grado di
realizzare niente del genere.
1- RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1))
crea una matrice composta da tanti numeri come la lunghezza di A1 che
partono da 1 in incremento di 1
2-STRINGA.ESTRAI() estrae un carattere alla volta in base alla formula al
punto 1
3-CODICE() permette di sapere se un carattere del punto 2 è lettera o numero
in base al suo codice ascii ( i codici dal 48 al 57 sono i numeri da 0 a 9)
=MIN(SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1));RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
Se numero il "testo" (stringa.estrai restituisce sempre testo) viene
convertito in numero, altrimenti si ottiene un valore d'errore.
Ciao Ivano.
Grazie grande Ivano, per aver ripreso con una certa continuità e per le
"seminate" che ci dai.
Per Benny (Ciao): cerca con Google le migliaia di post di "quest'omo" e
quando penserai di aver capito, continua a cercare; non finirai mai di
stupirti.
Con riferimento a Pippo (Ciao): Ivano, se aprissi un negozio di ferramenta
non avresti problemi di lievitazione o di cottura ed i prodotti sarebbero
sempre al dente. :-D)
Saluti a tutti
Eliano
b***@gmail.com
2008-08-22 08:48:13 UTC
Permalink
Come sempre gentili e disponibili.

grazie e ciao
b***@gmail.com
2008-08-22 09:03:21 UTC
Permalink
Post by b***@gmail.com
Come sempre gentili e disponibili.
grazie e ciao
Ciao Ivano,
ho provato la tua formula, ma mi da errore.
Ho inserito in A1 la stringa: Via Pippo Spano23
come avrai capito il mio desiderio è di inserire uno spazio tra la
fine di Spano e 23.
Ho inserito copiando la tua formula in b1 e ho pigiato contestualmente
i tasti Ctrl+il tasto sopra Ctrl e invio.

Dove sbaglio?

Grazie e ciao
ivano
2008-08-22 11:00:06 UTC
Permalink
Post by b***@gmail.com
Post by b***@gmail.com
Come sempre gentili e disponibili.
grazie e ciao
Ciao Ivano,
ho provato la tua formula, ma mi da errore.
Ho inserito in A1 la stringa: Via Pippo Spano23
come avrai capito il mio desiderio è di inserire uno spazio tra la
fine di Spano e 23.
Ho inserito copiando la tua formula in b1 e ho pigiato contestualmente
i tasti Ctrl+il tasto sopra Ctrl e invio.
Dove sbaglio?
Grazie e ciao
Per sapere dove sbagli, dovrei sapere che genere d'errore riscontri.
In ogni caso, consulta le formule nel file:
http://cid-eea94509008b1d68.skydrive.live.com/self.aspx/Pubblica/spazio.xls
ivano
b***@gmail.com
2008-08-22 12:11:22 UTC
Permalink
Post by ivano
Per sapere dove sbagli, dovrei sapere che genere d'errore riscontri.
In ogni caso, consulta le formule nel file:http://cid-eea94509008b1d68.skydrive.live.com/self.aspx/Pubblica/spaz...
ivano- Nascondi testo citato
- Mostra testo citato -
tutto o.k.

Ciao e grazie
Benny
2008-09-06 09:30:01 UTC
Permalink
Post by eliano
Ciao Ivano.
Grazie grande Ivano, per aver ripreso con una certa continuità e per le
"seminate" che ci dai.
Per Benny (Ciao): cerca con Google le migliaia di post di "quest'omo" e
quando penserai di aver capito, continua a cercare; non finirai mai di
stupirti.
Con riferimento a Pippo (Ciao): Ivano, se aprissi un negozio di ferramenta
non avresti problemi di lievitazione o di cottura ed i prodotti sarebbero
sempre al dente. :-D)
Saluti a tutti
Eliano
Ciao di nuovo a tutti! Mi perdonerete la poca continuità, ma il dovere ha
chiamato tanto. Comunque:
in primo luogo grazie a Ivano per il tempo che mi ha dedicato e grazie a
tutti per l’attenzione, seguirò appena posso i consigli di Eliano (Ciao! E
piacere di fare la vostra conoscenza).
Come ho già detto
Post by eliano
Post by Benny
A me piacerebbe imparare!
1- RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1))
crea una matrice composta da tanti numeri come la lunghezza di A1 che
partono da 1 in incremento di 1
ho studiato un po':

nella guida on line di Excel, al percorso
Home Page Excel > Informazioni di base sulle formule e i nomi > Creazione di
formule >

Formule in forma di matrice: indicazioni ed esempi

Ho trovato quanto si riferisce al tuo modo di procedere:
“A questo punto può essere utile fornire alcune indicazioni sulle funzioni
RIF.RIGA e INDIRETTO. La funzione RIF.RIGA può essere utilizzata per creare
una matrice di numeri interi consecutivi. Ad esempio, selezionare una colonna
vuota di 10 celle nella cartella di lavoro utilizzata per l'esercitazione,
immettere questa formula in forma di matrice nelle celle A1:A10, quindi
premere CTRL+MAIUSC+INVIO:

=RIF.RIGA(1:10)

La formula crea una colonna di 10 numeri interi consecutivi. Per osservare
un possibile problema, inserire una riga sopra l'intervallo contenente la
formula in forma di matrice, in questo caso sopra la riga 1. I riferimenti di
riga vengono adeguati automaticamente e la formula genera numeri interi da 2
a 11. Per risolvere questo problema, aggiungere la funzione INDIRETTO alla
formula:

=RIF.RIGA(INDIRETTO("1:10"))

La funzione INDIRETTO utilizza stringhe di testo come argomenti e per questo
motivo l'intervallo 1:10 è racchiuso tra virgolette doppie. I valori di testo
non vengono adeguati automaticamente in caso di inserimento di righe o di
spostamento della formula in forma di matrice. Di conseguenza, la funzione
RIF.RIGA genera sempre la matrice di numeri interi desiderata.”

Credo allora di aver capito:
Ivano ha inserito come termine dell’intervallo / argomento della funz.
INDIRETTO() la lunghezza della stringa in cui inserire lo spazio. Si tratta
cioè di un escamotage per dar modo alla formula di procedere un carattere
alla volta all’interno della stringa fino a tutta la sua lunghezza.
Post by eliano
2-STRINGA.ESTRAI() estrae un carattere alla volta in base alla formula al
punto 1
3-CODICE() permette di sapere se un carattere del punto 2 è lettera o numero
in base al suo codice ascii ( i codici dal 48 al 57 sono i numeri da 0 a 9)
=MIN(SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1));RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
Se numero il "testo" (stringa.estrai restituisce sempre testo) viene
convertito in numero, altrimenti si ottiene un valore d'errore.
mettiamo in A1 la stringa
=MIN(SE((CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))>=48)*(CODICE(STRINGA.ESTRAI(A1;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));1))<=57);RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A1)));""))
e confermi con ctrl+maiusc+invio
Il prodotto che sta al TEST sella funz. SE() serve a implementare un AND
logico, giusto!
La domanda potrebbe allora essere: è stata fatta questa scelta perché è
“conveniente” dal punto di vista del minor appesantimento del processore con
i calcoli? Una scelta, per così dire, di efficienza del programma?
Post by eliano
=STRINGA.ESTRAI(A1;1;B1-1)&" "&STRINGA.ESTRAI(A1;B1;LUNGHEZZA(A1)-B1+1)
Ivano
Questa ultima formula invece effettua materialmente l’inserimento al posto
indicato dalla funzione precedente, giusto?

Per me allora tutto chiaro!
Grazie mille a tutti e “scusate il ritardo”.

P.S.: chiedo scusa a “***@gmail.com” se mi sono un po’ intrufolato e a
tutti gli altri se mi sono “allargato” così tanto.

Continua a leggere su narkive:
Loading...