Hirdetés

Új hozzászólás Aktív témák

  • bteebi

    veterán

    Sziasztok!

    Talán már többször is előjött Excelben az értékes jegyekkel való számolás, értékes jegyre való kerekítés problémája. Rákerestem, de nem találtam rá igazi leírást itt a fórumban, úgyhogy írok egyet én. Legalább háromféle módszerrel találkoztam, amit szoktak rá használni. Abból a legelső egyértelműen rossz (azt végül inkább nem írom le, mert tutira azt találná meg mindenki :DDD), a második majdnem jó (a 0-kat nem teszi be értékes jegynek, tehát pl. a 0,01 három értékesre is 0,01 marad, nem pedig 0,0100), a harmadik pedig teljesen jó - "csak" annak a végeredménye nem szám, hanem szöveg (eggyel megszorozva természetesen szám lesz, csak akkor a fentebb írt probléma szintén megmarad). A képletek (A2-ben van a kerekítendő szám, a SignificantDigits pedig az értékes jegyek száma):

    =KEREKÍTÉS(A2;SignificantDigits-INT(LOG(ABS(A2)))-1)
    =FIX(A2; SignificantDigits-INT(LOG10(ABS(A2)))-1;IGAZ)

    Az első képlet a második módszer, a második pedig a harmadik :DDD. Remélem érthető. Ez utóbbira írtam egy egyszerű függvényt is:

    Function Sigdig(number As Range, SigDigits As Integer)
    Sigdig = WorksheetFunction.Fixed(number, SigDigits - Int(WorksheetFunction.Log10(Abs(number))) - 1, True)
    End Function

    Ez pedig úgy működik, hogy:
    =Sigdig(A2;3)

    Egy problémám van vele. Azt hogy lehet megoldani, hogy számot és tartományt is meg lehessen adni a képletben? Mert vagy ez működik, vagy az. Meg hogy lehetne azt megcsinálni, hogy szám legyen a végeredmény (ez esetben a fenti megjelenítési hiba nem zavarna), ne pedig szöveg? Előre is köszönöm a javaslatokat! :R

Új hozzászólás Aktív témák