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

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

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

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

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

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

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

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

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

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

 

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

 

End If

 

‘ закрываем цикл, к счетчику добавляется шаг (у нас 1), проверяется, ‘не превышено ли конечное значение счетчика, если не превышено,

‘к сумме добавляется значение очередного элемента.

Next








Дата добавления: 2014-12-02; просмотров: 1705;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.