/ / Персонализирана средна функция в Excel VBA

Персонализирана средна функция в Excel VBA

По - долу ще разгледаме програма в Excel VBA който създава Функция, дефинирана от потребителя който изчислява средно аритметично на произволно избран диапазон, с изключение на една или повече стойности, които са отрицателни и не трябва да се осредняват.

Ситуация:

Персонализирана средна функция в Excel VBA

Потребителски дефинирани функции трябва да бъдат поставени в модул.

1. Отворете редактора на Visual Basic и кликнете върху Вмъкни, Модул.

2. Добавете следния код:

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

Името на нашата функция е CUSTOMAVERAGE. Частта между скобите означава, че даваме на Excel VBA диапазон и две цели числа като вход. Назоваваме диапазона ни, една Integer променлива, която наричаме по-ниска, и една Integer променлива, която наричаме горна, но можете да използвате имена.

3. След това декларираме обект на Range и две променливи от тип Integer. Ние наричаме обектната клетка на Range. Една цялостна променлива, която наричаме обща и една цялостна променлива, която наричаме, се брои.

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

4. Искаме да проверим всяка клетка в произволно избран диапазон (този диапазон може да бъде от всякакъв размер). В Excel VBA можете да използвате цикъла For Each Next за това. Добавете следните кодови редове:

For Each cell In rng

Next cell

Забележка: rng и клетката са избрани произволно тук, можете да използвате имена. Не забравяйте да препратите към тези имена в останалата част от кода си.

5. След това проверяваме за всяка стойност в този диапазон, ако тя падне между двете стойности (долна и горна). Ако е вярно, ние увеличаваме общо по стойността на клетката и нарастваме с 1. Добавете следните кодови линии към бримката.

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

6. За да върнете резултата от тази функция (желаната средна стойност), добавете следния код извън линия.

CUSTOMAVERAGE = total / count

7. Не забравяйте да прекратите функцията. Добавете реда:

End Function

8. Сега можете да използвате тази функция като всяка друга Excel функция, за да изчислите средната стойност на числата, които попадат между две стойности.

Резултат:

Резултати от персонализираната средна функция

Като чек можете да изтриете всички стойности, които сапо-ниски от 10 и по-високи от 30 и да използвате стандартната Средна функция в Excel, за да видите дали Excel изчислява същата средна стойност като нашата персонализирана средна функция.

Персонализирана средна проверка на функциите

Нашата персонализирана средна функция работи! Забележка: Тази функция е налична само в тази работна книга.

Също така се чете: