Excel Forum Per condividere esperienze su Microsoft Excel

calcolo prodotto tra due cifre decimali

  • Messaggi
  • OFFLINE
    Fra.R
    Post: 1
    Registrato il: 17/06/2019
    Città: MILANO
    Età: 19
    Utente Junior
    Microsoft Office 2013
    00 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.
  • OFFLINE
    dodo47
    Post: 2.262
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    locatevaresino
    Post: 2.150
    Registrato il: 21/03/2008
    Città: LOCATE VARESINO
    Età: 76
    Utente Veteran
    2007 / 13
    00 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
  • OFFLINE
    Fra.R
    Post: 1
    Registrato il: 17/06/2019
    Città: MILANO
    Età: 19
    Utente Junior
    Microsoft Office 2013
    00 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]
  • OFFLINE
    Fra.R
    Post: 2
    Registrato il: 17/06/2019
    Città: MILANO
    Età: 19
    Utente Junior
    Microsoft Office 2013
    00 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 ;-)
  • OFFLINE
    locatevaresino
    Post: 2.151
    Registrato il: 21/03/2008
    Città: LOCATE VARESINO
    Età: 76
    Utente Veteran
    2007 / 13
    00 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
  • OFFLINE
    Fra.R
    Post: 4
    Registrato il: 17/06/2019
    Città: MILANO
    Età: 19
    Utente Junior
    Microsoft Office 2013
    00 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]
  • OFFLINE
    Konki66
    Post: 150
    Registrato il: 11/03/2014
    Città: CASTELLETTO SOPRA TICINO
    Età: 57
    Utente Junior
    Excel 2016
    00 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