/ / Anpassad genomsnittlig funktion i Excel VBA

Anpassad genomsnittlig funktion i Excel VBA

Nedan ser vi på ett program i Excel VBA vilket skapar en Användardefinierad funktion som beräknar medel av ett slumpmässigt valt intervall exklusive en eller flera värden som är outliers och borde inte vara medeltal.

Situation:

Anpassad genomsnittlig funktion i Excel VBA

Användardefinierade funktioner måste placeras i en modul.

1. Öppna Visual Basic Editor och klicka på Insert, Module.

2. Lägg till följande kodrad:

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

Namnet på vår funktion är CUSTOMAVERAGE. Delen mellan parenteserna innebär att vi ger Excel VBA ett intervall och två integervariabler som ingång. Vi heter vårt rng-sortiment, en helhetsvariabel vi kallar lägre och en integervariabel som vi kallar övre men du kan använda namnen.

3. Vi förklarar sedan ett Range-objekt och två variabler av typen Integer. Vi kallar Range objekt cellen. En helhet variabel vi kallar total och en helhet variabel vi kallar räkna.

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

4. Vi vill kontrollera varje cell i ett slumpmässigt valt område (detta intervall kan vara av någon storlek). I Excel VBA kan du använda For Each Next-loopen för detta. Lägg till följande kodlinjer:

For Each cell In rng

Next cell

Obs! Rng och cell är slumpmässigt valda här, du kan använda några namn. Kom ihåg att hänvisa till dessa namn i resten av din kod.

5. Därefter kontrollerar vi för varje värde i detta intervall om det faller mellan de två värdena (lägre och övre). Om det är sant, ökar vi totalt med cellens värde och vi ökar med 1. Lägg till följande kodlinjer i slingan.

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

6. För att returnera resultatet av denna funktion (önskat medelvärde), lägg till följande kodlinje utanför slingan.

CUSTOMAVERAGE = total / count

7. Glöm inte att avsluta funktionen. Lägg till raden:

End Function

8. Nu kan du använda den här funktionen precis som vilken som helst annan Excel-funktion för att beräkna medelvärdet av tal som faller mellan två värden.

Resultat:

Anpassat genomsnittligt funktionsresultat

Som en check kan du radera alla värden som ärlägre än 10 och högre än 30 och använd standardmedelsfunktionen i Excel för att se om Excel beräknar samma medelvärde som vår anpassade genomsnittliga funktion.

Anpassad genomsnittlig funktionskontroll

Vår anpassade genomsnittliga funktion fungerar! Obs! Den här funktionen är endast tillgänglig i den här arbetsboken.

Läs också: