/ / Brugerdefineret gennemsnitlig funktion i Excel VBA

Brugerdefineret gennemsnitlig funktion i Excel VBA

Nedenfor vil vi se på et program i Excel VBA som skaber en Brugerdefineret funktion der beregner gennemsnit af et tilfældigt udvalgt område eksklusive en eller flere værdier, der er afvigende og bør ikke gennemsnitlig.

Situation:

Brugerdefineret gennemsnitlig funktion i Excel VBA

Brugerdefinerede funktioner skal placeres i et modul.

1. Åbn Visual Basic Editor og klik på Insert, Modul.

2. Tilføj følgende kode linje:

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

Navnet på vores funktion er CUSTOMAVERAGE. Delen mellem parenteserne betyder, at vi giver Excel VBA en rækkevidde og to integervariabler som input. Vi navngiver vores sortiment rng, en Integer-variabel, vi kalder lavere, og en Integer-variabel vi kalder øverste, men du kan bruge navne.

3. Derefter erklærer vi et områdeobjekt og to variabler af typen Integer. Vi kalder Range objekt celle. En helhedsvariabel vi kalder total og en helhedsvariabel vi kalder tæller.

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

4. Vi vil tjekke hver celle i et tilfældigt valgt interval (dette område kan være af en hvilken som helst størrelse). I Excel VBA kan du bruge For Each Next-sløjfen til dette. Tilføj følgende kode linjer:

For Each cell In rng

Next cell

Bemærk: rng og celle er tilfældigt valgt her, du kan bruge navne. Husk at henvise til disse navne i resten af ​​din kode.

5. Dernæst tjekker vi for hver værdi i dette interval, hvis det falder mellem de to værdier (nederst og øverst). Hvis det er sandt, øges vi i alt efter værdien af ​​cellen, og vi øger tællingen med 1. Tilføj følgende kodelinjer til sløjfen.

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

6. For at returnere resultatet af denne funktion (det ønskede gennemsnit), tilføj følgende kode linje uden for sløjfen.

CUSTOMAVERAGE = total / count

7. Glem ikke at afslutte funktionen. Tilføj linjen:

End Function

8. Nu kan du bruge denne funktion ligesom enhver anden Excel-funktion til at beregne gennemsnittet af tal, der falder mellem to værdier.

Resultat:

Brugerdefineret gennemsnitligt funktionsresultat

Som en check kan du slette alle de værdier, der erlavere end 10 og højere end 30 og brug standard gennemsnitsfunktionen i Excel for at se, om Excel beregner det samme gennemsnit som vores brugerdefinerede gennemsnitlige funktion.

Brugerdefineret gennemsnitsfunktionskontrol

Vores brugerdefinerede gennemsnitlige funktion virker! Bemærk: Denne funktion er kun tilgængelig i denne projektmappe.

Læs også: