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

calcolo prodotto tra due cifre decimali

Ultimo Aggiornamento: 19/06/2019 16:53
Post: 1
Registrato il: 17/06/2019
Città: MILANO
Età: 19
Utente Junior
Microsoft Office 2013
OFFLINE
17/06/2019 13:20

Salve a tutti, spero che qualcuno mi possa aiutare con il mio "piccolo grande" problema.
in una cella ho il risultato di una somma di numeri che hanno anche tre o quattro cifre decimali, ad es. 245,783.
A me serve ottenere in una cella il prodotto tra le prime due cifre decimali ovvero in questo caso 7x8=56; per fare ciò ho prima fatto il troncamento del numero a due cifre decimali cioè 245,78 e dopo il numero intero con la formula INT ottenendo 245 quindi ho fatto la differenza 245,78-245= 0,78 che ho moltiplicato per 10 ottenendo 7,8 di cui ho fatto nuovamente l'intero ottenendo 7; poi ho fatto la differenza tra 7,8 e 7 ottenendo 0,8 che ho poi moltiplicato per 10 ottenendo 8, quindi alla fine ho fatto il prodotto. Sembrerebbe filare tutto liscio invece mi sono accorto che a volte nella differenza tra un numero troncato o intero, compaiono delle cifre decimali che poi inficiano il risultato finale. C'è un modo più veloce di ottenere quello che sto cercando? Grazie mille per l'eventuale risposta.
Post: 2.262
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
17/06/2019 16:46

ciao
usa la funzione TRONCA abbinata a formule di testo; è una "schifezza" ma ti assicuro che funziona.

tuo valore in A1:
=SINISTRA(TRONCA((A1-INT(A1))*100);1)*DESTRA(TRONCA((A1-INT(A1))*100);1)

Se poi vuoi capire il perchè accade questo, dai una letta al seguente sito:

https://support.microsoft.com/it-it/help/78113/floating-point-arithmetic-may-give-inaccurate-results-in-excel

Saluti



Domenico
Win 10 - Excel 2016
Post: 2.150
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
17/06/2019 16:49

ciao

altra formula a quella di dodo, che saluto
in A1 il tuo valore in
B1 =RESTO(((ARROTONDA(A1;2)-INT(A1))*10);1)*10

riciao possiamo anche accorciare il tutto

=--DESTRA(INT(A1*100);1)
[Modificato da locatevaresino 17/06/2019 19:12]
Ciao da locate
excel 2007 / 13
Post: 1
Registrato il: 17/06/2019
Città: MILANO
Età: 19
Utente Junior
Microsoft Office 2013
OFFLINE
18/06/2019 08:21

Re:
dodo47, 17/06/2019 16.46:

ciao
usa la funzione TRONCA abbinata a formule di testo; è una "schifezza" ma ti assicuro che funziona.

tuo valore in A1:
=SINISTRA(TRONCA((A1-INT(A1))*100);1)*DESTRA(TRONCA((A1-INT(A1))*100);1)

Se poi vuoi capire il perchè accade questo, dai una letta al seguente sito:

https://support.microsoft.com/it-it/help/78113/floating-point-arithmetic-may-give-inaccurate-results-in-excel

Saluti





Grazie mille, l'ho provata in più casi e funziona perfettamente. Già mi ero imbattuto in quell'articolo quando stavo cercando di capire il perché di quelle cifre decimali.


[Modificato da Fra.R 18/06/2019 08:38]
Post: 2
Registrato il: 17/06/2019
Città: MILANO
Età: 19
Utente Junior
Microsoft Office 2013
OFFLINE
18/06/2019 08:23

Re:
locatevaresino, 17/06/2019 16.49:

ciao

altra formula a quella di dodo, che saluto
in A1 il tuo valore in
B1 =RESTO(((ARROTONDA(A1;2)-INT(A1))*10);1)*10

riciao possiamo anche accorciare il tutto

=--DESTRA(INT(A1*100);1)



Grazie, poi provo anche questa ;-)
Post: 2.151
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
18/06/2019 09:43

ciao

non avevo letto bene la tua domanda e mi ero fermato alla seconda cifra
comunque per il prodotto tra il primo e il secondo decimale la formula e la sequente

=DESTRA(INT(A1*10);1)*DESTRA(INT(A1*100);1)

quindi troviamo il primo decimale e lo moltiplichiamo per il secondo
7*8

Ciao da locate
excel 2007 / 13
Post: 4
Registrato il: 17/06/2019
Città: MILANO
Età: 19
Utente Junior
Microsoft Office 2013
OFFLINE
18/06/2019 11:59

locatevaresino, 18/06/2019 09.43:

ciao

non avevo letto bene la tua domanda e mi ero fermato alla seconda cifra
comunque per il prodotto tra il primo e il secondo decimale la formula e la sequente

=DESTRA(INT(A1*10);1)*DESTRA(INT(A1*100);1)

quindi troviamo il primo decimale e lo moltiplichiamo per il secondo
7*8



Provata, funziona ed è anche molto semplice. Grazie.
[Modificato da Fra.R 18/06/2019 12:00]
Post: 150
Registrato il: 11/03/2014
Città: CASTELLETTO SOPRA TICINO
Età: 57
Utente Junior
Excel 2016
OFFLINE
19/06/2019 16:53

Ciao

formula alternativa

=STRINGA.ESTRAI(A1-TRONCA(A1;0);3;1)*STRINGA.ESTRAI(A1-TRONCA(A1;0);4;1)

Saluti
Marco
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 19:52. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com