Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
smurf
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 5
1

Вычислить сумму элементов, чьи значения попадают в заданный интервал

11.10.2012, 09:00. Просмотров 1382. Ответов 8
Метки нет (Все метки)

вычислить сумму элементов чьи значения попадают в интервал (-12.5;35) в одномерном массиве размера n.Куда засунуть этот интервал то?всю голову себе сломал
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 09:00
Ответы с готовыми решениями:

Вычислить сумму элементов массива, чьи значения попадают в заданный интервал
Вычислить сумму элементов, чьи значения попадают в интервал (-5;20) в одномерном массиве размера n....

Вычислить сумму элементов массива, чьи значения больше 5
Задача такая: вычислить сумму элементов, чьи значения больше 5, в одномерном массиве размера n....

Вычислить произведение элементов, чьи значения больше 7, в одномерном массиве
Вычислить произведение элементов, чьи значения больше 7, в одномерном массиве размера n. Var...

Вычислить количество элементов диапазона, не попадающих в заданный интервал.
17. Составьте функцию, которая вычисляет количество элементов диапазона, не попадающих в заданный...

Вычислить количество элементов массива, чьи значения лежат в интервале (-200;25)
Простая задача на вычисление количества элементов, как правильно записать условие на VBA?...

8
Казанский
14908 / 6310 / 1720
Регистрация: 24.09.2011
Сообщений: 9,977
11.10.2012, 18:08 2
Visual Basic
1
2
3
if a(i)>=-12.5 and a(i)<=35 then s=s+a(i)
'или
s=s+a(i)*(a(i)>=-12.5)*(a(i)<=35)
0
SapFeaR
75 / 1 / 1
Регистрация: 28.10.2012
Сообщений: 58
29.10.2012, 05:09 3
А можно подробный код макроса?
0
Скрипт
5452 / 1133 / 49
Регистрация: 15.09.2012
Сообщений: 3,431
29.10.2012, 12:32 4
SapFeaR, выложите код, который вы уже написали, чтобы знать ваш уровень знания VBA.
Чтобы знать, с чего начать вам помогать.
0
29.10.2012, 12:32
SapFeaR
75 / 1 / 1
Регистрация: 28.10.2012
Сообщений: 58
29.10.2012, 17:07 5
я не знаю, как переменные задать, первый раз с VBA столкнулся и времени на изучение нехватает(
0
Скрипт
5452 / 1133 / 49
Регистрация: 15.09.2012
Сообщений: 3,431
29.10.2012, 17:28 6
На активном листе Excel в столбце A должны быть числа.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub Procedure_1()
 
    'Создаём в оперативной памяти компьютера поименованные области - константы.
    'В них нужно поместить начало и конец интервала.
    
    'Double означает, что в константах будут целые и дробные числа
    '(есть ещё текст, даты).
    Const dStart As Double = -12.5
    Const dEnd As Double = 35
 
    'Создаём в оперативной памяти компьютера поименованную область - массив dArray.
    '1 To 10 означает, что в массиве будет 10 чисел.
    Dim dArray(1 To 10) As Double
    
    'Создаём в оперативной памяти компьютера различные переменные.
    Dim dSum As Double
    'Long означает, что в переменной могут быть только целые числа (есть ещё дробные).
    Dim i As Long
    
    'Помещаем в массив данные из активного листа Excel из столбца A.
    
    'For ... To ... Step ... Next - называется циклом и используется,
    'чтобы делать одно и то же действие заданное количество раз.
    'С помощью Ubound узнаём, сколько элементов в массиве.
    For i = 1 To UBound(dArray) Step 1
        dArray(i) = ActiveSheet.Cells(i, "A").Value
    Next i
    
    'Анализируем массив.
    For i = 1 To UBound(dArray) Step 1
        'If ... Then ... End If - используется для выбора действия.
        If dArray(i) >= dStart And dArray(i) <= dEnd Then
            dSum = dSum + dArray(i)
        End If
    Next i
    
    'Выводим на монитор сообщение.
    'Символ & используется для соединения нескольких фрагментов текста в одну строку.
    MsgBox "Сумма элементов равна: " & dSum
    
End Sub
1
SapFeaR
75 / 1 / 1
Регистрация: 28.10.2012
Сообщений: 58
29.10.2012, 17:50 7
Спасибо, помогло: Сеньор: можно ещё рассчёт количества чисел попадающих в этот диапазон через макрос сделать?
0
Скрипт
5452 / 1133 / 49
Регистрация: 15.09.2012
Сообщений: 3,431
29.10.2012, 18:11 8
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Procedure_1()
 
    Const dStart As Double = -12.5
    Const dEnd As Double = 35
 
    Dim dArray(1 To 10) As Double
    Dim dSum As Double, lNumber As Long
    Dim i As Long
    
    For i = 1 To UBound(dArray) Step 1
        dArray(i) = ActiveSheet.Cells(i, "A").Value
    Next i
    
    For i = 1 To UBound(dArray) Step 1
        If dArray(i) >= dStart And dArray(i) <= dEnd Then
            dSum = dSum + dArray(i)
            lNumber = lNumber + 1
        End If
    Next i
    
    'VbCr - переносит текст на следующую строку.
    MsgBox "Сумма элементов равна: " & dSum & vbCr & _
        "Количество элементов: " & lNumber
    
End Sub
2
SapFeaR
75 / 1 / 1
Регистрация: 28.10.2012
Сообщений: 58
29.10.2012, 18:24 9
Огромнейшее спасибо!!!
0
29.10.2012, 18:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 18:24

Значения диапазона, попадающие в заданный интервал, заменить нулями
Значения диапазона, попадающие в заданный интервал, заменить нулями. Поместить новый диапазон...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.