Алгоритм подсчета суммы элементов
Например, для данных, представленных в заданной таблице, подсчитаем общее количество отработанных часов.
Рассмотрим таблицу. Данные о количестве отработанных часов записаны в четвертом столбце, начиная со второй строки. В заданной таблице всего семь строк, а в общем случае количество строк может быть любым. Словесное описание обобщенного алгоритма:
определим количество складываемых значений;
к первому значению (20) добавляем следующее значение (30);
к полученной сумме прибавляем следующее значение (10) и так далее, пока не достигнем последнего значения (25). Таким образом, мы получим требуемую сумму.
Программное описание алгоритма
Rem определяем количество заполненных ячеек на листе «Лист1» в ‘диапазоне D:D, результат сохраняем в переменной N
N=Application.CountA(Sheets(“Лист1”).Range(“D:D”))
‘открываем цикл со счетчиком I, изменяющимся от 2 до N, шаг 1,
‘ счетчику I присваивается значение 2.
For I=2 to N
‘добавляем к имеющейся сумме (S) значение элемента, расположен-‘ного в I-й строке и 4-м столбце, результат сохраняем в переменной S.
S=S+Cells(I,4)
‘ закрываем цикл, к счетчику добавляется шаг (у нас 1), проверяется, ‘не превышено ли конечное значение счетчика, если не превышено,
‘к сумме добавляется значение очередного элемента, если превышено, ‘выполняется оператор, записанный после инструкции Next.
Next
‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Итого”
Cells(N+2,2) = “Итого”
‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной S
Cells(N+2,3) = S
Алгоритм подсчета суммы элементов,
удовлетворяющих определенному условию
Например, для данных, представленных в заданной таблице подсчитаем общее количество часов, отработанных сотрудниками 1-го отдела.
Рассмотрим таблицу. Данные о количестве отработанных часов записаны в четвертом столбце, начиная со второй строки. Номер отдела записан во втором столбце. Нам нужно просматривать второй столбец, и, если мы встретили номер 1, складывать соответствующие значения из четвертого столбца.
Словесное описание алгоритма
определим количество заполненных строк во 2-м столбце;
присвоим счетчику I первоначальное значение 2;
рассмотрим содержимое ячейки в I-й строке и во 2-м столбце, если содержимое равно 1,то к сумме S добавляем содержимое ячейки с номером строки I и номером столбца 4;
если просматриваемая строка не последняя, то увеличиваем значение счетчика на 1 и переходим к пункту 3, в противном случае печатаем значение суммы S .
Программное описание алгоритма
Rem определяем количество заполненных ячеек на листе «Лист1» в ‘диапазоне С:С, результат сохраняем в переменной N.
N=Application.CountA(Sheets(“Лист1”).Range(“B:B”))
‘открываем цикл со счетчиком I, изменяющимся от 2 до N, шаг 1,
‘ счетчику I присваивается значение 2.
For I=2 to N
‘если значение элемента, расположенного в I-й строке и 2-м столбце ‘равно 1, то к сумме S добавляем значение, расположенное в I –й ‘строке и 4-м столбце, результат сохраняем в переменной S.
If Cells(I,2)=1 Then S=S+Cells(I,4)
‘ закрываем цикл, к счетчику добавляется шаг (у нас 1), проверяется ‘не превышено ли конечное значение счетчика, если не превышено
‘к сумме добавляется значение очередного элемента, если превышено ‘выполняется оператор, записанный после инструкции Next.
Next
‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Итого”
Cells(N+2,2) = “Итого”
‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной S
Cells(N+2,3) = S
Алгоритм подсчета количества элементов,
удовлетворяющих определенному условию
Например, для данных, представленных в заданной таблице, подсчитаем количество инженеров.
Рассмотрим таблицу. Данные о должностях записаны в третьем столбце, начиная со второй строки. Нам нужно просматривать третий столбец, и, если там записано «инженер», то количество увеличива-
ется на 1.
Словесное описание алгоритма:
определим количество заполненных строк в 3-м столбце;
присвоим счетчику I первоначальное значение 2;
рассмотрим содержимое ячейки в I-й строке и в 3-м столбце, если содержимое равно «инженер», то количество К увеличиваем на 1;
если просматриваемая строка не последняя, то увеличиваем значение счетчика на 1 и переходим к пункту 3, в противном случае печатаем значение количества К.
Программное описание алгоритма
Rem определяем количество заполненных ячеек на листе «Лист1» в ‘диапазоне С:С, результат сохраняем в переменной N.
N=Application.CountA(Sheets(“Лист1”).Range(“C:C”))
‘открываем цикл со счетчиком I, изменяющимся от 2 до N, шаг 1,
‘ счетчику I присваивается значение 2.
For I=2 to N
‘‘если значение элемента, расположенного в I-й строке и 3-м столбце ‘равно «инженер», то добавляем к имеющемуся количеству К ‘единицу, результат сохраняем в переменной К.
If Cells(I,3)=”инженер” Then К=К+1
‘ закрываем цикл, к счетчику добавляется шаг (у нас 1), проверяется, ‘не превышено ли конечное значение счетчика, если не превышено,
‘к сумме добавляется значение очередного элемента, если превышено,
‘выполняется оператор, записанный после инструкции Next
Next
‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Количество”
Cells(N+2,2) = “Количество”
‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной К
Cells(N+2,3) = К
Дата добавления: 2014-12-02; просмотров: 2093;