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.
EXCEL ei osaa laskea peruskoulun laskutoimituksia
31
1526
Vastaukset
- 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
Ainakin WolframAlpha laskee oikein, mutta se onkin matemaatikkojen koodaama ohjelma
https://www.wolframalpha.com/input/?i=-2^4 - Tuossajotain
Oikeinkinlasketaan kirjoitti:
Ainakin WolframAlpha laskee oikein, mutta se onkin matemaatikkojen koodaama ohjelma
https://www.wolframalpha.com/input/?i=-2^4Tilasto-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
Tämä tuli mieleen...
http://www.reijotelaranta.fi/viikon_tarinat/ala_sina_jaa_ahneuden_ansaan/ - 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.htmlLiukuluvuissa 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
Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap162128Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi842068- 1011367
Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k1451170Vanhalle ukon rähjälle
Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen101166Maisa on SALAKUVATTU huumepoliisinsa kanssa!
https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663791132Aatteleppa ite!
Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.249886Omalääkäri hallituksen utopia?
Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha171853- 62821
- 59811