Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Estrazione numeri da stringhe alfanumeriche

2,025 views
Skip to first unread message

paoloard

unread,
Dec 11, 2009, 3:45:15 AM12/11/09
to
Alla pagina http://office.microsoft.com/it/excel/HA011549011040.aspx? viene
indicato come estrarre i numeri da stringhe alfanumeriche con la seguente
formula:
=STRINGA.ESTRAI(A1;CONFRONTA(1;1*VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1));0);CONTA.NUMERI(1*STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1)))
questa per� funziona correttamente solo se i numeri, all'interno della
stringa, sono consecutivi.
Infatti da
abc123 --> 123
ab123c --> 123
ma
ab1c23 --> 1c2
1bca23 --> 1bc
di fatto trova il primo numero, lo estrae insieme al numero di caratteri
successivi senza distinguere fra numeri e caratteri alfabetici, tanti quanti
sono i numeri nella stringa.
Non riesco a modificarla tanto da estrarre tutti i numeri indipendentemente
dalla loro posizione nella stringa.
Mi date una mano? Grazie
paoloard

Mauro Gamberini

unread,
Dec 11, 2009, 3:59:40 AM12/11/09
to
> Mi date una mano? Grazie
>

Con una macro? ;-)

--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads

Tiziano Marmiroli

unread,
Dec 11, 2009, 4:11:18 AM12/11/09
to

IMHO devi per forza ricorrere a formule matriciali.

Vedi ad esempio

From: elby
Subject: Re: Formula di estrazione
Date: 21 Apr 2007 09:22:33 -0700
Newsgroups: microsoft.public.it.office.excel
www.google.it/groups?threadm=1177172553....@e65g2000hsc.googlegroups.com
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org

paoloard

unread,
Dec 11, 2009, 4:55:57 AM12/11/09
to

"Mauro Gamberini" <maurogsc...@RIMUOVEREaliceposta.it> ha scritto nel
messaggio news:%23%23vxIBke...@TK2MSFTNGP02.phx.gbl...

>> Mi date una mano? Grazie
>>
>
> Con una macro? ;-)
>

LOL
ciao Mauro
paoloard

paoloard

unread,
Dec 11, 2009, 5:02:05 AM12/11/09
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:ri24i5582hu4fs88u...@4ax.com...

> Il Fri, 11 Dec 2009 09:45:15 +0100, paoloard ha scritto:
cut

> IMHO devi per forza ricorrere a formule matriciali.

hai ragione Tiziano, avevo dimenticato di specificarlo che la formula era
matriciale.

> Vedi ad esempio
>
> From: elby
> Subject: Re: Formula di estrazione
> Date: 21 Apr 2007 09:22:33 -0700
> Newsgroups: microsoft.public.it.office.excel
> www.google.it/groups?threadm=1177172553....@e65g2000hsc.googlegroups.com

avrei preferito una soluzione senza codice. Se possibile, ma so che �
possibile, non appena una delle due mitiche ci mette il naso ;-)

--
ciao paoloard
http://riolab.org

Ignazio

unread,
Dec 11, 2009, 12:04:13 PM12/11/09
to
"paoloard" <xxp...@alice.it> ha scritto nel messaggio
news:266911EB-BF41-4295...@microsoft.com...

Ciao Paolo,
ho provato a scrivere questa formula matriciale (da immettere premendo
Ctrl+Maiusc+Invio):

=SOSTITUISCI(SOMMA(10^(15-RIF.RIGA($1:$15))*SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1));STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1);0));"0";"")

Ha per� il limite di estrarre solo i numeri compresi tra 1 e 9 (elimina
eventuali 0).

--
Ciao,
Ignazio
http://www.riolab.org


Nur

unread,
Dec 11, 2009, 12:55:43 PM12/11/09
to

"paoloard" <xxp...@alice.it> ha scritto nel messaggio
news:OHyEDkke...@TK2MSFTNGP05.phx.gbl...

Ciao a tutti.
Tiziano (penso) si riferisse alla proposta di elby (formula), che, in ogni
caso, otteneva lo stesso risultato di quella indicata da te, ovvero funziona
solo se i numeri sono consecutivi.

Come diceva Ignazio, se non ci fossero zeri, se ne uscirebbe 'abbastanza'...

Con gli zeri... una soluzione funzionante l'avrei anche trovata, ma �
inguardabile.
Il problema principale (con il sistema che ho seguito io) sono gli eventuali
zeri iniziali.

E' necessario definire almeno un nome (altrimenti la formula non viene
accettata nemmeno da excel...).
Supponiamo di avere la nostra stringa in A1.
Definisco il nome 'num':
=RIF.RIGA(INDIRETTO("1:"&CONTA.NUMERI(--STRINGA.ESTRAI($A$1;RIF.RIGA($1:$10);1))))

La 'formulina' per l'estrazione, a questo punto sarebbe:
=TESTO(SOMMA(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));10*RIF.RIGA($1:$10)+STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));num);1)*10^(num-1));RIPETI(0;MAX(num)))
matriciale

Si potrebbe anche scegliere di definire un nome diverso e, se si volesse
trascinare la formula, il nome andrebbe definito con riferimento relativo.

Cosa dire... Meglio pensarci ancora un po' :-)

Ciao, Nur


paoloard

unread,
Dec 11, 2009, 1:10:27 PM12/11/09
to

"Ignazio" <i_putign...@SeScriviAvirgilio.it> ha scritto nel messaggio
news:Oq1a5Poe...@TK2MSFTNGP04.phx.gbl...
cut

> Ctrl+Maiusc+Invio):
>
> =SOSTITUISCI(SOMMA(10^(15-RIF.RIGA($1:$15))*SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1));STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1);0));"0";"")
>
> Ha per� il limite di estrarre solo i numeri compresi tra 1 e 9 (elimina
> eventuali 0).
>

Ciao Ignazio, s� la tua formula funziona egregiamente salvo il limite che
hai evidenziato.
Grazie.
--
Fai sapere se e come hai risolto grazie.
ciao paoloard
http://riolab.org

paoloard

unread,
Dec 11, 2009, 1:17:46 PM12/11/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:%234JCvso...@TK2MSFTNGP04.phx.gbl...
>
cut

> Con gli zeri... una soluzione funzionante l'avrei anche trovata, ma �
> inguardabile.
> Il problema principale (con il sistema che ho seguito io) sono gli
> eventuali zeri iniziali.
>
> E' necessario definire almeno un nome (altrimenti la formula non viene
> accettata nemmeno da excel...).
> Supponiamo di avere la nostra stringa in A1.
> Definisco il nome 'num':
> =RIF.RIGA(INDIRETTO("1:"&CONTA.NUMERI(--STRINGA.ESTRAI($A$1;RIF.RIGA($1:$10);1))))
>
> La 'formulina' per l'estrazione, a questo punto sarebbe:
> =TESTO(SOMMA(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));10*RIF.RIGA($1:$10)+STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));num);1)*10^(num-1));RIPETI(0;MAX(num)))
> matriciale
>
> Si potrebbe anche scegliere di definire un nome diverso e, se si volesse
> trascinare la formula, il nome andrebbe definito con riferimento relativo.
>
> Cosa dire... Meglio pensarci ancora un po' :-)
>
> Ciao, Nur
>

eccola!!
ciao Nur, encomiabile!
Per�, tanto per ragionare, io avrei pensato pi� ad una soluzione che
sostituisse a tutti i caratteri non numerici un singolo carattere, tipo
pipe, poi operare la sostituzione con stringa nulla. Cos�, mentre gli zeri
intermedi verrebbero valorizzati, non occorrerebbe preoccuparsi degli zeri
iniziali in quanto non sarebbero significativi nel definire il numero.
Che dici? Che dite?

Nur

unread,
Dec 11, 2009, 1:42:34 PM12/11/09
to

"paoloard" <xxp...@alice.it> ha scritto nel messaggio
news:O7yAD5oe...@TK2MSFTNGP02.phx.gbl...

> Per�, tanto per ragionare, io avrei pensato pi� ad una soluzione che
> sostituisse a tutti i caratteri non numerici un singolo carattere, tipo
> pipe, poi operare la sostituzione con stringa nulla. Cos�, mentre gli zeri
> intermedi verrebbero valorizzati, non occorrerebbe preoccuparsi degli zeri
> iniziali in quanto non sarebbero significativi nel definire il numero.
> Che dici? Che dite?

Che dico...
1) che se CONCATENA() facesse quello che molti (penso) di noi
spererebbero... avremmo gi� risolto da un pezzo.
2) che fare la sostituzione (che in effetti � la cosa pi� logica e che in vb
si fa con tre righe...) non mi sembra cos� semplice perch� dovresti ripetere
il sostituisci n volte... non puoi fare una sostituzione 'multipla' usando
una matrice come argomento testo_prec.
Intendo: puoi usare una matrice in testo_prec, ma non ottieni quello che
cerchiamo.

Il discorso degli zeri iniziali non l'ho capito bene.
Da una stringa cos�: s00g10r7sd
cosa vorresti estrarre? pensavo 00107
Se andasse bene 107 (come accennavo nell'altro post), sarebbe gi� pi�
semplice.

In ogni caso, sono convinta anch'io che esista un modo migliore.
Quello usato da me � esageratamente contorto, c'� qualcosa 'di troppo'.
Infatti, spero di trovare il tempo (...) di pensarci ancora.

Ciao, Nur


paoloard

unread,
Dec 11, 2009, 1:54:28 PM12/11/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:uSzp6Gpe...@TK2MSFTNGP02.phx.gbl...

>
> "paoloard" <xxp...@alice.it> ha scritto nel messaggio
> news:O7yAD5oe...@TK2MSFTNGP02.phx.gbl...
>
cut>

> Che dico...
> 1) che se CONCATENA() facesse quello che molti (penso) di noi
> spererebbero... avremmo gi� risolto da un pezzo.
> 2) che fare la sostituzione (che in effetti � la cosa pi� logica e che in
> vb si fa con tre righe...) non mi sembra cos� semplice perch� dovresti
> ripetere il sostituisci n volte... non puoi fare una sostituzione
> 'multipla' usando una matrice come argomento testo_prec.
> Intendo: puoi usare una matrice in testo_prec, ma non ottieni quello che
> cerchiamo.
>
> Il discorso degli zeri iniziali non l'ho capito bene.
> Da una stringa cos�: s00g10r7sd
> cosa vorresti estrarre? pensavo 00107
> Se andasse bene 107 (come accennavo nell'altro post), sarebbe gi� pi�
> semplice.

dipende dallo scopo che ci si prefigge. Se la premessa � "estrarre un
numero" mi sembra logico pensare ad un numero naturale, quindi senza zeri,
se invece � "estrarre caratteri numerici", tipo un prefisso telefonico o un
CAP o altro, allora occorrerebbero anche gli zeri iniziali.


>
> In ogni caso, sono convinta anch'io che esista un modo migliore.
> Quello usato da me � esageratamente contorto, c'� qualcosa 'di troppo'.
> Infatti, spero di trovare il tempo (...) di pensarci ancora.
>

e, fra un trasloco, una busta paga e un'occhiata al "marmocchio" :-), spero
proprio che tu possa trovarlo (il tempo).

eliano

unread,
Dec 11, 2009, 6:23:01 PM12/11/09
to

"paoloard" ha scritto:

>
> "Ignazio" <i_putign...@SeScriviAvirgilio.it> ha scritto nel messaggio
> news:Oq1a5Poe...@TK2MSFTNGP04.phx.gbl...
> cut
> > Ctrl+Maiusc+Invio):
> >
> > =SOSTITUISCI(SOMMA(10^(15-RIF.RIGA($1:$15))*SE(VAL.NUMERO(1*STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1));STRINGA.ESTRAI(A1;RIF.RIGA($1:$15);1);0));"0";"")
> >
> > Ha per il limite di estrarre solo i numeri compresi tra 1 e 9 (elimina
> > eventuali 0).
> >
>
> Ciao Ignazio, s la tua formula funziona egregiamente salvo il limite che
> hai evidenziato.
> Grazie.
> --

Ciao paolo.
Facendo finta di non aver letto il post fraterno e sperando che Roby non mi
dia una censurata che levati, prova questa UDF:

Function solonumeri(str As String) As String
'rimuove tutti i caratteri alfabetici
Dim re As Object
Set re = CreateObject("vbscript.regexp")
re.Global = True
'mantiene solo numeri oltre alla eventuale virgola
'sperando che ce ne sia una sola :-))
re.Pattern = "[^\d,]+"
solonumeri = re.Replace(str, "")
End Function

Saluti a tutti, rose ala signora
Eliano

paoloard

unread,
Dec 12, 2009, 9:55:20 AM12/12/09
to

"eliano" <eli...@discussions.microsoft.com> ha scritto nel messaggio
news:F7A9B49C-510A-40F3...@microsoft.com...
>
cut

> Ciao paolo.
> Facendo finta di non aver letto il post fraterno e sperando che Roby non
> mi
> dia una censurata che levati, prova questa UDF:

Augh!
eh eh .. Mauro lo sa che io sono refrattario al codice ;-)
e poi perché r dovrebbe "censurarti", la tua Function function egregiamente!

>
> Saluti a tutti, rose ala signora
> Eliano

La mia "vecchia signora" (Honda VF 750 Custom dell'85) ha gradito le rose,
ha detto che quando passerai da queste parti ti farà fare un rombante giro,
anche fino a quel di Cento dove staziona il tuo fratello di NG :-).
Il grande Manitù sia con te.

paoloard

unread,
Dec 12, 2009, 10:07:55 AM12/12/09
to

"paoloard" <xxp...@alice.it> ha scritto nel messaggio
news:A70DDAFB-A819-430F...@microsoft.com...
>
cut

> Il grande Manitù sia con te.

Manitou :-(

eliano

unread,
Dec 12, 2009, 6:17:02 PM12/12/09
to

"paoloard" ha scritto:

Ciao paolo.
Ho inserito nella Udf un commento che dovrebbe scatenare Mr. r; se non lo ha
ancora fatto probabilmente non lo ha letto per cui attendiamo fiduciosi.
Per le rose, quelle non erano destinate alla tua signora, ma alla signora
del thread (Nur); aggiungerò quindi un litro di carburante adatto alla tua.
Grazie per l'invito sulla rombante, ma sono sceso, bestemmiando, da una
splendida Morini Settebello nel '60 per andare all'ennesimo funerale,
giurando di non rimontare mai più su oggetti simili e finora ho fatto fede a
quel giuramento.
Saluti cordiali
Eliano

r

unread,
Dec 12, 2009, 6:52:11 PM12/12/09
to
> Eliano- Nascondi testo citato
>
> - Mostra testo citato -

uf uf uf ... eccomi!
ciao mitico ... (e ciao a tutti)
vedo che ultimamente le regexp sono divenute contagiose ... già la
bella nur ... adesso tu ... mi sembrava però si volesse discutere di
formule excel ...
sulla tua domanda ... la virgola non è richiesta ... si chiedeva di
mantenere i soli numeri ... sarebbe difficile anche per una regexp ...
decidere quale, di due o più virgole, sia quella da mantenere ... la
loro potenza è grande ... ma non riescono ancora a prendere tali
decisioni in autonomia :-)
pattern comunque ce ne sono già collaudati per verificare un numero a
virgola mobile ... nel caso:

http://excelvba.altervista.org/blog/index.php/Excel-VBA/Espressioni-Regolari-e-Pattern-applicazione-Form.html

saluti
r

eliano

unread,
Dec 12, 2009, 8:45:02 PM12/12/09
to

"r" ha scritto:

> uf uf uf ... eccomi!
> ciao mitico ... (e ciao a tutti)
> vedo che ultimamente le regexp sono divenute contagiose ... già la
> bella nur ... adesso tu ... mi sembrava però si volesse discutere di
> formule excel ...
> sulla tua domanda ... la virgola non è richiesta ... si chiedeva di
> mantenere i soli numeri ... sarebbe difficile anche per una regexp ...
> decidere quale, di due o più virgole, sia quella da mantenere ... la
> loro potenza è grande ... ma non riescono ancora a prendere tali
> decisioni in autonomia :-)
> pattern comunque ce ne sono già collaudati per verificare un numero a
> virgola mobile ... nel caso:
>
> http://excelvba.altervista.org/blog/index.php/Excel-VBA/Espressioni-Regolari-e-Pattern-applicazione-Form.html
>

Ciao Roby.
Meno male, mi aspettavo una risciacquata perchè ci ho ragionato sopra per
quasi un'ora compulsando tutti i link conosciuti compreso quello segnalato e
poi ho buttato la spugna mandando la Udf ed ignorando l'effettivo argomento
normalmente ostico per paolo, come lo sono per me buona parte delle formule
costruite con le native di XL.
Grazie, saluti a tutti e bacioni al pupo.
Eliano


Nur

unread,
Dec 13, 2009, 4:23:22 AM12/13/09
to
eliano <eli...@discussions.microsoft.com> wrote:
> "r" ha scritto:
>
> > uf uf uf ... eccomi!
> > ciao mitico ... (e ciao a tutti)
> > vedo che ultimamente le regexp sono divenute contagiose ... già la
> > bella nur ... adesso tu

Forse sei tu, Roberto, ad essere contagioso :-)

... mi sembrava però si volesse discutere di
> > formule excel ...
> > sulla tua domanda ... la virgola non è richiesta ... si chiedeva di
> > mantenere i soli numeri ... sarebbe difficile anche per una regexp
> > ...
> > decidere quale, di due o più virgole, sia quella da mantenere ... la
> > loro potenza è grande ... ma non riescono ancora a prendere tali
> > decisioni in autonomia :-)

Magari si potrebbe far mantenere la prima in posizione 'accettabile',
che sia sufficiente?

> > pattern comunque ce ne sono già collaudati per verificare un numero
> > a
> > virgola mobile ... nel caso:
> >
> > http://excelvba.altervista.org/blog/index.php/Excel-VBA/Espressioni-Regolari-e-Pattern-applicazione-Form.html

Me li guarderò, appena potrò usare un pc...

> >
>
> Ciao Roby.
> Meno male, mi aspettavo una risciacquata perchè ci ho ragionato sopra
> per
> quasi un'ora compulsando tutti i link conosciuti compreso quello
> segnalato e
> poi ho buttato la spugna mandando la Udf ed ignorando l'effettivo
> argomento
> normalmente ostico per paolo, come lo sono per me buona parte delle
> formule
> costruite con le native di XL.
> Grazie, saluti a tutti e bacioni al pupo.
> Eliano

Grazie Eliano, anche delle rose! Non avevo capito che erano per me :-)

Ciao, Nur

paoloard

unread,
Dec 13, 2009, 4:30:26 AM12/13/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:819368042282388371.24...@msnews.microsoft.com...
cut

>
> Grazie Eliano, anche delle rose! Non avevo capito che erano per me :-)
>
> Ciao, Nur

Cos'ha combinato Eliano! Adesso la mia "old lady" non vuole più restituire
le rose a Nur :-).
Per consolarla dovrò farle fare un giro, però con questo freddo brrr....
quasi quasi chiedo a Mauro... tanto lui "romba" anche d'inverno!

Nur

unread,
Dec 13, 2009, 8:08:32 AM12/13/09
to
>
> Cos'ha combinato Eliano! Adesso la mia "old lady" non vuole più
> restituire
> le rose a Nur :-).
> Per consolarla dovrò farle fare un giro, però con questo freddo
> brrr....

Ma devi consolare me o la moto?
Dai, fai fare un giretto *a me* sulla moto, così ci fai contente
entrambe :-)



> quasi quasi chiedo a Mauro... tanto lui "romba" anche d'inverno!

Mauro però corre!!!!

Ciao, Nur

paoloard

unread,
Dec 13, 2009, 8:48:07 AM12/13/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:294901377282401859.36...@msnews.microsoft.com...

ROTFL ;-)

Mauro Gamberini

unread,
Dec 14, 2009, 2:52:21 AM12/14/09
to
>>> quasi quasi chiedo a Mauro... tanto lui "romba" anche d'inverno!
>>
>> Mauro però corre!!!!
>>
>> Ciao, Nur
>
> ROTFL ;-)
>

Mauro è giovane e gira il polso
fino in fondo!
Ma sarete invidiosi....

Nur

unread,
Dec 14, 2009, 9:28:06 AM12/14/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:%234JCvso...@TK2MSFTNGP04.phx.gbl...

>
> E' necessario definire almeno un nome (altrimenti la formula non viene
> accettata nemmeno da excel...).
> Supponiamo di avere la nostra stringa in A1.
> Definisco il nome 'num':
> =RIF.RIGA(INDIRETTO("1:"&CONTA.NUMERI(--STRINGA.ESTRAI($A$1;RIF.RIGA($1:$10);1))))
>
> La 'formulina' per l'estrazione, a questo punto sarebbe:
> =TESTO(SOMMA(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));10*RIF.RIGA($1:$10)+STRINGA.ESTRAI(A1;RIF.RIGA($1:$10);1));num);1)*10^(num-1));RIPETI(0;MAX(num)))
> matriciale
>
> Si potrebbe anche scegliere di definire un nome diverso e, se si volesse
> trascinare la formula, il nome andrebbe definito con riferimento relativo.
>
> Cosa dire... Meglio pensarci ancora un po' :-)
>

Ci ho pensato... un altro po'.
Un'alternativa che consente di non definire il nome:
=TESTO(SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)));RIPETI(0;CONTA.NUMERI(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1))))
matriciale

Che si 'semplifica' cos�, nel caso non si vogliano considerare gli zeri
iniziali:
=SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)))
sempre matriciale

Ciao, Nur


paoloard

unread,
Dec 14, 2009, 12:10:42 PM12/14/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:eJ3%23xmMfK...@TK2MSFTNGP06.phx.gbl...
>
cut

> Un'alternativa che consente di non definire il nome:
> =TESTO(SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)));RIPETI(0;CONTA.NUMERI(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1))))
> matriciale
>
> Che si 'semplifica' cos�, nel caso non si vogliano considerare gli zeri
> iniziali:
> =SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)))
> sempre matriciale
>
> Ciao, Nur
>

ciao Nur,
e se ora io volessi uno zero si e uno no? oppure solo il primo numero e il
secondo zero? e se .......
ovviamente scherzo ;-)
lavoro eccellente Nur! risolve brillantemente le due esigenze, non ne
dubitavo :-)
grazie

Nur

unread,
Dec 14, 2009, 12:21:11 PM12/14/09
to

"paoloard" <xxp...@alice.it> ha scritto nel messaggio
news:OahKhBOf...@TK2MSFTNGP05.phx.gbl...

>
> "Nur" <news...@gmail.com> ha scritto nel messaggio
> news:eJ3%23xmMfK...@TK2MSFTNGP06.phx.gbl...
>>
> cut
>> Un'alternativa che consente di non definire il nome:
>> =TESTO(SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)));RIPETI(0;CONTA.NUMERI(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1))))
>> matriciale
>>
>> Che si 'semplifica' cos�, nel caso non si vogliano considerare gli zeri
>> iniziali:
>> =SOMMA(--(DESTRA(GRANDE(SE(VAL.NUMERO(--STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));--(RIF.RIGA($1:$20)&STRINGA.ESTRAI(A1;RIF.RIGA($1:$20);1));0);RIF.RIGA($1:$20)))&RIPETI(0;RIF.RIGA($1:$20)-1)))
>> sempre matriciale
>>
>> Ciao, Nur
>>
>
> ciao Nur,
> e se ora io volessi uno zero si e uno no? oppure solo il primo numero e il
> secondo zero? e se .......

Ti toccherebbe regalarmela la tua Old Lady... un giretto non basterebbe :-)

> ovviamente scherzo ;-)

Ma no... parliamone... direi di considerare gli zeri solo se la lettera
successiva � maiuscola. Che dici? :-)

> lavoro eccellente Nur! risolve brillantemente le due esigenze, non ne
> dubitavo :-)

Invece io s�!
Poi... non so... secondo me c'� ancora qualcosa di troppo...

> grazie

Grazie a te.

Ciao, Nur


paoloard

unread,
Dec 14, 2009, 12:56:56 PM12/14/09
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:uDPUgHOf...@TK2MSFTNGP04.phx.gbl...
>
cut

>
> Ti toccherebbe regalarmela la tua Old Lady... un giretto non basterebbe
> :-)

mmm...preferisco fermarmi al quesito originale ;-)

> Poi... non so... secondo me c'� ancora qualcosa di troppo...

allora attendiamo la nuova release :-)

0 new messages