Telefonszámunk: 1-472-0679

[Resolved] Excel kerekítés negatív szám esetén

Kezdőlap Fórumok Excel témák [Resolved] Excel kerekítés negatív szám esetén

Topic Resolution: Resolved
9 bejegyzés megtekintése - 1-9 / 9
  • Szerző
    Bejegyzés
  • #10247
    Speter
    Felhasználó

      Sziasztok! Biztos én vagyok tudatlan, de a kerekítés függvény működése negatív számok esetén számomra érthetetlen. Tudom, hogy az excel először az abszolútértéket veszi, úgy kerekít, majd visszaalakít negatív számmá. Le is írták. De ez a matematika szabályainak nem felel meg, így hibás számítások lesznek! Van erre valamilyen megoldás? Pl Kerek(0,5;0) – Kerek(-0,5;0 ) eredménye 0, ami egy abszurdum, hiszen ennek a valódi eredménye 1! (nyilván nem makrózni szeretnék emiatt!)

      #10248
      horvimi
      Adminisztrátor

        Szia!

        Mondjuk a fenti eredmény valójában 2.

        =KEREKÍTÉS(0,5;0)-KEREKÍTÉS(-0,5;0)

        Az első eredmény 1, a másodiké -1.
        1-(-1)=2

        Vagy lemaradtam valahol?

        Imre

        #10249
        Speter
        Felhasználó

          Persze, csak elírtam, az excel szerint 2 de a valóságban ennek a végeredménye csak 1 !!!
          Hogy tudok így számolni? Egyáltalán hogy gondolhatták ezt, hogy így számoljon az excel?
          Csak én látom rosszul a helyzetet?
          Mondjuk, ha a kerekítendő számhoz, mindig hozzáadok egy igen kicsi számot, és úgy kerekítem, akkor ez eredmény megfelelő lesz, de hát hogy lehetséges ez? Hogy lehet így általánosságban használni? Nincs olyan kerekítés függvény, ami a matematika szabályait nem rúgja fel?

          #10252
          horvimi
          Adminisztrátor

            De hát a 0,5-öt már felfelé kell kerekíteni. Ezt tanítják az iskolában.
            Szerinted nem?
            ???

            #10253
            Speter
            Felhasználó

              Szerintem is felfele, azaz -0,5 felfele kerekítve 0 !
              Az excel a függvény leírásánál próbálja is magyarázni, hogy miért csinálja így, de ez csak mese habbal.
              Küldök egy kis táblát, ami nyilvánvalóan mutatja a hiba hatását.
              Ez a tiszta matek…. ?

              Attachments:
              You must be logged in to view attached files.
              #10255
              horvimi
              Adminisztrátor

                Hát, haragudhatsz az Excelre, de csak azt a szabályt követi, amit te magad is leírtál pár bejegyzéssel korábban az abszolút értékeknél.

                Tágabban fogalmazva a többféle lehetséges kerekítési módszer közül a leginkább elterjedt un. Kereskedői kerekítést használja.
                Tehát 0,5-től a nullától elfelé kerekít, alatta pedig a nulla felé.
                Így tanultuk a suliban is, nem értem miért vagy most ennyire ki.
                A felfelé kerekítés abszolút értékre értendő. Így működik oszt annyi.

                Te pedig szeretnéd (?), hogy … mit is szeretnél?
                Hogy 1,1 től 1,9-ig minden 1 legyen?
                Akkor írj egy formulát IF-el és ha a kerekítendő szám >=0, akkor ROUND, különben ROUNDDOWN.

                Részletesebben akár a Wikin is, de sok sok helyen.
                https://hu.wikipedia.org/wiki/Kerek%C3%ADt%C3%A9s

                Imre

                #10256
                horvimi
                Adminisztrátor

                  Különben valóban vannak problémák az informatikában a kerekítéssel, de az ott kezdődik, amikor két rendszer nem azonos kerekítési módszert használ, és összehasonlítva az eredményeket, nem értjük mi okozza a különbséget. Pláne ha tulajdonképpen ugyanaz a rendszer és azon belül két eszköz mutat eltérést.

                  Pl. az Excel a kereskedői módszert használja, a VBA (ami szintén Excel valahol) a Bankár módszert, és a PowerQuery is, ami szintén benne van az Excelben.

                  Na, ez már probléma szerintem is.

                  #10258
                  verax
                  Felhasználó

                    Szia Speter!
                    Több félreértés nehezíti az életedet.
                    A példád bár nem tartalmazza az általad helyesnek vélt eredményt, mégis sejthető, hogy mit várnál.
                    Ne feledkezz meg arról, hogy előbb a zárójelen belüli műveletet kell elvégezni!
                    Nem vagyok benne biztos, de azt hiszem, a kerekítés szabályát az általános iskola 3. osztályában tanultuk, a negatív számokról pedig csak a 4. osztályban. Ebből következik, hogy amikor a kerekítésről tanultunk a „felfelé” kerekítés látszólag a „jobbra kerekítést” jelentette, hiszen jobbra egyre nagyobb számok találhatók, mégis ahogy Imre szabatosan írta a nullától távolodó irányt kellene értenünk. Ez az elv a negatív számok esetén is érvényes. Tehát a „lefelé” a nullához közelítő, a „felfelé” a nullától távolodó irányt jelzi.
                    Ha nem így lenne, akkor furcsa kerekítési értékeket kapnánk a negatív számok esetén.
                    -0,9 < -0,1
                    kerekítés(-0,9;0) <=>? kerekítés(-0,1;0)
                    -0,9 (felfelé kell kerekíteni) akkor tehát 0?
                    -0,1 (lefelé kell kerekíteni) akkor tehát -1?
                    0 > -1

                    #10269
                    Speter
                    Felhasználó

                      Köszönöm a sok hozzászólást. Újra átgondoltam én is, és megggyőzőek az érvek amiket kaptam, A nullától távolság egy jó magyarázat.

                    9 bejegyzés megtekintése - 1-9 / 9
                    • Be kell jelentkezni a hozzászóláshoz.