Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 5
1

Пользовательская функция

21.05.2014, 11:03. Показов 1121. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте! Помогите пожалуйста,
Как создать пользовательскую функцию, которая по выбранному диапазону ячеек считала бы среднее значение с учётом того что в ячейке может попасться не число, а "н/а" равное нулю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2014, 11:03
Ответы с готовыми решениями:

Пользовательская функция
Помогите пожалуйста Физическое лицо имеет $x, €y, ₽z. Пересчитать общую сумму в рублях. Нужно...

Пользовательская функция
Дан радиус шара. Нужно рассчитать его площадь поверхности с помощью создания пользовательской...

Пользовательская функция
Добрый день, уважаемые форумчане. Заранее извиняюсь за возможный повтор, но ничего подходящего не...

Пользовательская функция в VBA
помогите создать пользовательскую функцию с параметром диапазон в VBA. нужно посчитать количество...

3
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
21.05.2014, 11:15 2
Так годится?
Visual Basic
1
2
3
4
5
6
7
Function aver(r As Range)
    Dim cc As Range, sm As Double, i As Long
    For Each cc In r
        If VarType(cc) = 5 Then sm = sm + cc: i = i + 1
    Next
    aver = sm / i
End Function
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 5
21.05.2014, 11:24  [ТС] 3
Спасибо!)

Добавлено через 4 минуты
если в ячейке имеется слово "н/а", то оно должно читаться как нуль.
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
21.05.2014, 11:55 4
Только на "н/а"? На слово? На русском?
Файл давайте.

А то по описанию вот Вам:
Visual Basic
1
2
3
4
5
6
7
8
Function aver(r As Range)
    Dim cc As Range, sm As Double, i As Long
    For Each cc In r
        If VarType(cc) = 5 Then sm = sm + cc: i = i + 1
        If cc.Value = "н/а" Then sm = sm + 0: i = i + 1
    Next
    aver = sm / i
End Function
0
21.05.2014, 11:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2014, 11:55
Помогаю со студенческими работами здесь

Пользовательская функция с циклом
Function G(b) As Double If b = 1 Then 'проверка на начальные условия G = 1 End If ...

Пользовательская функция - оформление ?
Может кто знает, как сделать так чтобы когда вводишь на листе экселя свою функцию, там...

Пользовательская функция, возвращающая массив
помогите с кодом, не знаю как правильно записать... задание: вернуть одномерный массив, в который...

Не всегда срабатывает пользовательская функция
Добрый день! Слепил из имеющихся в инете функций Vlookup и FindSame пользовательскую функцию ВПР2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru