EXCEL ei osaa laskea peruskoulun laskutoimituksia

ExcelEiOsaa

EXCEL (ja valitettavasti myös Libreofficen Calc)
eivät osaa laskea edes peruslaskutoimituksia oikein vaikka jokainen peruskoululainen osaa.

Tässä peruskoulun oppimäärästä lyhyesti
Laskujärjestys:
1. Eksponentissa olevat lausekkeet
2. Potenssiin korotukset
3. Kerto- ja jakolaskut
4. Yhteen- ja vähennyslaskut
Sulut voivat muuttaa järjestystä

Lasketaanpa käsin pari potenssilaskua
Mitä on 2^4? Vastaus 2*2*2*2=16
Mitä on (-2)^4? Vastaus (-2)*(-2)*(-2)*(-2)=16
Mitä on -2^4? Vastaus -2*2*2*2=-16

Laittaapa EXCEL nyt laskemaan tämä viimeinen eli kirjoitatte soluun
=-2^4
Saatte tuloksen 16, joka on tietysti täysin väärin. Jos peruslaskutoimukset on ohjelmoitu taulukkolaskenta ohjelmaan näin väärin, niin millaisia tuloksia mistään muustakaan voi odottaa?

Ja nyt ei voi syyttää Microsoftia, yhtä huonosti on ohjelmoitu LibreOffice.

Jos teillä on mahdollisuus niin voitteko katsoa miten muut taulukkolaskenta/tilastoohjelmat laskevat tämän esim. SPSS, SAS kiinnostavat.

31

1526

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • calc

      Eipä kiinnosta taulukkolasketaohjelmien laatijoita pahemmin sinun laskentasääntösi.

      • ExcelEiOsaa

        Luulisi kiinnostavan, koska tämä on ilmeinen virhe peruslaskusäännöissä ja esimerkiski valtiovarainministeriömme virkamiehemme käyttävät lähinnä EXCEL ohjelmaa ja tämä tarkoittaa että maatamme johdetaan virheellisin tiedoin paitsi tahallisisesti nyt siis myös tahattomasti.

        Ja siltä varalta että kuvittelet näiden olevan vain jotain laskennan hienosteluita niin olet täysin väärässä, kyseessä on peruslaskutoimutukset jotka EXCEL laskee väärin ja sitä kautta siis mahdollisesti kaiken muunkin, ja nyt ei ole kyseessä pyöristysvirhe laskennan edetessä vaan puhdas ohjelmointivirhe.

        Mutta jos tarkoitat että Microsoftia ei kiinnosta tuotteensa toimintavarmuus vaan myyvät sutta jatkossakin niin olet varmaankin oikeassa.


      • 102030405060
        ExcelEiOsaa kirjoitti:

        Luulisi kiinnostavan, koska tämä on ilmeinen virhe peruslaskusäännöissä ja esimerkiski valtiovarainministeriömme virkamiehemme käyttävät lähinnä EXCEL ohjelmaa ja tämä tarkoittaa että maatamme johdetaan virheellisin tiedoin paitsi tahallisisesti nyt siis myös tahattomasti.

        Ja siltä varalta että kuvittelet näiden olevan vain jotain laskennan hienosteluita niin olet täysin väärässä, kyseessä on peruslaskutoimutukset jotka EXCEL laskee väärin ja sitä kautta siis mahdollisesti kaiken muunkin, ja nyt ei ole kyseessä pyöristysvirhe laskennan edetessä vaan puhdas ohjelmointivirhe.

        Mutta jos tarkoitat että Microsoftia ei kiinnosta tuotteensa toimintavarmuus vaan myyvät sutta jatkossakin niin olet varmaankin oikeassa.

        Ei tuo ole virhe. Kyllä se on ihan tarkoituksella tehty.

        Luuletko tosiaan, että tuollainen "virhe" olisi jäänyt huomaamatta, ominaisuudessa jota käytetään jatkuvasti joka paikassa?


    • siis-16

      Minun hieno euron ( 1€) nelilaskimeni osaa laskea tuon oikein.

    • Matikka.Mika

      Excelin laskujärjestys:
      – Negation (as in –1)
      % Percent
      ^ Exponentiation
      * and / Multiplication and division
      and – Addition and subtraction

      Jotta Excel ymmärtää "-" -merkin vähennyslaskuksi, laita kaavaan "0-", eli =0-2^4.

      • 102030405060

        Selkeintä, kun vain laittaa sulut, jolloin saa kerrottua yksiselitteisesti haluamansa laskujärjestyksen. :)

        =-(2^4)


    • Trolli. Excelissä etumerkki on osa lukua. Laskujärjestykset eivät ole mitään kiveen hakattuja vaan joka systeemissä ne määritellään erikseen.

      • ilman_sulkuja

        Joo. Kuka muistaa vielä 70-luvun HP:n laskimet, joissa oli se outo käänteinen puolalainen systeemi?


      • CBM.MM6X
        ilman_sulkuja kirjoitti:

        Joo. Kuka muistaa vielä 70-luvun HP:n laskimet, joissa oli se outo käänteinen puolalainen systeemi?

        Toisaalta se RPN on simppeli ja selkeä syöttötapa, koska järjestyksessähän laskut on kuitenkin laskettava.

        HP Prime näyttäisi olevan nykyinen versio HP:n RPN-laskimesta.

        https://en.wikipedia.org/wiki/HP_Prime


    • Kokemus-opettaa

      Negatiiviset kantaluvut käsitellään kaavoissa käänteislukuna, eikö niin, sinä tiesit tämän mutta kun tarjosi hyvän mahdollisuuden vääntää kättä, niin nostit pöydälle välittömästi kun tulit asiasta tietoiseksi:
      =1/-2^4
      =POTENSSI(2;-4)
      =1/POTENSSI(2;4)

      • P.otenssi

        Tarkoitit varmaan negatiiviset _potenssit_.


    • ExcelEiOsaa

      EXCEL siis laskee väärin ja kyllä peruslaskutoimitukset ovat kiveen hakattuja. Toki voi keksiä omia algebroja missä mikään laskusääntö ei ole voimassa jos niin tahtoo.

      Tuo virhe on suuri silloin kun mukana on soluja eli entä jos minulla on solussa A7 luku -5 ja tahdon laskea mitä on =-A7^2, excel sanoisi sen olevan 25 mikä on väärin. Miten voin esimerkiksi piirtää
      origon kautta kulkevan alaspäin olevan paraabelin, kun taulukkoon lasketaan luvut väärin.

      Tämän virheen voi kiertää kun käyttää funktioita (POWER/POTENSSI riippuen kieliasetuksista)
      Tällöin ei ongelmaa ole, mutta on täysin selvää että operaattorin ^ ohjelmoinnissa on ohjelmointivirhe, joka on perustavaa laatua. (Joo, ja kyllä on fiksumpaa käyttää jotain muuta laskentaohjelmistoa kuin Excel, mutta se ei ole nyt se pointti)

      Mitä tästä opimme: Laskentaohjelmistojen kehitystä ei pidä jättää koodareille vaan heille pitäisi palkata matemaatikkoja esimiehiksi, jotka tarkastavat työn laadun.

      • Oikeinkinlasketaan

      • Tuossajotain
        Oikeinkinlasketaan kirjoitti:

        Ainakin WolframAlpha laskee oikein, mutta se onkin matemaatikkojen koodaama ohjelma

        https://www.wolframalpha.com/input/?i=-2^4

        Tilasto-ohjelmisto/ohjelmointikieli R laskee oikein
        Visual Basic laskee oikein (eli jos tekee excel macron niin se varmaankin laskisi oikein, täytynee testata)
        Python ohjelmointikieli laskee oikein operaattorina on kielessä tosin ** merkin ^ sijaan
        Php laskee oikein
        Ja monissa muissa kielissä on vain funktio C#, Java, Javascript
        SPSS ja SAS en tiedä.


      • Positiivinen.Ajattelija

        "...jos minulla on solussa A7 luku -5 ja tahdon laskea mitä on =-A7^2, excel sanoisi sen olevan 25 mikä on väärin."

        Meille opetettiin taannoin eksponentiltaan parillisten potenssien olevan aina positiivisia.

        Omasta puolestani negatiivista lukuarvoista voisi aivan hyvin luopuakin, ja kiinnittää nollan nykyiseen "miinusäärettömään". Suhteellistahan kaikki kuitenkin on. Eihän ole kuin pienempiä, yhtä suuria ja suurempia arvoja.

        Vielä tuosta Excelin viittauksesta sen verran, että miinusmerkki soluviittauksen edessä vaihtaa luonnollisesti viitatun solun sisällön etumerkin. Esimerkissäsi Excel laskee siis 5 potenssiin 2, joka on 25.


      • ExcelEiOsaa
        Positiivinen.Ajattelija kirjoitti:

        "...jos minulla on solussa A7 luku -5 ja tahdon laskea mitä on =-A7^2, excel sanoisi sen olevan 25 mikä on väärin."

        Meille opetettiin taannoin eksponentiltaan parillisten potenssien olevan aina positiivisia.

        Omasta puolestani negatiivista lukuarvoista voisi aivan hyvin luopuakin, ja kiinnittää nollan nykyiseen "miinusäärettömään". Suhteellistahan kaikki kuitenkin on. Eihän ole kuin pienempiä, yhtä suuria ja suurempia arvoja.

        Vielä tuosta Excelin viittauksesta sen verran, että miinusmerkki soluviittauksen edessä vaihtaa luonnollisesti viitatun solun sisällön etumerkin. Esimerkissäsi Excel laskee siis 5 potenssiin 2, joka on 25.

        Tuosssa se vika onkin kun miinusmerkki edeltää ^ korotusta.

        Näin asiat menevät oikeasti:
        Jos on -2^4 niin se tarkoittaa laskutoimituksen 2^4 vastalukua eli ^ lasku tulee ennen miinusta.
        Jos tahtoo korottaa negatiivisen luvun potenssiin eli kantaluku on negatiivinen niin se merkitään suluissa (-2)^4. Näin se on matematiikassa aina ollut ja aina oleva.

        EXCEL on operaattorien laskujärjestys virheellinen. Tosin ongelmaa ei ole kun ei käytä virheellistä ^ operaattoria soluihin kirjoitettavissa kaavoissa vaan POTENSSI-funktiota.


      • Valitettavasti

      • teeiikasiysi

        "minulla on solussa A7 luku -5 ja tahdon laskea mitä on =-A7^2, excel sanoisi sen olevan 25 mikä on väärin"

        Jos arvon -5 sisältävä A7 nimetään muuttujaksi x, niin -x^2 on mielestäsi silloin mitä? Teksasin Instrumenttitehtaan symbolisestikin laskeva kalkulaattori väittää vastaukseksi 25.


      • ExcelEiOsaa
        teeiikasiysi kirjoitti:

        "minulla on solussa A7 luku -5 ja tahdon laskea mitä on =-A7^2, excel sanoisi sen olevan 25 mikä on väärin"

        Jos arvon -5 sisältävä A7 nimetään muuttujaksi x, niin -x^2 on mielestäsi silloin mitä? Teksasin Instrumenttitehtaan symbolisestikin laskeva kalkulaattori väittää vastaukseksi 25.

        Jos x=-5, niin silloin -x^2=-(-5)^2=-(-5)(-5)=-25. Näin matematiikan mukaisesti.

        Jos sinun TI laskimesi väittää tuon olevan 25, niin väärin laskee tyyris laitteesi.
        Tässä esimerkiksi miten numeerisen laskennan kuningas Matlab antaa tulokseksi
        -25 kuten pitääkin.

        Fakta: Matemattisesti -x^2 on aina negatiivinen luku (tai 0 jos x=0, kunhan pysytään reaalilukualueella eli ei oteta mukaan sitä imaginäärilukua i, jolle i^2=-1)

        Matemaattiset ohjelmistot: Matlab, Maple, Mathematica, Octave, R antavat oikean tuloksen tässä tapauksessa eli -25. Myös ohjelmointikielet, joissa on ^ tai ** operaattori antavat oikean tuloksen -25.

        Nyt näyttää siltä että on olemassa joitakin Teksasilaisia laskimia jotka Excel lisäksi eivät osaa laskea. Näyttää siltä että Amerikkalainen laskento on viallista eli jospa vaihdatte japsilaskimiin.

        LibreOfficen osalta syy taitaa piillä osaamattomuuden sijaan siinä että haetaan 100% yhteensopivuutta Officen kanssa virheitä myöten.


      • teeiikasiysi
        ExcelEiOsaa kirjoitti:

        Jos x=-5, niin silloin -x^2=-(-5)^2=-(-5)(-5)=-25. Näin matematiikan mukaisesti.

        Jos sinun TI laskimesi väittää tuon olevan 25, niin väärin laskee tyyris laitteesi.
        Tässä esimerkiksi miten numeerisen laskennan kuningas Matlab antaa tulokseksi
        -25 kuten pitääkin.

        Fakta: Matemattisesti -x^2 on aina negatiivinen luku (tai 0 jos x=0, kunhan pysytään reaalilukualueella eli ei oteta mukaan sitä imaginäärilukua i, jolle i^2=-1)

        Matemaattiset ohjelmistot: Matlab, Maple, Mathematica, Octave, R antavat oikean tuloksen tässä tapauksessa eli -25. Myös ohjelmointikielet, joissa on ^ tai ** operaattori antavat oikean tuloksen -25.

        Nyt näyttää siltä että on olemassa joitakin Teksasilaisia laskimia jotka Excel lisäksi eivät osaa laskea. Näyttää siltä että Amerikkalainen laskento on viallista eli jospa vaihdatte japsilaskimiin.

        LibreOfficen osalta syy taitaa piillä osaamattomuuden sijaan siinä että haetaan 100% yhteensopivuutta Officen kanssa virheitä myöten.

        Pahoitteluni, kirjoitin palturia. Olin hämärässä huoneessa näppäillessäni jättänyt miinusmerkin äksän edestä, laskinkin viimeksi siis pelkästään x^2.

        Teksasin Instrumentti antaa tosiaan tulokseksi myös -25, kun lasketaan -x^2 ja x:ään on sijoitettu arvoksi -5. Vasta sulkujen kanssa (-x)^2 saadaan tulokseksi 25.

        Mustamaalasin huolimattomuuttani turhaan amerikkalaisten mainetta ja pyydän sitä nyt nöyrästi anteeksi.


      • Säännöt eivät ole kiveen hakattuja. Suomessakin vielä 1970-luvulöa ja pitkälle 1980-lukua kertolaskut laskettiin ennen jakolaskuja. Sitten järjestystä muutettiin taskulaskimien takia. Todellakin kukin systeemi määrittää järjestyksen erikseen ja on käyttäjän tehtävä soveltaa tätä halutun tehtävän suorittamiseksi. Kyse ei ole siitä, että jonkun antama kaava kopioirdaan suoraan.


    • ei_tollikoille

      Auttaisiko tähän "ongelmaan" että opettelisi käyttämään Exceliä :)

      • ExcelEiOsaa

        Juuri näin EXCEL ei ole oikeita laskusääntöjä vaan virheelliset eli kun kirjoitatte pidempiä excel kaavoja niin käyttäkää paljon sulkuja ja luopukaa ^ potenssimerkinnästä ja käyttäkää POTENSSI-funktiota. Turhaan kirjoittelit ongelman lainausmerkeissä, kyseessä ei ole ongelma vaan ilmeinen ohjelmointivirhe. Ja vielä parempi ratkaisu ongelmaan on käyttää jotain muuta ohjelmaa, mikäli tarvitsee monimutkaisempia lausekkeita käsitellä, Excelistä ei siihen ole.

        Ohjelmointivirheen syykin on selvä, Excelissä lauseke ei saa alkaa miinusmerkillä (tai saa mutta silloin Excelin ohjelmointivirhe iskee ja oikea laskujärjestys tuhoutuu).

        Otetaan vielä esimerkki. Pitäisi laskea funktion f(x)=-x^2 2x 5 arvoja ja piirtää kuvaaja.
        Jos kirjoittaa Exceliin kaavan suoraan esim "=-A1^2 2*A1 5" tulee virheellisiä arvoja (x arvo on solussa A1), mutta jos vaihtaa funktion toiseen järjestykseen f(x)=5 2x-x^2 eli "=5 2*A1-A1^2" niin ohjelma laskee oikein. Kyllä Excelissä pitäisi voida laskea siinä järjestyksessä kun kaava kirjoitetaan paperillekin.


    • tahtoistietää

      Löytyyköhän EXCEL paljonkin virheitä eli voiko sitä käyttää ollenkaan?

      • Mä-olen-Ilpo

        Ei siinä virheitä ole, on vain olemassa säännöt kuinka kaavat tulee antaa, ei niitä voi miten tahaansa syöttää mihinkään, ei edes Exceliin.


      • Minä-en
        Mä-olen-Ilpo kirjoitti:

        Ei siinä virheitä ole, on vain olemassa säännöt kuinka kaavat tulee antaa, ei niitä voi miten tahaansa syöttää mihinkään, ei edes Exceliin.

        Onhan siinä bukejakin, mutta Tämä ei ole virhe. Taulukkolaskentaohjelmissa syntaksi nyt vain on näin. Mitä siitä seuraisikaan, jos jokin toimisi eri tavalla!


      • ExcelEiOsaa
        Minä-en kirjoitti:

        Onhan siinä bukejakin, mutta Tämä ei ole virhe. Taulukkolaskentaohjelmissa syntaksi nyt vain on näin. Mitä siitä seuraisikaan, jos jokin toimisi eri tavalla!

        Onhan se selvä virhe jos saman matemaattisen lausekkeen kirjoitusasusta riippuu osaako ohjelma laskea oikein.

        Polynomin kirjoitetaan matematiikassa joko ylenevien tai alenevien potenssien mukaisesti
        jos polynomina on vaikkapa P(x)=-x^4-x^2 joka on tietysti sama kuin P(x)=-x^2-x^4.

        Jos ei ole ohjelmointivirhettä niin lauseke pitäisi voida kirjoittaa sellaisenaan, mutta saa täysin eri tulokset riippuen miten kirjoitetaan.

        Lisäksi on ilmeine virhe jos lauseke -x^2 pitää kirjoittaa muodossa 0-x^2

        Tämä koskee siis ^ operaattorin käyttöä EXCELissä. Ongelmaa ei ole jos tätä operaattoria ei käytä. Ohjelmointivirhe on miinusmerkin ja ^ operaattorin virheellisessä laskujärjestyksessä.


      • funktiot.ovat.funktioita
        ExcelEiOsaa kirjoitti:

        Onhan se selvä virhe jos saman matemaattisen lausekkeen kirjoitusasusta riippuu osaako ohjelma laskea oikein.

        Polynomin kirjoitetaan matematiikassa joko ylenevien tai alenevien potenssien mukaisesti
        jos polynomina on vaikkapa P(x)=-x^4-x^2 joka on tietysti sama kuin P(x)=-x^2-x^4.

        Jos ei ole ohjelmointivirhettä niin lauseke pitäisi voida kirjoittaa sellaisenaan, mutta saa täysin eri tulokset riippuen miten kirjoitetaan.

        Lisäksi on ilmeine virhe jos lauseke -x^2 pitää kirjoittaa muodossa 0-x^2

        Tämä koskee siis ^ operaattorin käyttöä EXCELissä. Ongelmaa ei ole jos tätä operaattoria ei käytä. Ohjelmointivirhe on miinusmerkin ja ^ operaattorin virheellisessä laskujärjestyksessä.

        Excel ei olekaan mikään laskin. Myös eri kielillä ohjelmoidessa pitää huomioida suoritusjärjestys. Ja symbooli ^ tarkoittaa usein eksklusiivista disjunktiota.

        Funktiot ovat funktioita, jotka palauttavat (yleensä) jotakin. Potenssifunktiokin on funktio. Jos potenssifunkton palauttama luku kerrotaan -1:llä, niin luonnollisesti sen etumerkkikin silloin vaihtuu.


    • Entä jos -x^2 kirjoittaisi -1*x^2 . Koulussa kyllä opetettiin, että tuosta tulisi positiivinen tulos. Hassuja virheitä voi tulla myös kun kaksi hyvin pientä lukua vähennetään toisistaan. En nyt muista miten ^ määritellään Exelissä. Koodissahan tuo tarkoittaisi bittien siirtämistä.

      • Desimaali

        Tarkoitat varmaankin liukulukujen pyöristysvirheitä. https://en.wikipedia.org/wiki/Rounding

        Bittien siirto vasemmalle (<<) tuplaa kokonaisluvun, kun taas oikealle (>>) siirto puolittaa sen.

        Ohjelmoinnissa yleinen virhe on verrata liukulukua nollaan, jota liukuluku harvoin on.

        Jos vaikka x olisi liukuluku, niin vertailu nollaan pitäisi tehdä vaikkapa näin:

        (x<0,0001 ja x>-0,0001)

        Mikäli vertailu olisi tosi, niin silloin x olisi noin promillen tarkkuudella nolla.

        Esimerkiksi Pythonilla kannattaa käyttää decimal-kirjastoa, jos haluaa laskea tarkemmin desimaaliluvuilla.

        https://docs.python.org/3/library/decimal.html


      • Desimaali kirjoitti:

        Tarkoitat varmaankin liukulukujen pyöristysvirheitä. https://en.wikipedia.org/wiki/Rounding

        Bittien siirto vasemmalle (<<) tuplaa kokonaisluvun, kun taas oikealle (>>) siirto puolittaa sen.

        Ohjelmoinnissa yleinen virhe on verrata liukulukua nollaan, jota liukuluku harvoin on.

        Jos vaikka x olisi liukuluku, niin vertailu nollaan pitäisi tehdä vaikkapa näin:

        (x<0,0001 ja x>-0,0001)

        Mikäli vertailu olisi tosi, niin silloin x olisi noin promillen tarkkuudella nolla.

        Esimerkiksi Pythonilla kannattaa käyttää decimal-kirjastoa, jos haluaa laskea tarkemmin desimaaliluvuilla.

        https://docs.python.org/3/library/decimal.html

        Liukuluvuissa vertailu x=y on vaarallista. Myös jos isoon lukuun lisätään monta kertaa pieni luku voi tulos olla väärä pyöristysten takia. Merkkijonoillakin vertailu sring1 = string2 on vaarallista. Siihenkin yleensä oma funktionsa. Kieliä ja erilaisia toteutuksia on paljon. Jos ei ole varma laskujärjestyksestä kannattaa käyttää sulkeita. Vaikka kieli pysyisi samana kääntäjissä voi kuitenkin olla eroja ja siinä miten kieltä optimoidaan.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Olen tosi outo....

      Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap
      Ikävä
      16
      2128
    2. Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta

      https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi
      Kotka
      84
      2068
    3. Oletko sä luovuttanut

      Mun suhteeni
      Ikävä
      101
      1367
    4. Hommaatko kinkkua jouluksi?

      Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k
      Sinkut
      145
      1170
    5. Vanhalle ukon rähjälle

      Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen
      Ikävä
      10
      1166
    6. Maisa on SALAKUVATTU huumepoliisinsa kanssa!

      https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663
      Kotimaiset julkkisjuorut
      79
      1132
    7. Aatteleppa ite!

      Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.
      Maailman menoa
      249
      886
    8. Omalääkäri hallituksen utopia?

      Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha
      Maailman menoa
      171
      853
    9. Mitä sanoisit

      Ihastukselle, jos näkisitte?
      Tunteet
      62
      821
    10. Onko se ikä

      Alkanut haitata?
      Ikävä
      59
      811
    Aihe