Estrarre singoli valori che compongono un importo numerico da destra verso sinistra inserendoli in celle singole indipendenti

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
MauroMonaco
00mercoledì 7 maggio 2014 09:59
Saluto tutti, sono nuovo del forum :)
Ho il segunte problema, dovrei estrarre i valori di un importo numerico appartenenti ad una cella, in celle singole partendo da destra verso sinistra, esempio:

importo 1.234,56, devo estrarre da questo importo ogni singola valore in una cella indipendente, partendo da destra verso sinistra, il risultato fnale dovrebbe essere sempre lo stesso cioè 1 - 2 - 3 - 4 , - 5 - 6 ma compilato da destra verso sinistra.

ho provato ad unsare la funzione stringa.estrai, ma per il mio caso non va bene, perchè l'importo puo essere varibile, si puo andare da 3 cifre a 10 cifre ed io ho la necessita che la compilazione avvnega da destra verso sinistra.

spero di essere stato chiaro.

grazie
by sal
00mercoledì 7 maggio 2014 10:20
Estrarre dati
Ciao Mauro, ok ma dove copiarle? a partire da dove, sulla stessa riga o altro.

gli importi da elaborare dove sono, la virgola o il punto della separazione decimali vanno considerate oppure no?

un esempio sarebbe gradito, senza dati sensibili.

Ciao By Sal
ninai
00mercoledì 7 maggio 2014 11:46
mi associo alle osservazioni di By Sal (ciao).
da quello che ho intuito, la formula potrebbe essere questa:

=STRINGA.ESTRAI(DESTRA(TESTO($A$1;"\#\#\#\#\#\#\#\#0,00");11);RIF.COLONNA(K1);1)

e trascinare a sinistra
by sal
00mercoledì 7 maggio 2014 15:01
Estrarre dati
Ciao, mi permetto una piccola modifica, all'ottima formula di Ninai, che saluto, sostituire i cancelletti "#" con lo spazio, sembra brutto vedere il cancelletto nella cella.

però non ho capito l'utilità di avere i dati in quel modo, forse riempire qualche modulo prestampato che ha una carattere per ogni cella, in tal caso i cancelletti vanno lasciati, secondo me, per non far inserire numeri in modo da aumentare la cifra.

Ciao By Sal [SM=x423051]
GiuseppeMN
00mercoledì 7 maggio 2014 16:02
Buona sera;
se si accetta che il carattere "," sia separato avrei pensato di inserire in "A1" il valore 1234,56 e in "A2":
=STRINGA.ESTRAI($A1;RIF.COLONNA(B$1)-1;1)
da copiare nelle colonne successive.
in questo modo la sequenza sarebbe:
1  2  3  4  ,  5  6

In realtà ho provato con:
=SE(STRINGA.ESTRAI($A1;RIF.COLONNA(B$1)-1;1)<>",";SE(STRINGA.ESTRAI($A1;RIF.COLONNA(B$1);1)<>",";STRINGA.ESTRAI($A1;RIF.COLONNA(B$1)-1;1);STRINGA.ESTRAI($A1;RIF.COLONNA(B$1)-1;1)&STRINGA.ESTRAI($A1;RIF.COLONNA(B$1);1));"")
in questo modo il carattere "," viene icorporata all'ultimo valore intero, come nell'esempio proposto da Mauro (che saluto) ma rimane una Cella vuota dopo la Cella che contiene 4, prima del primo valore decimale 5

in questo modo la sequenza sarebbe:
1  2  3  4,    5  6

Ma, se la virgola deve essere legata all'ultimo valore intero, nell'esempio proposto "4,", e non si vogliono Celle vuote, non vedo altra soluzione se non VBA.

A disposizione.

Giuseppe
ninai
00mercoledì 7 maggio 2014 16:05
By Sal
hai ragione, la formula l'ho girata da un caso in archivio, adattandola velocemente, neanche ci avevo fatto caso ai #, siccome si trattava di intuito (siamo ancora in attesa di chiarimenti) ed avevo immaginato che erano soldi (due cifre dopo la virgola), perciò non mi sono soffermato sulla formula. (per la cronaca, allora l'aveva proposta Scossa, il premio in denaro va a lui [SM=x423030] [SM=x423030] )

vediamo che livello di chiaroveggenza ho
[SM=x423068] [SM=x423071]
scossa
00mercoledì 7 maggio 2014 17:07
Se ho capito l'esigenza dell'OP ...

in A1 l'importo (1.234,56)

In B1:: =STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$1)-1;1)*1

Copiare in C1..K1

in I1 sostituire la formula con una virgola

Selezionare le celle B1:H1 ed impostare il seguente formato personalizzato:
[=0]"*";Standard

Se serve, copiare nelle righe sottostanti.

Questo il risultato:


MauroMonaco
00mercoledì 7 maggio 2014 17:08
Grazie Ninai la tua funzione è proprio quello che mi serviva [SM=x423030]
Stamattina temporanemente ho risolto il problema con la funzione SE;LUNGHEZZA;SRINGA.ESTRAI, pero il problema è stato che non potevo nidificare più più di sette formule della funzione SE....

grazie cmq a tutti gli altri ragazzi.

a presto
Mauro
scossa
00mercoledì 7 maggio 2014 17:18
Re:
Scossa.vr, 07/05/2014 17:07:

Selezionare le celle B1:H1 ed impostare il seguente formato personalizzato:
[=0]"*";Standard



Ovviamente si può sostituire * con # mettendo questo formato personalizzato:
[=0]"#";Standard



GiuseppeMN
00mercoledì 7 maggio 2014 18:08
Buona sera, Scossa.vr;
ovviamente sbaglio qualche cosa io, ma, in Excel 2013, non riesco ad ottenere il risultato desiderato con:
=STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$1)-1;1)*1
al posto del carattere "," ottengo:
#VALORE!

Per ottenere il carattere "," ho pensato di scrivere:
=SE(VAL.ERRORE(STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$3)-1;1)*1)=VERO;STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$3)-1;1);STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$3)-1;1)*1)

In questo modo, tutto torna.

Può dipendere dalla versione di Excel?

Grazie.

Buona serata.

Giuseppe
scossa
00mercoledì 7 maggio 2014 18:15
Re:
GiuseppeMN, 07/05/2014 18:08:

Buona sera, Scossa.vr;
ovviamente sbaglio qualche cosa io, ma, in Excel 2013, non riesco ad ottenere il risultato desiderato con:
=STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$1)-1;1)*1
al posto del carattere "," ottengo:
#VALORE!



Hai saltato un passaggio del mio post in cui dicevo:

in I1 sostituire la formula con una virgola

GiuseppeMN
00mercoledì 7 maggio 2014 18:25
Buona sera, Scossa.vr;
hai ragione.
La tua soluzione mi aveva così convinto che ho saltato quel passaggio.

Grazie.

Buona serata.

Giuseppe
lello207
00lunedì 5 giugno 2017 11:15
buongiorno inserisco la formula =STRINGA.ESTRAI(TESTO($A1;"0000000,00");RIF.COLONNA(B$1)-1;1)*1
mi esce 0001234,56 mi serve che escano almeno un asterisco* al posto degli zero
grazie
dodo47
00lunedì 5 giugno 2017 12:02
Ciao
leggi bene...il post n. 7

saluti
lello207
00lunedì 5 giugno 2017 15:02
ciao dodo
il post numero 7
Selezionare le celle B1:H1 ed impostare il seguente formato personalizzato:
[=0]"*";Standard .
E' questo il mio problema non so come inserire B1:H1 sbaglio qualcosa. potresti essere gentile a inserire un esempio pratico.
grazie
Saluti Lello
lello207
00lunedì 5 giugno 2017 17:31
Ciao Dodo:
sono riuscito ad inserire: [=0]"#";Standard
se scrivo 1234,56 mi esce ***1234,56. in questa formula c'è un errore poiche' se scrivo 1200,50 mi esce ***12**,5* prova io non riesco a trovare una soluzione.
saluti Lello
dodo47
00lunedì 5 giugno 2017 18:26
Ciao
non ti resta che utilizzare la formula proposta all'inizio da ninai se quella di scossa non da i risultati da te voluti, sostituendo i # con *

saluti

lello207
00lunedì 5 giugno 2017 19:26
volevo dire come evidenziato nella mail che se inserisco 1.200,00 mi esce ***12**,** se metto il # mi esce ###12##,## voi avete provato una formula con un valore con degli zero all'interno, non appaiono
Saluti Lello
dodo47
00lunedì 5 giugno 2017 19:41
Re:
lello207, 05/06/2017 19.26:

volevo dire come evidenziato nella mail che se inserisco 1.200,00 mi esce ***12**,** se metto il # mi esce ###12##,## voi avete provato una formula con un valore con degli zero all'interno, non appaiono
Saluti Lello



si, ho capito e ti ho detto, se vuoi, di utilizzare la formula di ninai (all'inizio del 3d) che non prevede la formattazione delle celle ma che va copiata da destra a sinistra.

saluti


Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 01:50.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com