Vraag & Antwoord

Programmeren

programmeren in excel

14 antwoorden
  • LS, Ik heb al enige tijd mijn SE-lijst (cijferlijst van school) in een excel bestand verwerkt. Dit is heel handig want zo kan ik direct mijn gemiddelde zien. Nu wil ik achter het gemiddelde, in woorden (zes, zeven acht) mijn gemiddelden automatisch laten zien. Hiervoor had ik dit commando bedacht: (AA6 is de waarde van het gemiddelde) [code:1:3489f52355] =IF(AA6<1,5;"één";IF(AA6<2,5;"twee";IF(AA6<3,5;"drie";IF(AA6<4,5;"vier";IF(AA6<5,5;"vijf";IF(AA6<6,5;"zes";IF(AA6<7,5;"zeven";IF(AA6<8,5;"acht"IF(AA6<9,5;"negen";IF(AA6<10,5;"tien")))))))))) [/code:1:3489f52355] Het probleem is dat excel niet zulke lange commando's ondersteund (denk ik) ik krijg hem er wel ingetypt maar exel geeft dan een foutmelding en pas als ik hem na 8 afkap dan doet hij het... Wie o wie weet of er een makkelijker commando voor dit doel is, of weet iemand een truuk om excel langere commando's te laten ondersteunen? Bij voorbaat dank, Joost
  • Dat je een foutmelding krijgt is nietzo raar want er staat bij de ALS functie bij dat je maximaal 7 functies kan nesten! Dus zal je het op een andere manier moeten doen! Met VBA is dit niet zo heel moeilijk te realiseren: [code:1:f92bc1dc0b] If Cells(1, 1).Value < 1.5 Then Cells(1, 2).Value = "Een" ElseIf Cells(1, 1).Value < 2.5 Then Cells(1, 2).Value = "Twee" ElseIf Cells(1, 1).Value < 3.5 Then Cells(1, 2).Value = "Drie" ElseIf Cells(1, 1).Value < 4.5 Then Cells(1, 2).Value = "Vier" ElseIf Cells(1, 1).Value < 5.5 Then Cells(1, 2).Value = "Vijf" ElseIf Cells(1, 1).Value < 6.5 Then Cells(1, 2).Value = "Zes" ElseIf Cells(1, 1).Value < 7.5 Then Cells(1, 2).Value = "Zeven" ElseIf Cells(1, 1).Value < 8.5 Then Cells(1, 2).Value = "Acht" ElseIf Cells(1, 1).Value < 9.5 Then Cells(1, 2).Value = "Negen" Else Cells(1, 2).Value = "Tien" End If[/code:1:f92bc1dc0b] Alleen zou jij de cells(1, 1) en cells(1,2) even moeten aanpassen voor jou cellen. Groeten, Wouter
  • Dit is ook een optie om te proberen: maak een werkblad aan in excel) maak een macro in dit werkblad met de naam afronden() Sub afronden() ' ' afronden Macro 'in de cellen a1 tot en met g 1 zet je getallen neer ' in cel "h1" zet je de formule: =AFRONDEN(SOM(A1:G1)/AANTAL(A1:G1);2) 'de macro afronden() koppel je aan een knop die in je werkblad staat Range("h1").Select 'de laatste cel waarin de formule staat wordt geselecteerd 'de waarde die door de formule wordt berekend 'wordt omgezet in de cel ernaast = cel i1 naar een getal in letters If Range("h1").Value <= 1.5 Then Range("i1").Select 'hiermee wordt de cel i1 geselecteerd Range("i1").ClearContents 'de cel wordt leeggemaakt Range("i1").Value = "een" 'de tekstwaarde wordt ingevoegd ElseIf Range("h1").Value <= 2.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "twee" ElseIf Range("h1").Value <= 3.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "drie" ElseIf Range("h1").Value <= 4.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "vier" ElseIf Range("h1").Value <= 5.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "vijf" ElseIf Range("h1").Value <= 6.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "zes" ElseIf Range("h1").Value <= 7.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "zeven" ElseIf Range("h1").Value <= 8.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "acht" ElseIf Range("h1").Value <= 9.5 Then Range("i1").Select Range("i1").ClearContents Range("i1").Value = "negen" End If End Sub
  • [quote:9a5b753889="Joostha"] Ik heb al enige tijd mijn SE-lijst (cijferlijst van school) in een excel bestand verwerkt. Dit is heel handig want zo kan ik direct mijn gemiddelde zien. Nu wil ik achter het gemiddelde, in woorden (zes, zeven acht) mijn gemiddelden automatisch laten zien. Hiervoor had ik dit commando bedacht: (AA6 is de waarde van het gemiddelde) Wie o wie weet of er een makkelijker commando voor dit doel is, of weet iemand een truuk om excel langere commando's te laten ondersteunen?[/quote:9a5b753889] Maak op een vaste plaats in je Excel een lijstje aan van twee kolommen of twee rijen. Ligt er maar net aan hoe je het aanpakt. Bijvoorbeeld [code:1:9a5b753889] 1 EEN 2 TWEE 3 DRIE 4 VIER 5 VIJF 6 ZES 7 ZEVEN 8 ACHT 9 NEGEN 10 TIEN [/code:1:9a5b753889] Bereken nu het gemiddelde. En tel bij de eerste cel in de tweede in bovenstaandje rijtje het gemiddelde op. Dan kom je dus uit op de juiste waarde en deze laat je dus zien. Met de Nederlandse versie van Excel kun je daar de functie [color=red:9a5b753889]VERSCHUIVING[/color:9a5b753889] voor gebruiken. Andere ingebouwde functies: [color=red:9a5b753889]KIEZEN[/color:9a5b753889](AFRONDEN(AA6;1)+1;"NUL";"EEN";"TWEE";"DRIE";"VIER";"VIJF";"ZES";"ZEVEN";"ACHT";"NEGEN";"TIEN") [color=red:9a5b753889]INDEX[/color:9a5b753889] Voor deze toepassing kun je de functie VERSCHUIVING vervangen door INDEX die hiervoor gemaakt is. Of een zelfgemaakte functie zou ook kunnen natuurlijk...
  • Een beetje vreemd h4xX0r, dat je 5 mogelijke benaderingen aandraagt, maar wat uitwerking betreft alleen de twee oplossingen herhaalt die reeds eerder [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=91394]op deze plaats [/url]zijn gegeven. Een beetje eigen creativiteit kan geen kwaad. De wijziging die je in de kiezen-formule hebt aangebracht, geeft een foute oplossing. In dat licht bezien lijkt me jouw signatuur ("Don't underestimate the power of H4xX0r") tamelijk misplaatst.
  • [quote:2b26925517="Aimable"]Een beetje vreemd h4xX0r, dat je 5 mogelijke benaderingen aandraagt, maar wat uitwerking betreft alleen de twee oplossingen herhaalt die reeds eerder [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=91394]op deze plaats [/url]zijn gegeven. Een beetje eigen creativiteit kan geen kwaad. De wijziging die je in de kiezen-formule hebt aangebracht, [/quote:2b26925517] 1. Zoals jouw blijkbaar is opgevallen is dit dus een multi-post. Jouw kritiek bewijst maar weer eens dat multi-posten vaak niet gewenst is. 2. Dit topic in deze rubriek is mij als eerste onder ogen gekomen. En aan de hand van [color=blue:2b26925517]dit topic[/color:2b26925517] heb ik geprobeerd een zo goed mogelijke oplossing aan te dragen. Van eventuele muti postings heb ik geen weet gehad op het moment van posting van mijn reactie. Bovendien heb ik ook niet de moeite genomen om de 'Zoekfunctie' te gebruiken. 3. Ik ben zelf inventief geweest door in mijn ogen zo goed mogelijke oplossingen aan te dragen (op basis van de functieomschrijvingen van Excel) en het is aan de vraagsteller te beoordelen wat hij/zij daar verder mee doet. 4. In jouw andere reactie doe je een aanname dat 0.4 of lager niet voor kan komen. Annames doen vind ik tamelijk fout en daarom beveel ik deze oplossing ook niet aan. [quote:2b26925517="Aimable"] geeft een foute oplossing.[/quote:2b26925517] Er moet hier natuurlijk afgerond worden op 0 decimalen achter de komma. Foutje, kan natuurlijk voorkomen als je alles zo uit het hoofd moet doen. Correctie: KIEZEN(AFRONDEN(AA6;0)+1;"NUL";"EEN";"TWEE";"DRIE";"VIER";"VIJF";"ZES";"ZEVEN";"ACHT";"NEGEN";"TIEN") [quote:2b26925517="Aimable"] In dat licht bezien lijkt me jouw signatuur ("Don't underestimate the power of H4xX0r") tamelijk misplaatst.[/quote:2b26925517] Kritiek is goed, maar niet op deze ongefundeerde manier. Bovendien suggereer je dat alle opsommingen hierzo uit dat andere topic gehaald zijn... Bovendien zal ik nooit zomaar andere oplossingen/meningen 'kopieren', zonder zelf te na te gaan of ze (mogelijk) wel/niet correct zijn. Het onderschrift blijft gehandhaaft!
  • [quote:9b6280a4a6="h4xX0r"]Bovendien suggereer je dat alle opsommingen hierzo uit dat andere topic gehaald zijn...[/quote:9b6280a4a6] Dat suggereer ik inderdaad. Je noemde 5 mogelijke manieren om het probleem aan te pakken. Uitgerekend de methodes van FlvanSon en ondergetekende vermeld je hier en met de andere 3 doe je helemaal niets! Dat kan redelijkerwijs geen toeval zijn, ook al niet omdat die oplossing(en) tamelijk specifiek zijn. Bovendien ben je het afgelopen jaar in de zeer vele postings die je doet, nooit op een Excel-onderwerp ingegaan. En verder verwacht je in de rubriek Programmeren eerder een oplossing in VBA. [quote:9b6280a4a6="h4xX0r"]Dit topic in deze rubriek is mij als eerste onder ogen gekomen. Van eventuele muti postings heb ik geen weet gehad op het moment van posting van mijn reactie.[/quote:9b6280a4a6] Daar moet ik echt mee lachen. [quote:9b6280a4a6="h4xX0r"]Bovendien zal ik nooit zomaar andere oplossingen/meningen 'kopieren', zonder zelf te na te gaan of ze (mogelijk) wel/niet correct zijn.[/quote:9b6280a4a6] Misschien toch voortaan eerst je eigen fouten nagaan die je in oplossingen van anderen aanbrengt. [quote:9b6280a4a6="h4xX0r"]In jouw andere reactie doe je een aanname dat 0.4 of lager niet voor kan komen. Aannames doen vind ik tamelijk fout...[/quote:9b6280a4a6] Daarin sta je dan wel tamelijk alleen. Bij publiceren van resultaten van onderzoek is het nl. [b:9b6280a4a6]essentieel (!)[/b:9b6280a4a6] dat de vooronderstellingen vermeld worden. Dat is niet iets wat ik heb bedacht, dat is in het algemeen zo: zowel in de wetenschap als daarbuiten. Iemand die dat nalaat wordt in het algemeen niet serieus genomen. Waarvan akte. [quote:9b6280a4a6="h4xX0r"]Het onderschrift blijft gehandhaaf[size=18:9b6280a4a6][b:9b6280a4a6]t[/b:9b6280a4a6][/size:9b6280a4a6] ![/quote:9b6280a4a6] :o :oops: :oops: :o We weten nu ook waarom...
  • [quote:c7fc008054="Aimable"][quote:c7fc008054="h4xX0r"]Bovendien suggereer je dat alle opsommingen hierzo uit dat andere topic gehaald zijn...[/quote:c7fc008054] Dat suggereer ik inderdaad. Je noemde 5 mogelijke manieren om het probleem aan te pakken. Uitgerekend de methodes van FlvanSon en ondergetekende vermeld je hier en met de andere 3 doe je helemaal niets! Dat kan redelijkerwijs geen toeval zijn, ook al niet omdat die oplossing(en) tamelijk specifiek zijn. [/quote:c7fc008054] Ik heb even een nul-hypothese uitgevoerd op jouw stelling en ik ben naar eigen goeddunken tot de conclusie gekomen dat ik deze verworpen heb. [quote:c7fc008054="Aimable"] Bovendien ben je het afgelopen jaar in de zeer vele postings die je doet, nooit op een Excel-onderwerp ingegaan. [/quote:c7fc008054] Deze bewering kan verworpen worden door de [url=http://forum.computertotaal.nl/phpBB2/search.php?mode=results&search_keywords=Excel&search_author=H4xX0r]Zoekfunctie[/url] van dit forum te gebruiken. (zoekbegrip: [i:c7fc008054]Excel[/i:c7fc008054] en gebruikersnaam [i:c7fc008054]H4xX0r[/i:c7fc008054]) [quote:c7fc008054="Aimable"] En verder verwacht je in de rubriek Programmeren eerder een oplossing in VBA. [/quote:c7fc008054] Dit is alweer een aanname die ik niet ondersteun. [quote:c7fc008054="Aimable"] [quote:c7fc008054="h4xX0r"]Dit topic in deze rubriek is mij als eerste onder ogen gekomen. Van eventuele muti postings heb ik geen weet gehad op het moment van posting van mijn reactie.[/quote:c7fc008054] Daar moet ik echt mee lachen. [/quote:c7fc008054] Dan lach ik mee... :lol: [quote:c7fc008054="Aimable"] [quote:c7fc008054="h4xX0r"]Bovendien zal ik nooit zomaar andere oplossingen/meningen 'kopieren', zonder zelf te na te gaan of ze (mogelijk) wel/niet correct zijn.[/quote:c7fc008054] Misschien toch voortaan eerst je eigen fouten nagaan die je in oplossingen aanbrengt. [/quote:c7fc008054] Ik heb even de [i:c7fc008054]zoekfunctie[/i:c7fc008054] gebruikt en ik zal de quotes van Aimable hier maar niet neerzetten... [i:c7fc008054]"Wie de bal kaatst, kan hem terug verwachten."[/i:c7fc008054] [quote:c7fc008054="Aimable"] [quote:c7fc008054="h4xX0r"]In jouw andere reactie doe je een aanname dat 0.4 of lager niet voor kan komen. Aannames doen vind ik tamelijk fout...[/quote:c7fc008054] Daarin sta je dan wel tamelijk alleen. Bij publiceren van resultaten van onderzoek is het nl. [b:c7fc008054]essentieel (!)[/b:c7fc008054] dat de vooronderstellingen vermeld worden. Dat is niet iets wat ik heb bedacht, dat is in het algemeen zo: zowel in de wetenschap als daarbuiten. Iemand die dat nalaat wordt in het algemeen niet serieus genomen. Waarvan akte. [/quote:c7fc008054] Dit staat hier compleet los van. In jouw voorbeeld dienen randvoorwaarden inderdaad vermeld te worden (om de factoren tijd/geld/resources/etc. op een acceptabel niveau te houden). Aannames doen vind ik nog steeds tamelijk fout, als ze met een kleine ingreep voorkomen hadden kunnen worden. Door simpelweg de bal aan de vraagsteller terug te kaatsen of inderdaad 0.4 of lager wel/niet voor kan komen. Of door de oplossing zodanig te formuleren dat randvoorwaarden tot een minimum beperkt worden. Op dit punt gaat het over het algemeen in de praktijk tamelijk vaak mis... En dan heb ik het niet alleen over deze context. Zo kan ik anders ook wel oplossingen als het volgende aandragen... [code:1:c7fc008054]c = a / b[/code:1:c7fc008054]maar je mag voor b geen 0 kiezen. [code:1:c7fc008054] if (b <> 0) then c = a / b [/code:1:c7fc008054] [quote:c7fc008054="Aimable"] [quote:c7fc008054="h4xX0r"]Het onderschrift blijft gehandhaaf[size=18:c7fc008054][b:c7fc008054]t[/b:c7fc008054][/size:c7fc008054] ![/quote:c7fc008054] :o :oops: :oops: :o We weten nu ook waarom...[/quote:c7fc008054] Verder wil ik je wijzigen op de [url=http://forum.computertotaal.nl/phpBB2/faq.php#2]etiquette van dit forum[/url], omdat ik denk dat dit gaat uitdraaien op een flame...
  • Jouw reactie behoeft weinig commentaar. Eenieder die de discussie leest trekke zijn conclusies. Nog slechts 1 bemerking over de volgende opmerking van jou: [quote:8274ed4968="h4xX0r"]Ik heb even de zoekfunctie gebruikt en ik zal de quotes van Aimable hier maar niet neerzetten...[/quote:8274ed4968] Dat moet je nu juist wel doen, h4xX0r". Als je wat beweert moet je ook met feiten komen. Dus kom op met al de postings waaruit blijkt dat ik oplossingen van anderen zou hebben gekopieerd zonder dat dat uit de betreffende postings blijkt.
  • Ik ben nu wel benieuwd welke oplossing Joost gebruikt heeft voor zijn probleem en waarom, hoop dat dat nog hier komt te staan en verder vind ik dat jullie, Aimable en h4xX0r niet zo kinderachtig moeten doen!
  • Ontopic graag, met elkaar discussieren doe je maar per privé bericht of e-mail.
  • [url=http://forum.computertotaal.nl/phpBB/viewtopic.php?t=91394&start=0&postdays=0&postorder=asc&highlight=]CROSSPOST[/url] :P
  • Ik denk dat Joostha niet veel heeft aan deze kinderachtige discussie. Geef hem liever een goed antwoord waar hij iest aan heeft. Hij stelt niet voor niets z'n vraag op dit forum.
  • :o Volgens mij staan er al 4 goeie antwoorden??? En waar is jouw goeie antwoord dan??

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.