/ / Aangepaste gemiddelde functie in Excel VBA

Aangepaste gemiddelde functie in Excel VBA

Hieronder zullen we een programma bekijken in Excel VBA welke een creëert Door de gebruiker gedefinieerde functie dat berekent de gemiddelde van een willekeurig geselecteerd bereik met uitsluiting van een of meer waarden die uitbijters zijn en die niet mogen worden gemiddeld.

Situatie:

Aangepaste gemiddelde functie in Excel VBA

Door de gebruiker gedefinieerde functies moeten in een module worden geplaatst.

1. Open de Visual Basic-editor en klik op Invoegen, Module.

2. Voeg de volgende coderegel toe:

Function CUSTOMAVERAGE(rng As Range, lower As Integer, upper As Integer)

De naam van onze functie is CUSTOMAVERAGE. Het gedeelte tussen de haakjes betekent dat we Excel VBA een bereik en twee integer-variabelen als invoer geven. We noemen ons bereik rng, één integer-variabele die we lager noemen, en één integer-variabele die we upper noemen, maar je kunt elke naam gebruiken.

3. Vervolgens declareren we een bereikobject en twee variabelen van het type Integer. We noemen de Range-objectcel. Eén integer-variabele die we totaal noemen en één integer-variabele die we count noemen.

Dim cell As Range, total As Integer, count As Integer

4. We willen elke cel in een willekeurig geselecteerd bereik controleren (dit bereik kan elke grootte hebben). In Excel VBA kunt u daarvoor de For Each Next-lus gebruiken. Voeg de volgende coderegels toe:

For Each cell In rng

Next cell

Opmerking: rng en cel worden hier willekeurig gekozen, je kunt elke naam gebruiken. Vergeet niet om deze namen in de rest van uw code te vermelden.

5. Vervolgens controleren we voor elke waarde in dit bereik of deze tussen de twee waarden valt (onder en boven). Als dit waar is, verhogen we het totaal met de waarde van de cel en nemen we de telling met 1 op. Voeg de volgende coderegels toe aan de lus.

If cell.Value >= lower And cell.Value <= upper Then
    total = total + cell.Value
    count = count + 1
End If

6. Om het resultaat van deze functie (het gewenste gemiddelde) te retourneren, voegt u de volgende coderegel toe buiten de lus.

CUSTOMAVERAGE = total / count

7. Vergeet niet om de functie te beëindigen. Voeg de regel toe:

End Function

8. Nu kunt u deze functie net als elke andere Excel-functie gebruiken om het gemiddelde te berekenen van getallen die tussen twee waarden vallen.

Resultaat:

Aangepaste gemiddelde functie Resultaat

Ter controle kunt u alle waarden verwijderen die dat zijnlager dan 10 en hoger dan 30 en gebruik de standaardgemiddelde functie in Excel om te zien of Excel hetzelfde gemiddelde berekent als onze aangepaste gemiddelde functie.

Aangepaste gemiddelde functiecontrole

Onze aangepaste gemiddelde functie werkt! Opmerking: deze functie is alleen beschikbaar in deze werkmap.

Lees ook: