Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм вывода списка элементов, удовлетворяющих определенному условию




Next

Next

Next

‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Итого”

Cells(N+2,2) = “Итого”

 

‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной S

 

Cells(N+2,3) = S

 

Алгоритм подсчета суммы элементов,
удовлетворяющих определенному условию

Например, для данных, представленных в заданной таблице подсчитаем общее количество часов, отработанных сотрудниками 1-го отдела.

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

Словесное описание алгоритма

1) определим количество заполненных строк во 2-м столбце;

2) присвоим счетчику I первоначальное значение 2;

3) рассмотрим содержимое ячейки в I-й строке и во 2-м столбце, если содержимое равно 1,то к сумме S добавляем содержимое ячейки с номером строки I и номером столбца 4;

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.

 

‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Итого”

 

Cells(N+2,2) = “Итого”

‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной S

 

Cells(N+2,3) = S

Алгоритм подсчета количества элементов,
удовлетворяющих определенному условию

Например, для данных, представленных в заданной таблице, подсчитаем количество инженеров.

Рассмотрим таблицу. Данные о должностях записаны в третьем столбце, начиная со второй строки. Нам нужно просматривать третий столбец, и, если там записано «инженер», то количество увеличива-
ется на 1.

Словесное описание алгоритма:

1) определим количество заполненных строк в 3-м столбце;

2) присвоим счетчику I первоначальное значение 2;

3) рассмотрим содержимое ячейки в I-й строке и в 3-м столбце, если содержимое равно «инженер», то количество К увеличиваем на 1;

4) если просматриваемая строка не последняя, то увеличиваем значение счетчика на 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

 

‘ В ячейку с номером строки N+2, во второй столбец запишем слово “Количество”

 

Cells(N+2,2) = “Количество”

 

‘ В ячейку с номером строки N+2, в третий столбец запишем значение ‘переменной К

 

Cells(N+2,3) = К

Например, для данных, представленных в заданной таблице выведем на лист список сотрудников, отработавших больше 20 часов в таблицу с заголовками столбцов: «Фамилия», «Отдел», «Отработано часов».

Рассмотрим таблицу. Данные о количестве отработанных часов записаны в четвертом столбце, начиная со второй строки. Нам нужно просматривать четвертый столбец, и, если мы встретили значение больше 20, то выводить на лист фамилию, отдел и количество отработанных часов.

Словесное описание алгоритма:

1) определим количество заполненных строк во 2-м столбце, результат сохраним в переменной N;

2) запишем на лист в строку с номером N+2 заголовки столбцов новой таблицы;

3) определим номер строки, в которую будем выводить искомые значения NSTR=N+3;

4) присвоим счетчику I первоначальное значение 2;

5) рассмотрим содержимое ячейки в I-й строке и в 4-м столбце, если содержимое больше 20,то в строку с номером NSTR выведем фамилию, отдел и количество отработанных часов;

6) если просматриваемая строка не последняя, то увеличиваем значение счетчика на 1 и переходим к пункту 3, в противном случае заканчиваем работу.

 

Программное описание алгоритма.

 

Rem определяем количество заполненных ячеек на листе «Лист1» в ‘диапазоне D:D, результат сохраняем в переменной N.

 

N=Application.CountA(Sheets(“Лист1”).Range(“D:D”))

‘В строку с номером N+2 и столбцы первый, второй и третий запишем ‘заголовки столбцов новой таблицы

 

Cells(N+2,1)=”Фамилия”:Cells(N+2,2)=”Отдел”

Cells(N+2,3)=”Отработано часов”

‘Определим номер строки, в которую будем выводить искомые ‘значения.

 

NSTR=N+3

 

‘открываем цикл со счетчиком I, изменяющимся от 2 до N, шаг 1,

‘ счетчику I присваивается значение 2

 

For I=2 to N

‘если значение в I-й строке и 4-м столбце превышает 20 (отработано ‘часов). Номер строки ‘NSTR увеличиваем на единицу (следующая ‘строка).

 

If Cells(I,4)>20 Then

 

‘тогда в строку с номером NSTR и столбец с номером 1 выводим содержимое ‘I-й строки и 1-го столбца (фамилия).

 

Cells(NSTR,1)=Cells(I,1)

 

‘в строку с номером NSTR и столбец с номером 2 выводим содержимое I-й строки и 2-го ‘столбца (отдел)

 

Cells(NSTR,2)=Cells(I,2)

 

‘в строку с номером NSTR и столбец с номером 3 выводим содержимое I-й ‘строки и 4-го столбца (отработано часов)

 

Cells(NSTR,3)=Cells(I,4)

 

‘увеличиваем номер строки NSTR на единицу

 

NSTR=NSTR+1

 

‘закрываем условный оператор

 




Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 801; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.