Vergelijken
Tougather vs. Excel: spreadsheets vergeleken voor echt werk
Excel is de diepste spreadsheet die er is. Dit zijn 167 functies in een browsertabblad, midden in een document. Hieronder staat waar dat verschil echt zit — gemeten en niet geschat — en de kortere lijst met punten waar de ruil de andere kant op valt.
Waar Excel beter is
Een vergelijking waarin de ander nergens wint is geen vergelijking maar een advertentie. Alles hieronder komt uit de code.
Negen functies die er met opzet niet zijn
De bibliotheek telt 167 functies uit twee bestanden. Negen namen ontbreken bewust, en wie er eentje typt krijgt de reden te zien in plaats van een kaal #NAME? — in de formule-editor van een kolom voordat je hem uitvoert, en in de foutmelding zelf als je er een in een cel typt. RAND en RANDBETWEEN: een cel die bij elke weergave verandert valt niet te vergelijken met wat er een seconde eerder stond. UNIQUE, SORT, FILTER en TRANSPOSE: die lopen over in cellen die je niet geselecteerd hebt, en dat spill-model bestaat hier niet. INDIRECT en OFFSET: allebei bouwen ze tijdens het rekenen een verwijzing uit tekst op, waardoor de cyclusbewaking de afhankelijkheden niet meer ziet.
Er is ook geen model voor vluchtige functies, en dat gat is groter dan negen namen doen vermoeden. NOW zit er wel in, maar wordt één keer gelezen op het moment dat het blad rekent en tikt niet door. Niets herrekent hier op een klok.
Macro's en VBA
Er zijn geen macro's. De reden staat in één regel code: wat een macro meestal automatiseert — doe dit voor elke rij — is precies wat een formulekolom al is. Dat klopt voor het gangbare geval en dekt verder niets. Een knop die een rapport opbouwt, een invoegtoepassing naar een intern systeem, een formulier dat iemand van de administratie jaren geleden bouwde: echt werk dat Excel doet, en hier draait niets het. Eindigt je bestand op .xlsm, dan hoort het niet hier.
Vijftigduizend rijen, en wat er daarna gebeurt
De grens is met een script gemeten en niet geschat. Vijftigduizend rijen is 3,4 MB, opent in 0,56 seconde en zet een aanslag na 118 milliseconden op het scherm. Bij honderdduizend rijen is de werkruimte 6,8 MB en weigert de browser de opslag ronduit: de ruimte die hij een pagina geeft is vol.
Wélk onderdeel het begeeft, doet ertoe. Tekenen en scrollen gaan bij vijftigduizend rijen prima, en de adresparser slikt drie kolomletters en zeven rijcijfers, dus adressering was nooit de beperking. Opslag is dat wel, en dat is de prijs van werk dat in je eigen browser blijft. Wordt een schrijfactie geweigerd, dan komt er een balk over de app die zegt dat wat je ziet niet meer bewaard wordt. Excel doet ruim een miljoen rijen per blad.
Formules overleven het bestand niet
Dit punt kost de meeste mensen geld en wordt het vaakst gemist. De xlsx-import leest celwaarden, plus de datumopmaak uit styles.xml zodat datumgetallen weer datums worden. Het formule-element leest hij niet. De export gaat dezelfde kant op: een formulekolom wordt weggeschreven als de getallen die eruit kwamen. Dus =B2*C2 gaat erin als 4200 en komt eruit als 4200, en wat je doorgeeft zijn waarden en geen werkend model.
Een financieel model hoort in Excel
Gewoon hardop: wie een financieel model bouwt, blijft bij Excel. Zo'n model draait op scenarioschakelaars, op een herrekenlus en op invoegtoepassingen, en het wordt nagekeken door mensen die het in Excel openen en de formules erin verwachten. De elf financiële functies hier — PMT, FV, PV, NPER, RATE, NPV, IRR, SLN, SYD, EFFECT en NOMINAL — doen een aflossingsschema. Ze doen geen model.
Waar deze wint
Een formule is een regel over een kolom
In Excel is een kolom formules duizend kopieën van één idee, en de leuke fouten zitten in die vier rijen waar iemand een kopie aanpaste. Hier draagt de kolom de formule en rekent elke rij hem uit tegen zijn eigen waarden. Per cel werkt ook — typ =B2*C2 in een cel en het rekent — en waar allebei bestaan wint de kolom, want een regel die elke losse cel mag overrulen is geen regel. Doortrekken werkt zoals je gewend bent: =B$2*$C2 houdt overal de helften vast die jij hebt vastgezet, en de herschrijving gaat over je eigen brontekst, dus spaties en hoofdletters blijven staan.
Elke tabel is een blad
Er is geen apart werkmapbestand: elke tabel in een project is al als blad aanspreekbaar via zijn titel. Costs!B2:B40 en [Costs]![Amount] werken allebei, en twee tabellen met dezelfde titel worden genummerd in plaats van dat er een muntje wordt opgegooid. Een cel die wordt opgevraagd terwijl hij al rekent geeft #CYCLE! terug in plaats van je tabblad te laten hangen.
Draaitabellen die niet kunnen verouderen
Een draaitabel is hier een tabelblok met een specificatie, dat bij elke weergave opnieuw uit de bron wordt afgeleid. Zeven aggregaties, vijf datumgroepen — dag, week, maand, kwartaal, jaar — en desgewenst totaalregels. Omdat het een tabel is, werken sorteren, grafieken en export naar .docx en .xlsx er meteen op. De keerzijde: geen slicers, geen externe bronnen, geen momentopname die je bevriest.
Validatie werkt precies andersom dan in Excel. Verplicht, getal, datum, e-mail, url, grenzen, lengte, uniek en een vrije formule over de rij bestaan allemaal, maar een cel die de regel breekt blijft staan en wordt gemarkeerd — een regel die typewerk weggooit kost je werk op de dag dat de regel zelf niet klopt.
Nederlandse Excel
Excel vertaalt zijn functienamen mee met je taalinstelling; hier gebeurt dat niet. Je typt SUM, IF en VLOOKUP, niet SOM, ALS en VERT.ZOEKEN — en SUMIF in plaats van SOM.ALS, COUNTIF in plaats van AANTAL.ALS. Om dezelfde reden zijn de foutcodes Engels: #N/A en #DIV/0!. Beide namenlijsten staan naast elkaar in de 20 formules die je echt gebruikt.
Twee dingen zijn wél op je toetsenbord afgestemd. De puntkomma tussen argumenten wordt geaccepteerd naast de komma, met die reden erbij in de code: dat is wat een Nederlandse of Duitse Excel schrijft. En de csv-lezer raadt het scheidingsteken zelf, over komma, puntkomma, tab en pipe — wat je meteen merkt bij een export uit een Nederlandse Excel, want die zet er puntkomma's in. Wat níet meebuigt is het decimaalteken: =1.5*B2 rekent, =1,5*B2 niet, want daar is de komma het scheidingsteken.
Naast elkaar
Acht van deze twaalf regels gaan naar Excel, en dat is de eerlijke vorm van een spreadsheetvergelijking tegen dé spreadsheet. De rest van het kantoorpakket staat in de volledige Microsoft 365-vergelijking, en hoe Google Spreadsheets zich verhoudt is het nauwere gevecht.
| Excel | Tougather | |
|---|---|---|
| Functies | Meer, en er komen er bij | 167 in één bibliotheek, Engelse namen |
| Macro's en VBA | Een complete scripttaal | Niets. Er draait hier niets dat ze uitvoert |
| Overlopende matrices | UNIQUE, SORT, FILTER, TRANSPOSE | Geen spill-model. Gebruik een draaitabel of SUMIFS |
| Vluchtige functies | Rekenen uit zichzelf opnieuw | Geen enkele. NOW wordt gelezen als het blad rekent |
| INDIRECT en OFFSET | Allebei | Geen van beide. INDEX met een bereik dekt het meeste |
| Rijen in één blad | Ruim een miljoen | 50.000 gemeten comfortabel; bij 100.000 weigert de opslag |
| Formules in een xlsx | Gaan heen en terug mee | Alleen waarden, allebei de kanten op |
| Draaitabellen | Slicers, externe bronnen, momentopnames | 7 aggregaties, 5 datumgroepen, elke keer opnieuw afgeleid |
| Eén formule voor een kolom | Doortrekken, één kopie per rij | Een regel op de kolom; per cel mag ook |
| Puntkomma in een formule | Standaard in een Nederlandse Excel | Wordt geaccepteerd, naast de komma |
| Cel die de regel breekt | Validatie weigert de invoer | De waarde blijft staan en wordt gemarkeerd |
| Prijs | Onderdeel van Microsoft 365, per persoon | €0, €14 per maand of €24 per zetel |
Wanneer je Excel houdt
Blijf bij Excel als je werkmap macro's draait, als je voorbij vijftigduizend rijen werkt, als je modellen bouwt, als je op overlopende matrices of INDIRECT leunt, of als het bestand naar iemand gaat die het in Excel opent en de formules erin verwacht. Dat zijn geen gaten waar stilletjes aan gewerkt wordt: ze volgen uit een spreadsheet die in een document zit, in je eigen browser.
Dit is voor de andere spreadsheet: de begroting, de resultatentabel, de antwoorden uit een enquête. Cijfers die bij een document horen en niet bij een werkmap, waar de echte kosten zitten in drie kopieën — tabel, grafiek en slide — die vanaf maart niet meer hetzelfde zeggen. Een grafiek bewaart hier het id van de tabel waaruit hij leest, en dat is de hele reden dat het blad ín het document staat. Verder kijken kan bij alle vergelijkingen op een rij.
Vragen die het eerst komen
Ondersteunt Tougather VERT.ZOEKEN en X.ZOEKEN?
Allebei, maar onder hun Engelse naam: je typt VLOOKUP en XLOOKUP. Verder zitten INDEX, MATCH, XMATCH, HLOOKUP, SUMIF (SOM.ALS), COUNTIF (AANTAL.ALS), SUMIFS, COUNTIFS, IFERROR en IFNA (ALS.NB) erin — 167 functies in totaal, waarvan 11 financieel en 15 statistisch. Negen namen ontbreken met opzet en zeggen dat ook als je ze typt: RAND, RANDBETWEEN, UNIQUE, SORT, FILTER, TRANSPOSE, INDIRECT, OFFSET en VBA.
Ziet mijn xlsx-bestand er na importeren hetzelfde uit?
Nee. De import leest celwaarden, plus de datumopmaak uit styles.xml zodat datumgetallen weer datums worden. Formules leest hij niet, en voorwaardelijke opmaak, grafieken, draaitabellen en macro's evenmin. Een cel met =B2*C2 komt binnen als het getal dat er het laatst uit kwam.
Hoe groot mag een spreadsheet in Tougather zijn?
Vijftigduizend rijen is gemeten en comfortabel: 3,4 MB opgeslagen, 0,56 seconde om te openen, 118 milliseconden tussen aanslag en scherm. Bij honderdduizend rijen is de werkruimte 6,8 MB en weigert de browser de opslag, en dan verschijnt er een balk die zegt dat je werk niet meer bewaard wordt. Excel doet ruim een miljoen rijen per blad.
Kan ik Excel blijven gebruiken naast Tougather?
Ja, en voor sommig werk moet je dat ook. Exporteer een tabel naar .xlsx of csv zodra je iets nodig hebt dat alleen Excel kan. Eén kanttekening: een formulekolom gaat het bestand in als de getallen die eruit kwamen, dus je geeft waarden door en geen levend model.
Geen login, niets om op te zeggen. Plak er een csv in die je al hebt, typ =B2*C2 in een cel, en kijk of die 167 dekt waar jij in de praktijk naar grijpt.