Ga naar inhoud

Excel


anoniem

Aanbevolen berichten

Een beetje teveel code misschien maar je kunt toch ook gewoon alle cellen bij elkaar optellen en dan delen door het aantal cellen? =(A1 + A2 + A3 + A4 + A5) / 5 Wat ik niet snap: Je wil van x aantal cellen het gemiddelde berekenen maar de cellen met de waarde '0' wil je niet meerekenen. Waarom niet? Of je nou 1 + 1 doet of 1 + 1 + 0 + 0+ 0 + 0 het blijft dezelfde uitkomst... Edit: Natuurlijk is =AVARAGE(A1:A5) veel handiger, maar het de code die ik hierboven geef is hetzelfde.
Link naar reactie
[quote:c4ffafb81c="MV-Software"]Een beetje teveel code misschien maar je kunt toch ook gewoon alle cellen bij elkaar optellen en dan delen door het aantal cellen? =(A1 + A2 + A3 + A4 + A5) / 5[/quote:c4ffafb81c] Bij de vragensteller gaat het om het bereik B35:E46, dat zijn 48 cellen. Dan is het niet handig om die op bovenstaande manier bij elkaar op te tellen. [quote:c4ffafb81c="MV-Software"]Wat ik niet snap: Je wil van x aantal cellen het gemiddelde berekenen maar de cellen met de waarde '0' wil je niet meerekenen. Waarom niet? Of je nou 1 + 1 doet of 1 + 1 + 0 + 0+ 0 + 0 het blijft dezelfde uitkomst...[/quote:c4ffafb81c]De optelling wel, maar niet het gemiddelde !! Een voorbeeldje zal dat duidelijk maken. Typ: in A1: 1 in A2: 2 in A3: 3 in A4: 0 in A5: 4 Typ in een willekeurige andere cel (ervan uitgaande dat je de puntkomma als lijstscheidingsteken gebruikt): - als je met een Nederlandstalige van Excel werkt: =GEMIDDELDE(A1:A5) - als je met een Engelstalige versie van Excel werkt: =AVERAGE(A1:A5) De uitkomst is 2, namelijk: 10/[b:c4ffafb81c]5[/b:c4ffafb81c] . Typ in een willekeurige andere cel en sluit af met Ctrl-Shift-Enter (ervan uitgaande dat je de puntkomma als lijstscheidingsteken gebruikt): - als je met een Nederlandstalige van Excel werkt: =GEMIDDELDE(ALS(A1:A5<>0;A1:A5)) - als je met een Engelstalige versie van Excel werkt: =AVERAGE(IF(A1:A5<>0;A1:A5)) De uitkomst is 2,5, namelijk: 10/[b:c4ffafb81c]4[/b:c4ffafb81c] Wis nu de 0 in A4 en kijk naar de uitkomsten. Beide formules geven nu als uitkomst 2,5 . Een cel waarin een 0 staat, is voor Excel dus niet hetzelfde als een lege cel !
Link naar reactie
[quote:67de84104d="WesselGozeling"]toch krijg ik nog steeds een error, wel een andere, namelijk: #Deel/0 . Waar zit deze keer de fout? Gebruikte formule: =GEMIDDELDE(ALS(B43:E54<>0;B43:E54)) Mét Crl+Shift+Enter afgesloten.[/quote:67de84104d]Het resultaat #Deel/0 kun je alleen krijgen als: - ofwel alle waarden in het bereik B43: E54 gelijk zijn aan 0; - ofwel als de som van het bereik B43:E54 gelijk is aan 0. Die foutmelding kun je voorkomen door de formule uit te breiden als volgt: =ALS(SOM(B43:E54)=0,"",GEMIDDELDE(ALS(B43:E54<>0,B43:E54))) Nog altijd invoeren via Ctrl-Shift-Enter! Wessel: let op het juiste lijstscheidingsteken (ik heb een komma gebruikt omdat je schreef dat je dat teken als lijstscheidingsteken hebt ingesteld).
Link naar reactie
Wessel schrijft: [quote:d519b87834]Als lijstscheidingsteken gebruik ik de , (komma).[/quote:d519b87834] maar ook: [quote:d519b87834]toch krijg ik nog steeds een error, wel een andere, namelijk: #Deel/0 . Waar zit deze keer de fout? Gebruikte formule: =GEMIDDELDE(ALS(B43:E54<>0;B43:E54)) Mét Crl+Shift+Enter afgesloten.[/quote:d519b87834] Dat kan niet. Als je als lijstscheidingsteken de komma gebruikt krijg je als je een formule met puntkomma's invoert onmiddelijk een foutmelding in een pop-up. Probeer eens wat excel zelf doet: Selecteer cel E62. Typ bovenaan in de invoerruimte =GEMIDDELDE.ALS( (Met dat laatste haakje) Klik op het fx teken voor de invoerruimte. Er gaat een window open waar je het bereik en de voorwaarde kunt invullen. Vul in het bovenste vak B43:E54 in en in het tweede vak <>0 (Het laatste kan leegblijven) Klik op OK. Staat er nu een komma of een puntkomma in de formule? Dat is je scheidingsteken. Zet in één of meer van de cellen B43:E54 een willekeurig getal. Zolang er alleen nullen staat krijg je de #Deel/0 fout. alfa6591 geeft een aantal prima formules. Het zijn arrayformulas, oftewel matrixformules in de Nederlandse versie. Daarom moeten ze worden ingevoerd met Ctrl-Shift-Enter. Het voordeel is dat ze ook in oudere versies van Excel werken. Nu je versie 2007 hebt kan het ook anders. =GEMIDDELDE.ALS(B43:E54;"<>0") (met een ;) of =GEMIDDELDE.ALS(B43:E54,"<>0") (met een ,)werkt vanaf versie 2007. Deze kun je met alleen <enter> invoeren. Zolang er niet uitsluitend nullen in de cellen B43:E54 staan krijg je een uitkomst. Wil je de de #Deel/0 fout per se vermijden dan moet je een extra voorwaarde stellen om te zorgen dat er niet door nul gedeeld kan worden. Hier ben ik het maar half eens met alfa6591. De foutmelding komt als alle waarden in het bereik B43: E54 gelijk zijn aan 0 (of leeg zijn), maar niet zonder meer als de som van het bereik B43:E54 gelijk is aan 0 Als het bereik positieve en negatieve getallen bevat, die opgeteld 0 zijn is het gemiddelde ook 0. (Negatief kleedgeld zal wel niet voorkomen, maar toch...) Als voorwaarde voor de berekening moet je dus stellen dat het aantal cellen in B43:E54 dat niet gelijk is aan 0 of leeg is, niet gelijk aan 0 mag zijn. Ik kom dan bv. tot: =ALS(AANTALLEN.ALS(B43:E54;"<>0";B43:E54;"<>"&"")=0;"";GEMIDDELDE.ALS(A1:B7;"<>0")) (met een ;) of =ALS(AANTALLEN.ALS(B43:E54,"<>0",B43:E54,"<>"&"")=0,"",GEMIDDELDE.ALS(A1:B7,"<>0")) (met een ,) Ook dit zijn geen matrixformules en kunnen dus gewoon met <enter> worden ingevoerd. Als het ondanks alle formules van alfa6591 en deze formules nog niet werkt, meldt dan ook even welke windowsversie je hebt.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...