• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA gemiddelde berekenen met voorwaarden

  • Onderwerp starter Onderwerp starter KeBr
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

KeBr

Gebruiker
Lid geworden
25 apr 2016
Berichten
183
Beste,

Ik heb een document dat dynamisch moet zijn, hierin wil ik graag op basis van voorwaarden een gemiddelde berekenen.
-in rij 1 hebben een aantal cellen en nummer, steeds met dezelfde afstand.
- In D7 dient een waarde ingevuld te worden, deze is variabel
- In D11 dient het gemiddelde te komen van de cellen uit rij 11 waarbij de waarde in rij 1 groter is dan 0 (Waarde uit kolommen waarbij in rij 1 een waarde staat)
- de opgeven waarde in D7 moet altijd vanaf G6 beginnen te tellen.
- indien de cellen waarover het gemiddelde berekend wordt een 0 waarde bevatten mogen deze niet meegeteld worden, dus ook niet om te middelen.

In B4 staat een knop die vanuit VBA een blok invoegt.

Bij voorbaat dank voor reacties.
 

Bijlagen

Ik zou er geen €0 in een cel zetten als het niet nodig is dat maakt het, wat mij betreft, zeer onoverzichtelijk.
Als je dus de 0 weg laat en via formules er voor zorgt dat er ook geen 0 komt te staan wordt alles veel eenvoudiger.
Tevens gaat het gemiddelde dan gewoon goed.

In voorbeeld regels 11 tm 25 aangepast.
 

Bijlagen

Beste,

bedankt voor je reactie, hiermee wordt het wel overzichterlijker, daar heb je gelijk in. echter is het nog niet dynamisch, dus dat waarde berekend word over de cellen met het aantal kolommen zoals in D7 aangegeven.
 
Beste Popipipo,

Bedankt zover, dit is een goede oplossing.
Is het ook nog mogelijk dat er alleen een gemiddelde berekend word als de waarde in de cellen groter is dan 0.
concreet: als in D7 3 staat wordt het gemiddelde van H11 + K11 + N11 als b.v. in K11 "0" staat zou het gemiddelde dus maar over 2 waarde berekend mogen worden.
 
Bedoel je exact 0 of afgerond 0?
 
Ik bedoel echt 0, dus er is geen waarde. Dit houd in dat de gele cellen geen waarde hebben, anders zou er iets komen te staan
 
een aanvulling, er staat dan wel een formule in de cel die als uitkomst 0 heeft
 
Zorg er voor dat de uitkomt van de formule niet 0 wordt maar dat deze leeg is dus ""
Een lege cel wordt niet meegerekend met het gemiddelde.


Code:
=als([I]formule[/I]=0;""; [I]formule[/I])
 
Beste Popipipo,

Bedankt, dit werk in elk geval prima.
nog ene laatste vraag, kan dit ook in VBA geschreven worden. Ik vraag dit omdat meerdere personen in het document gaan werken en regels toe kunnen voegen waarbij ze de formules dan niet goed doorvoeren.
De macro zou dan voor het bereik in kolom D moeten gelden.
 
Voor vba moet je bij iemand anders zijn, dat is niet mijn ding.
 
Bedankt

In elk geval bedankt voor al je reacties. ik kan hiermee voorlopig verder. mocht er nog iemand zijn die het in VBA kan zetten dan hoor ik dat graag.
 
Bedankt

Beste emields,

Bedankt voor deze VBA, ook deze doet wat er verwacht wordt.
Nu is het geheel compleet.
 
Beste emields,

Er blijkt nog een probleem met de macro te zijn.
Indien er een nul waarde staat in een cel mag deze niet meegerekend worden.
hiervoor heb ik een formule in de cellen gezet zodat deze blanco ("") worden als er geen bedragen zijn ingevuld.

Echter de macro stopt nu bij de eerste lege cel.

Ook worden er gemiddelde weergegeven als alle cellen in de regel leeg zijn.

zie bijlage
 

Bijlagen

Nog een fout in code

Beste emields,

De toevoeging dat er voldoende projecten moeten zijn is zeer welkom, bedankt hiervoor.

De code doet echter nog niet wat moet, Ik heb nu in G12 geen bedrag ingevuld, betekent dat H12 leeg is (""). de code zou dan nog wel het gemiddelde moeten bereken over de andere projecten op die regel.

zie bijlage waarin dit is weergegeven.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan