- •Оглавление1
- •Примерный порядок выполнения курсовой работы
- •Задание на курсовую работу
- •Выполнение работы
- •Лист 1. Титульный лист
- •Лист 2. Цены
- •Лист 3. Продажи
- •Обработка информации на листе продажи (сортировка и фильтрация данных)
- •3.1. Сортировка Сортировка по столбцам «фио продавца» и «Наименование»
- •Сортировка в особом порядке по полю «Наименование»
- •Отмена сортировки
- •3.2. Автофильтр
- •Использование автофильтра
- •3.3. Расширенный фильтр
- •Фильтрация по наименованию
- •Фильтрация по фио двух продавцов
- •Фильтрация по диапазону количество
- •Фильтрация по дате и фамилии
- •П ромежуточные итоги
- •Отмена фильтрации
- •Лист 4. Итоги
- •Итоги по фио продавца
- •Итоги по наименованию фруктов
- •Итоги по дате и наименованию фруктов
- •О тмена итогов
- •Л ист 5. Отчеты и функции
- •5.1. Отчеты
- •5 .2. Функции бд
- •Ф ункция дмакс
- •Функция дмин
- •Функция дсрзнач
- •Функция бдсумм
- •Функция бсчет
- •Отмена функций
- •Лист 6. Сводная таблица
- •Лист 7. Сводная диаграмма
- •Лист 8. Инструкция пользователя
П ромежуточные итоги
После выполнения фильтрации, как правило, необходимо получить итоговые значения, например, общее количество товара и сумму. Для этого выделяем первую пустую ячейку в нужном столбце (например, для суммирования количества - F51, а для сумм - G51) и нажимаем на значок автосуммы ∑ (на ленте Главная/Редактирование). В указанных ячейках появляются функции =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;F11:F50), =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;G11:G50).
Вычисляемые значения меняются в зависимости от выбранного критерия. Когда все фильтры сняты, в этих ячейках отображается общая сумма по выбранным полям.
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ возвращает промежуточный итог в список или базу данных. Синтаксис: ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции;ссылка1;ссылка2;...)
Номер_функции — число от 1 до 11 (с включением скрытых значений) или от 101 до 111 (с исключением скрытых значений), которое указывает, какую функцию использовать при вычислении итогов внутри списка.
-
Номер_функции (с включением скрытых значений)
Номер_функции (с исключением скрытых значений)
Функция
1
101
СРЗНАЧ
2
102
СЧЁТ
3
103
СЧЁТЗ
4
104
МАКС
5
105
МИН
6
106
ПРОИЗВЕД
7
107
СТАНДОТКЛОН
8
108
СТАНДОТКЛОНП
9
109
СУММ
10
110
ДИСП
11
111
ДИСПР
Ссылка1; cсылка2 — от 1 до 254 интервалов или ссылок, для которых подводятся промежуточные итоги.
Отмена фильтрации
Для отмены фильтрации выполняются следующие действия:
Установить курсор в произвольную ячейку рабочего листа, например I40. Выбрать команду Сервис/Макрос/Начать запись (Разработчик/Записать макрос). Ввести имя макроса - фильтр_отмена
Выделить ячейки A2:H3 и нажать клавишу Delete.
Установить курсор в ячейку A1, затем в ячейку A10 и выполнить команду Данные/Фильтр/Расширенный фильтр. В появившемся окне ввести два диапазона данных: исходный диапазон – ячейки A10:G40 (вся исходная таблица) и диапазон условий – ячейки А1:H2 (в MS Office 2007 вместо указанной последовательности действий установить курсор в ячейку А10 и выполнить команду Данные/Сортировка и фильтр/Очистить).
Нажать ОК. В результате все скрытые данные отобразятся в таблице
Выбрать команду Сервис/Макрос/Остановить запись
Модулю, в котором записаны все программы для работы с листом «расширенный фильтр» задаем имя «№3_расширенный_фильтр».
Во все макросы, кроме макроса «фильтр_отмена», для отмены действия предыдущей фильтрации данных добавляем после названия строку
Call фильтр_отмена
Полный текст полученного модуля:
Sub фильтр_наименование()
Call фильтр_отмена
Range("E2").Select
ActiveCell.FormulaR1C1 = InputBox("введите наименование фрукта")
Range("A10:G40").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:H2"), Unique:=False
Range("A1").Select
End Sub
Sub фильтр_фио()
Call фильтр_отмена
Range("D2").Select
ActiveCell.FormulaR1C1 = InputBox("введите ФИО первого продавца")
Range("D3").Select
ActiveCell.FormulaR1C1 = InputBox("введите ФИО второго продавца")
Range("A10:G40").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:H3"), Unique:=False
Range("A1").Select
End Sub
Sub фильтр_колво()
Call фильтр_отмена
Range("F2").Select
ActiveCell.FormulaR1C1 = InputBox("введите знак >= и наименьшее значение количества")
Range("G2").Select
ActiveCell.FormulaR1C1 = InputBox("введите знак <= и наибольшее значение количества")
Range("A10:G40").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:H2"), Unique:=False
Range("A1").Select
End Sub
Sub фильтр_дата_фио()
Call фильтр_отмена
Range("C2").Select
ActiveCell.FormulaR1C1 = InputBox("введите дату продажи")
Range("D2").Select
ActiveCell.FormulaR1C1 = InputBox("введите ФИО продавца")
Range("A10:G40").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:H2"), Unique:=False
Range("A1").Select
End Sub
Sub фильтр_отмена()
Range("A2:H3").Select
Selection.ClearContents
Range("A1").Select
Range("A10:G40").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:H2"), Unique:=False
End Sub
В MS Office 2007 этот макрос выглядит так:
Sub фильтр_отмена()
' фильтр_отмена Макрос
Range("A2:H3").Select
Selection.ClearContents
Range("A10").Select
ActiveSheet.ShowAllData
End Sub