Основы обработки информации в Excel 2007
электронное учебное пособие
Составитель Долганева Е.И.
Оглавление
-
Интерфейс Microsoft Excel 2007
-
-
Изучение пользовательского интерфейса Microsoft Excel 2007.
-
Главный элемент пользовательского интерфейса Microsoft Excel 2007 представляет собой ленту, которая идет вдоль верхней части окна каждого приложения. Лента состоит из вкладок, организованных вокруг отдельных сценариев или объектов. По умолчанию в окне отображается семь постоянных вкладок: Главная, Вставка, Разметка страницы, Формулы, Данные, Рецензирование, Вид. Для перехода к нужной вкладке достаточно щелкнуть по ее названию.
1.1. Лента и ее основные вкладки.
Каждая вкладка связана с видом выполняемого действия. Например, вкладка Главная, которая открывается по умолчанию после запуска, содержит элементы, которые могут понадобиться на начальном этапе работы, когда необходимо набрать, отредактировать и отформатировать текст. Вкладка Разметка страницы предназначена для установки параметров страниц документов. Вкладка Вставка предназначена для вставки в документы различных объектов, и так далее. Кроме того, можно отобразить еще одну вкладку Разработчик, где собраны средства создания макросов и форм, а также функции для работы с XML.
Помимо постоянных, имеется целый ряд контекстных вкладок, например, для работы с таблицами, рисунками, диаграммами и т.п., которые появляются автоматически при переходе в соответствующий режим или при выделении объекта или установке на него курсора.
Рис. 1.2. Контекстная вкладка для работы с диаграммами.
Кнопка Microsoft Office –расположена в левом верхнем углу окна приложения Excel. При нажатии кнопки отображается меню основных команд для работы с файлами (команды для создания, открытия, сохранения и печати файла), список последних документов, а также команда для настройки параметров приложения (Параметры Excel).
Рис. 1.3. Меню основных команд для работы с файлами.
Панель быстрого доступа – по умолчанию расположена в верхней части окна, она позволяет получить быстрый доступ к часто используемым функциям. По умолчанию панель содержит всего три кнопки: Сохранить, Отменить, Вернуть (Повторить). Панель быстрого доступа можно на- страивать, добавляя в нее новые элементы или удаляя существующие.
Рис. 1.4. Панель быстрого доступа.
Для добавления на панель любого элемента из любой вкладки можно также щелкнуть по этому элементу правой кнопкой мыши и в контекстном меню выбрать команду Добавить на панель быстрого доступа.
Для удаления элемента из панели достаточно щелкнуть по нему правой кнопкой мыши и в контекстном меню выбрать команду Удалить с панели быстрого доступа.
Кнопки вызова диалоговых окон – представляют собой маленькие значки, которые отображаются в некоторых группах. Нажав их, можно открыть связанное диалоговое окно или область задач, предоставляющие до- полнительные параметры, относящиеся к данной группе.
Рис. 1.5. Пример открытия диалогового окна.
Стартовое окно программы Microsoft Excel 2007 содержит три пустых листа рабочей книги. Листы можно добавлять в книгу и удалять. Максимальное количество листов не ограничено, минимальное – один лист.
Выбрать режим просмотра листа можно при работе в любой вкладке Excel 2007. Ярлыки выбора основных режимов просмотра книги расположены в правой части строки состояния (рис.1.6). Если ярлыки не отображаются, щелкните правой кнопкой мыши в любом месте строки состояния и в появившемся контекстном меню выберите команду Ярлыки режимов просмотра листа.
Рис.1.6. Выбор режима просмотра листа.
По умолчанию для вновь создаваемых документов установлен режим просмотра Обычный. Этот режим используется для выполнения боль- шинства задач Microsoft Excel таких, как ввод и обработка данных, форма- тирование данных и ячеек, вычисления, построение диаграмм и т. д.
Режим Разметка страницы позволяет изменять данные и при этом видеть их так, как они будут напечатаны на бумаге. В этом режиме обычно создают и оформляют колонтитулы.
В режиме Страничный в окне отображается только собственно сама таблица. Остальные ячейки листа не отображаются. Зато отображены границы страниц. Перетаскиванием этих границ можно изменять порядок разделения таблицы между страницами при печати. Кроме того, только в этом режиме можно эффективно работать с разрывами страниц.
Во вкладке Вид в группе Режимы просмотра книги можно выбрать еще один режим просмотра – Во весь экран. Этот режим обеспечивает скрытие большинства элементов окна для увеличения видимой части документа.
Задание 1.
1. Запустите Microsoft Excel 2007.
2. Сверните ленту с использованием Панели быстрого доступа.
3. Разверните ленту двойным щелчком по названию вкладки Главная.
4. Сверните и разверните ленту с использованием комбинации клавиш
Ctrl + F1.
5. Добавьте в Панель быстрого доступа кнопку Открыть.
6. Из вкладки Вставка (группа Диаграммы) добавьте в Панель быстрого доступа кнопку Гистограмма.
7. Поочередно перейдите во вкладки Главная, Вставка, Разметка страницы, Формулы, Данные, Рецензирование, Вид, посмотрите группы внутри каждой вкладки.
8. Во вкладке Главная в группе Шрифт нажмите кнопку Полужирный (Ж). Убедитесь, что кнопка осталась нажатой.
9. Во вкладке Главная в группе Шрифт щелкните по стрелке кнопки Заливка и выберите красный цвет. Убедитесь, что для выделенной ячейки установлена заливка красным цветом.
10.Во вкладке Главная в группе Шрифт в раскрывающемся списке Размер шрифта выберите размер 26. Убедитесь, что высота выделенной ячейки увеличилась.
11.Во вкладке Главная в группе Стили щелкните по кнопке Стили ячеек и выберите стиль Хороший. Убедитесь, что оформление выделенной ячейки изменилось.
12.Во вкладке Главная отобразите диалоговое окно группы Шрифт.
Закройте диалоговое окно Шрифт.
13.Во вкладке Главная отобразите всплывающую подсказку для кнопки Перенос текста .
-
-
Ввод и редактирование данных.
-
Данные можно вводить непосредственно в ячейку или в строку формул.
1. Выделите ячейку.
2. Введите данные с клавиатуры непосредственно в ячейку или в строку формул.
3. Подтвердите ввод. Подтвердить ввод можно одним из трех способов: нажать клавишу Enter или Tab; нажать кнопку Ввод (галочка) в строке формул (рис. 1.7).
Рис. 1.7. Ввод данных с клавиатуры
Автозаполнение можно использовать для ввода в смежные ячейки одного столбца или одной строки последовательных рядов календарных данных (даты, дни недели, месяцы), времени, чисел, комбинаций текста и чисел. Кроме того, можно создать собственный список автозаполнения.
1. В первую из заполняемых ячеек введите начальное значение ряда.
2. Выделите ячейку.
3. Наведите указатель мыши на маркер автозаполнения (маленький черный квадрат в правом нижнем углу выделенной ячейки). Указатель мыши при наведении на маркер принимает вид черного креста.
4. При нажатой левой кнопке мыши перетащите маркер автозаполнения в сторону изменения значений. При перетаскивании вправо или вниз значения будут увеличиваться (рис.1.8. – рис. 1.9.), при перетаскивании влево или вверх – уменьшаться.
Рис. 1.8. Автозаполнение по столбцу с возрастанием.
Рис. 1.9 Автозаполнение по строке с возрастанием.
По окончании перетаскивания рядом с правым нижним углом заполненной области появляется кнопка Параметры автозаполнения (рис. 1.10) Рис. 1.10. Результат автозаполнения
При необходимости заполнения рядом данных с произвольным шагом необходимо в две смежные ячейки ввести два первых значения, затем выделить обе ячейки и перетащить маркер автозаполнения при нажатой левой кнопке мыши.
Задание 2. Ввод данных и автозаполнение ячеек.
1. На Листе 1 в ячейку А1 введите текст Товары.
2. В ячейку В1 введите текст Количество.
3. В ячейку С1 введите в две строки текст Дата поступления.
4. В ячейку D1 введите текст Время.
5. В ячейку А2 введите текст Яблоки.
6. В ячейку А3 введите текст Груши.
7. Ячейку А4 заполните содержимым ячейки А3.
8. В ячейки А5:А6 одновременно введите текст: Персики.
9. В ячейку А7 с использованием автозаполнения введите текст Яблоки.
10.В ячейки В2:В7 введите числа: 12; 14,7; 9; 0; 0,17; 50.
11.В ячейку С2 введите дату 01.10.2007.
12.С использованием автозаполнения заполните ячейки С3:С7 после- дующими датами.
13.В ячейки D2:D7 одновременно введите текущую дату комбинацией клавиш Ctrl + Shift + 4 и текущее время комбинацией клавиш Ctrl + Shift + 6.
14.Перейдите к листу Лист 2.
15.С использованием автозаполнения заполните ячейки А2:А24 последовательными числами.
16.С использованием автозаполнения заполните ячейки С2:С24 после- дующими датами.
17.С использованием автозаполнения заполните ячейки D2:D24 после- дующими днями недели.
18.С использованием автозаполнения заполните ячейки Е2:Е24 последующими датами рабочих дней.
Задание 3. Автозаполнения ячеек.
-
В ячейку Е9 введите слово «Среда». Выделите ячейку. Укажите мышью на маркер автозаполнения. Нажмите левую клавишу мыши и, удерживая ее нажатой, переместите мышь на 5 строк вниз.
-
Снова выделите ячейку Е9 и протащите ее за маркер на 5 столбцов вправо.
-
Проанализируйте результаты и очистите лист 1-й способ: Выделите всю таблицу целиком, щелкнув по пустой кнопке, и Правка – Очистить. 2-й способ: Выделите всю таблицу целиком и нажмите клавише Delete (Del).
-
В ячейку Е9 введите число 1.
-
В ячейку Е10 введите число 2.
-
В ячейку F9 введите число 3.
-
Выделите блок (диапазон) ячеек: E9:E10 и протащите его за маркер вначале вниз.
-
Снова выделите блок E9:E10 и протащите его за маркер вверх.
-
Выделите блок ячеек E9:F9 и протащите его за маркер вправо.
-
Выделите еще раз блок ячеек E9:F9 и протащите его за маркер влево.
-
Проанализируйте результаты и очистите лист.
-
В ячейку Е5 введите число 25.
-
В ячейку F5 введите число 50 и протащите блок ячеек Е5:F5 за маркер на несколько столбцов вправо.
-
В ячейку Е1 введите «Январь».
-
Выделите ячейку E1 и протащите ее маркером на 5 столбцов вправо.
-
Снова выделите ячейку Е1 и протащите ее маркером до конца листа влево.
-
Выделите всю первую строку и протащите ее маркером, стоящим слева, на 10 строк вниз.
-
Проанализируйте результаты работы.
Вопросы для закрепления:
-
Как выглядит указатель мыши в процессе выделения блока (диапазона) ячеек?
-
Как выглядит указатель мыши в процессе автозаполнения ячеек?
-
Что такое смарт-тег? Найдите ответ в справочной системе к программе MS Excel 2007.
Самостоятельная работа №1. Автозаполнение
Задание: Сформируйте таблицы по образцу, используя маркер автозаполнения.
Таблица 1.
Зима
Декабрь
Январь
Февраль
Весна
Март
Апрель
Май
Лето
Июнь
Июль
Август
Осень
Сентябрь
Октябрь
Ноябрь
Таблица 2.
Дни недели
Февраль
Понедельник
1
8
15
22
Вторник
2
9
16
23
Среда
3
10
17
24
Четверг
4
11
18
25
Пятница
5
12
19
26
Суббота
6
13
20
27
Воскресение
7
14
21
28
Ключ к выполнению задания:
Чтобы поместить заголовок Февраль необходимо ячейки объединить используя кнопку на Стандартной панели инструментов Объединить и поместить в центре.
-
Создание и форматирование таблиц .
Существует два способа организации данных на листе: таблица и список. При организации данных в виде таблицы формируются строки и столбцы с записями, для которых в ячейку на пересечении строки и столбца помещаются данные (рис.2.1).
Рис. 2.1. Табличный способ организации данных.
Таблицы могут иметь весьма сложную структуру с несколькими уровнями записей в строках и столбцах. При создании таблицы можно анализировать ее данные и управлять ими независимо от данных за пределами таблицы. На листе можно создать любое количество таблиц.
Таблицы могут использоваться для более компактного размещения данных на листе, для быстрой сортировки, отбора, суммирования, графического представления в виде диаграмм или для публикации данных, содержащихся в ней.
Создание и форматирование таблицы:
Таблица обычно создается на основе имеющихся на листе данных.
1. Выделите любую ячейку в диапазоне данных.
2. Нажмите кнопку Форматировать как таблицу в группе Стили
вкладки Главная и выберите стиль оформления.
3. В поле окна Форматирование таблицы будет автоматически указан диапазон данных, который преобразуется в таблицу. При необходимости можно очистить поле и на листе выделить другой диапазон ячеек с данными, которые оформляются в виде таблицы. Нажмите кнопку ОК.
В результате будет создана таблица. В каждый столбец автоматически добавляется значок автофильтра. Автоматически будет отображена контекстная вкладка Работа с таблицами/Конструктор (рис.2.2.).
Рис. 2.2. Контекстная вкладка Работа с таблицами/Конструктор.
Функции вставки ячейки, строки, столбца или листа доступны в меню кнопки «Вставить», которая расположена в группе «Ячейки» на вкладке «Главная».
Рис. 2.3. Меню кнопки Вставить.
Для форматирования ячеек, после их выделения, используют вкладки диалогового окна Формат ячеек, а также элементы группы Шрифт вкладки Главная, мини—панель инструментов.
,
Рис. 2.4. Мини—панель инструментов для форматирования.
При необходимости можно выполнить обрамление таблицы, предварительно ее выделив и нажав кнопку , для выделенного диапазона ячеек используя соответствующие вкладки, можно установить выравнивание, шрифт, границы и т.д. Ширину столбца можно изменить, перетащив его правую границу между заголовками столбцов, при этом во всплывающей подсказке отображается устанавливаемая ширина столбца (в знаках и пикселях).
Для форматирования заголовка таблицы нужно выделить все ячейки строки с заголовком поширине таблицы и нажать кнопку Объединить, помещенную на вкладке Главная в группе Выравнивание.
Рис. 2.5. Элементы группы Выравнивание на вкладке Главная.
Задание 4 . Ввод и форматирование информации
-
Подготовим область для будущей таблицы:
— в рабочем поле Листа 1 выделить мышкой область A1:L12 (12 строк и
12 столбцов);
— выставим границы: панель Форматирования — кнопка Границы – в раскрывающемся списке взять Все границы
— расширим первый столбец: поставить курсор на строку с названиями граф, между А и В так, чтобы появился крестик , мышкой, с нажатой левой кнопкой, передвинуть границу графы А вправо так, чтобы в вошла самая длинная фамилия ;
— Уменьшим ширину граф В : L: выделим все графы от С до L (мышкой
выделить имя графы С, нажить клавишу Shift и щелкнуть по имени графы L), вызовем окно Ширина столбца (Формат-Столбец-Ширина) и поставим размер 2,5;
— Увеличим высоту строк 2 :12: выделим строки от 3 до 12 (мышкой выделим номер строки 3, нажить клавишу Shift и щелкнуть по номеру строки 12 вызовем окно Высота строки (Формат-Строка-Высота) и поставим 15.
-
Выделить область А1:В2 и объединить ячейки, нажав кнопку на панели форматирования.
-
В полученную после объединения ячейку вписать слово «Фамилия». Чтобы выровнять слово по центру ячейки вызовем окно Формат ячейки (меню Формат-Ячейки) и на закладке Выравнивание из раскрывающихся списков по горизонтали (по вертикале) выберем по центру.
-
Занесем в столбец А, строки 3:12 фамилии.
Скопируем каждую фамилию из графы А в строку 1: выделим ячейку с фамилией из графы А, в контекстном меню (правая кнопка мыши) выберем пункт Копировать, поставить курсор в соответствующую ячейку строки 1, в контекстном меню выбрать пункт Вставить. И так для каждой фамилии.
Поменяем направление текста в строке 1: выделим ячейки С1:L1, вызовем окно Формат ячейки, закладка Выравнивание (меня Формат — Ячейки) в области Ориентация изменим направление на 90 градусов:
-
Проставим нумерацию участников, используя возможности автозаполнения: в ячейку В3 вводим 1, в ячейку В4 — 2, выделяем мышкой обе ячейки, берем за черный квадратик внизу справа и протягиваем вниз до ячейки В12. Аналогично поступаем с нумерацией в строке 2.
-
Выделим области с фамилиями и внешнюю границу таблицы жирными линиями или цветом: вызовем окно Формат ячейки, закладка Граница, установим цвет и тип линии, нажмем на кнопку Внешние;
-
Изменим заливку областей с нумерацией: выделить мышкой область с номерами в графе В, утопить клавишу Ctrl и выделить область с нумерацией в строке 2, выбрать цвет заливки из раскрывающегося списка Цвет заливки на панели форматирования.
-
Добавим заголовок: ставим строку выше строки 1 — поставим курсор в любую ячейку строки 1 — выполним команду Вставка — Строки; объединим ячейки А1:L1 (см.п3), установить выравнивание по центру (см.п4), ввести текст заголовка.
-
Сохранить документ (команда Файл-Сохранить — выбрать папку для сохранения, ввести имя файла — нажать кнопку Сохранить).
Самостоятельная работа № 2. Форматирование
С/Р Задание 1 На листе 1 при помощи вкладки Число диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу. Цвет текста и заливку ячеек сделать произвольной.
С/Р Задание 2
На листе 2 при помощи вкладки Выравнивание диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу.
С/Р Задание 3
На листе 3 при помощи вкладок Шрифт, Граница и Вид диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу.
С/Р Задание 4
Пользуясь знаниями, полученными на этом занятии, создайте таблицу по указанному образцу и поместите эту новую таблицу на лист с названием «ИТОГОВЫЙ ЛИСТ» (создать нужно собственное расписание по указанному образцу).
Удаление форматирования.
Можно удалить сразу все параметры оформления (числовые форматы, параметры выравнивания, параметры шрифта, заливки, границы и т. д.).
Выделите ячейку или диапазон ячеек, для которых удаляется оформление.
В группе Редактирование вкладки Главная щелкните по кнопке
Очистить и выберите команду Очистить форматы.
Рис.2.6. Элементы группы Редактирование вкладки Главная.
Условное форматирование – это выделение ячеек с важной инфор- мацией и нестандартных значений, а также улучшение восприятия данных с помощью гистограмм, шкалы цветов и наборов значков, применяемых согласно некоторым условиям.
С помощью условного форматирования можно выделить значения, отвечающие какому либо условию (больше, меньше, между, равно,…). Для этого:
1. Выделите ячейку или диапазон ячеек.
2. Щелкните по кнопке Условное форматирование группы Стили вкладки Главная, в галерее выберите команду Правила выделения ячеек, а затем в подчиненном меню выберите условие (рис. 2.7.)
Рис. 2.7. Выбор правила выделения значений.
3. Настройте параметры условия и выберите способ выделения.
Название и содержание окна настройки параметров условия зависит от выбранного условия. Например, при выборе условия Между можно указать минимальное и максимальное значения, а при выборе условия Дата можно выбрать отношение выделяемых ячеек к сегодняшней дате (Вчера, Сегодня, Завтра, За последние 7 дней и т.д.), а также выбрать способ выделения.
С помощью условного форматирования можно выделить крайние
(максимальные или минимальные) значения:
1. Выделите ячейку или диапазон ячеек.
2. Щелкните по кнопке Условное форматирование группы Стили вкладки Главная, в галерее выберите команду Правила отбора первых и последних значений, а затем в подчиненном меню выберите принцип отбора.
3. Настройте параметры отбора и выберите способ выделения.
Задание 5. Условное форматирование.
-
Особенности создания данной таблицы:
-
Размещение в одной ячейке текста в две (или более) строк: вызовем окно Формат ячейки (вкладка Формат-Ячейки) и на закладке Выравнивание в области Отображение ставим галочку перенос по словам.
-
Вставка и ориентация автофигур (см. Предмет / Фамилии): на панели рисования (вставить панель — команда Вид — Панели инструментов — Рисование) из раскрывающегося списка Автофигуры — Основные фигуры берем Прямоугольный треугольник. Переносим курсор в нужное место таблицы и рисуем треугольник на половине ячейки. чтобы вставить надпись, используем контекстное меню (правая кнопка мышки) — пункт Добавить текст — набрать текст. При необходимости можно изменить шрифт, цвет, размер, заливку и п.т. в окне Формат автофигуры (контекстное меню — Формат автофигуры)
-
Расчет среднего балла по лицеистам: поставить курсор в ячейку, где должен стоять средний балл (например, в строке с фамилией Иванов в графе J); вызываем окно Мастер функций (кнопка Вставка функции ), в категории Статистические выбираем функцию СРЗНАЧ (среднее арифметичнское), ОК; передвинем окно СРЗНАЧ, нажав кнопку мыши на любом месте окна, чтобы оно нем не мешало; в окне СРЗНАЧ ставим курсор в область Число1; выделяем все оценки Иванова; ОК.
-
Скопируем полученную формулу в остальные строки: выделить формулу, взять мышкой квадратик внизу справа и потянуть вниз.
-
Аналогично рассчитывается средний балл по предметам (см.п 3,4).
-
Выделение цветом заливки различных оценок: выделить всю область с оценками; вызовем диалоговое окно «Условное форматирование» — меню Формат — Условное форматирование; в списке значение выбрать — значение; в списке между выбрать равно; в соседнем окне указать оценку; цвет оценки, заливку ячейки, границы выбирают в окне Формат ячейки, нажав кнопку Формат. Можно задать до трех различных условий (кнопка А также>>).
-
Количество десятичных знаков в среднем балле можно установить в окне Формат ячейки, закладка Число, в списке Числовые форматы выбираем Числовой и указываем число десятичных знаков, например, 2.
Самостоятельная работа № 3. Условное форматирование
Футбольный турнир. Шесть команд. Каждая играет с каждой. Выигрыш 3 очка, проигрыш 0 очков, ничья 1 очко. Подготовьте таблицу для занесения результатов так. Выигрыш окрашивается в красный цвет, ничья в зеленый, проигрыш в синий цвет. По диагонали крестики. Вы заранее не знаете, как сыграют команды. После того, как состоятся игры, таблица должна выглядеть примерно так:
-
Организация вычислений в табличном процессоре MS Excel 2007 (Видеоурок).
Функция – стандартная формула, которая обеспечивает выполнение определенных действий над значениями, выступающими в качестве аргу- ментов. Функции позволяют упростить формулы, особенно если они длин- ные или сложные. Функции используют не только для непосредственных вычислений, но также и для преобразования чисел, например для округле- ния, для поиска значений, сравнения и т. д.
Для создания формул с функциями обычно используют группу Библиотека функций вкладки Формулы.
Рис. 3.1. Вкладка Формулы.
EXCEL содержит более 400 встроенных функций для выполнения стандартных вычислений.
Ввод функции начинается со знака = (равно). После имени функции в круглых скобках указывается список аргументов, разделённых точкой с запятой.
Аргументами функции могут быть:
-
Числа;
-
Текст;
-
Адреса ячеек;
-
Выражения, содержащие другие функции.
Некоторые функции могут иметь необязательные аргументы, которые можно опускать.
III.1 Часто используемые функции
СУММ(В2:В5)
Вычисление суммы числовых значений диапазона ячеек В2:В5
СУММ(В2:В5;100;К4)
Вычисление суммы числовых значений диапазона ячеек В2:В5, числа 100 и значения ячейки К4
СУММЕСЛИ(В2:В5;“>10”)
Вычисление суммы чисел, больших 10, их диапазона ячеек В2:В5
СРЗНАЧ(В2:В5)
Вычисление среднего значения для диапазона ячеек В2:В5
МАКС(В2:В5)
Вычисление максимального значения из диапазона ячеек В2:В5
МИН(В2:В5)
Вычисление минимального значения из диапазона ячеек В2:В5
СЧЕТ(В2:В5)
Подсчет общего количества чисел из диапазона ячеек В2:В5
СЧЕТЕСЛИ(В2:В5;”<5”)
Вычисление количества чисел, меньших 5, из диапазона ячеек В2:В5
— мастер функций (используется для вызова встроенной функции)
III. 2 Ошибки.
При использовании ссылок и формул возникают ошибки. Например, можно в ячейке а1 написать “=с1”, а в ячейке с1 написать “=а1+1”. Понятно, что так не бывает, Excel выдаст сообщение об ошибке. Но большинство сообщений об ошибках не выдается, а пишется прямо в ячейке. Вот самые распространенные из них:
Ошибка
В чем дело
#ДЕЛ/0!
попытка деления на ноль.
#ЗНАЧ!
недопустимый тип аргумента. Например, вместо числового аргумента используется текстовый.
#ИМЯ?
в формуле есть ссылка на отсутствующее имя области данных или неверно задано имя функции. Часто причиной может являться, например, ввод адресов ячеек, русскими, а не латинскими буквами.
#Н/Д
неопределенные или отсутствующие данные («нет данных»)
#ПУСТО!
в формуле задано перечисление двух интервалов, которые на самом деле не имеют общих ячеек.
#ССЫЛКА!
недопустимая (обычно отсутствующая) ссылка
#ЧИСЛО!
используется недопустимый аргумент в числовых формулах, например отрицательное подкоренное выражение.
Имена функций при создании формул можно вводить с клавиатуры. Для упрощения процесса создания и снижения количества опечаток используйте автозавершение формул:
1. В ячейку или в строку формул введите знак «=« (знак равенства) и первые буквы используемой функции. По мере ввода список прокрутки возможных элементов отображает наиболее близкие значения. Значки указывают типы вводимых данных, такие как функция или ссылка на таблицу (рис. 3.3.).
Рис. 3.3. Ввод формулы с использованием автозавершения.
2. Выберите нужную функцию, для чего дважды щелкните по ней мышью.
3. С использованием клавиатуры и мыши введите аргументы функции.
Подтвердите ввод формулы.
Для быстрого выполнения некоторых действий с применением функций без запуска мастера функций можно использовать кнопку Сумма. Эта кнопка, помимо группы Библиотека функций вкладки Формулы (там она называется Автосумма), имеется также в группе Редактирование вкладки Главная.
Кроме вычисления суммы чисел в ячейках, кнопку Сумма можно ис- пользовать при вычислении среднего значения, определения количества числовых значений, нахождения максимального и минимального значений. В этом случае необходимо щелкнуть по стрелке кнопки и выбрать необходимое действие:
Среднее – расчет среднего арифметического;
Число – определение количества численных значений;
Максимум – нахождение максимального значения;
Минимум – нахождение минимального значения.
Все функции на вкладке «Формулы» распределяются по темам на следующие группы:
«Математические». Предназначены для решения алгебраических задач: функции для округления данных, тригонометрические и т. д.
«Логические». Применяются для решения задач с условиями.
«Финансовые». Применяются для выполнения финансовых расчетов.
«Текстовые». Предназначены для работы с текстовыми значениями.
«Даты и времени». Применяются для работы с данными в формате
«Дата/время».
«Ссылки и массивы». Предназначены для просмотра информации, хранящейся в больших списках и таблицах.
Простое суммирование содержимого заданного интервала ячеек осуществляется функцией СУММ(А), где A – список от 1 до 30 элементов, которые требуется суммировать. Элемент может быть ячейкой, диапазо- ном ячеек, числом или формулой. Ссылки на пустые ячейки, текстовые или логические значения игнорируются.
Фактически данная функция заменяет непосредственное суммирование с использованием оператора сложения (+). Формула =СУММ(В2:В7), тождественна формуле =В2+В3+В4+В5+В6+В7.
Для умножения используют функцию ПРОИЗВЕД(А), где A – список от 1 до 30 элементов, которые требуется перемножить. Элемент может быть ячейкой, диапазоном ячеек, числом или формулой. Ссылки на пустые ячейки, текстовые или логические значения игнорируются.
Фактически данная функция заменяет непосредственное умножение с использованием оператора умножения (*).
Задание 6. Вычисления спомощью функции (Сумма)
1. Создайте таблицу.
А
В
С
D
E
F
G
H
I
1
Продажа компьютеров крупнейшими производителями
2
Название
фирмы
Средняя
Цена
тыс.руб.
Объем продаж по годам (млн. шт.)
3
2005
2006
2007
2008
2009
Всего
продано
Доход
4
IBM
20,01
6,2
6,9
7,2
7,6
7,9
5
NEC
12,073
2
2,1
2,5
3,2
4,1
6
Dell
18
4,8
5,11
5,5
5,7
6,2
7
Compaq
15
3,5
4,2
5,0
6,0
7,5
9
Gatewey
21
1,1
1,8
2,4
3,0
3,3
10
Итого
2. В ячейке Н4 рассчитайте сумму ячеек С4:G4.
3. В ячейке I4 рассчитайте произведение ячеек В4 и H4. Присвойте формуле имя «Доход».
4. В ячейке C10 с использованием кнопки (Сумма) рассчитайте сумму ячеек C4:C9.
5. В ячейке B10 с использованием кнопки (Сумма) рассчитайте среднее значение ячеек B4:B9.
6. Скопируйте формулу ячейки H4 на ячейки H5:H9.
7. Скопируйте формулу ячейки I4 на ячейки I5:I9.
8. Скопируйте формулу ячейки C10 на ячейки D10:I10.
9. Отредактируйте формулу в ячейке B10: среднее значение должно быть рассчитано для ячеек B4:B7.
10.В ячейке А11 введите текст «курс доллара», а в ячейке А12 укажите значение курса доллара по отношению к рублю на текущую дату.
11.Присвойте ячейке А12 имя «Курс_доллара».
12.В ячейке J4 рассчитайте частное от деления ячейки I4 на ячейку A12
так, чтобы эту формулу можно было копировать на ячейки J5:J10.
13.Удалите из книги имя ячейки Доллар.
14.Сохраните файл под именем «Продажа_компьютеров.xlsx».
Самостоятельная работа № 4. Математичсекие функции
Дана последовательность чисел: 25;-61;0;-82;18;-11;0;30;15;-31;0;-58;22. В ячейку А1 введите текущую дату, используя мастер функций (категория функции Дата и время). Числа вводите в ячейки третьей строки. Заполните ячейки К5:К14 соответствующими формулами. Отформатируйте таблицу. Лист переименуйте в Числа.
Самостоятельная работа №5. Использование математичсеких функций
С/Р Задание 1. Создать таблицу своих расходов в течение недели, аналогичную таблице.
2. Вычислить итоговое значение по каждой статье расходов и по каждому дню недели (применить автосуммирование ).
3. Формат ячеек, в которые вводятся числа, выбрать денежный.
4. Отформатировать таблицу по собственному усмотрению, используя различные цвета заливки, границ, шрифта.
С/Р Задание 2. 1. Создать таблицу расчёта строительных материалов для ремонта квартиры, подобную той, какая изображена на рисунке.
-
Ввести в соответствующие ячейки рисунки (сканированные или стандартные из коллекции).
III.3 Относительная или абсолютная адресация.
Перемещать и копировать ячейки с формулами можно точно так же, как и ячейки с текстовыми или числовыми значениями.
При перемещении ячейки с формулой содержащиеся в формуле ссылки не изменяются. При копировании формулы ссылки на ячейки могут изменяться в зависимости от их типа (относительные или абсолютные).
По умолчанию ссылки на ячейки в формулах относительные, то есть адрес ячейки определяется на основе расположения этой ячейки относи- тельно ячейки с формулой. При копировании ячейки с формулой относи- тельная ссылка автоматически изменяется. Именно возможность использо- вания относительных ссылок и позволяет копировать формулы. В некото- рых случаях использование относительных ссылок недопустимо. Для того чтобы ссылка на ячейку при копировании не изменялась, необходимо ис- пользовать абсолютные ссылки. Абсолютная ссылка ячейки имеет формат $A$1, где $ – служебный символ, показывающий абсолютную ссылку.
Чтобы ссылка на ячейку была абсолютной, после указания ссылки на ячейку следует нажать клавишу F4. Ссылку можно преобразовать из отно- сительной в абсолютную и при редактировании ячейки с формулой. К за- головкам столбца и строки в адресе ячейки следует добавить служебный символ $. Например, для того чтобы ссылка на ячейку А20 стала абсолют- ной, необходимо ввести $А$20.
Ссылка может быть не только относительной или абсолютной, но и смешанной.
Ссылка формата A$1 является относительной по столбцу и абсолютной по строке, т.е. при копировании ячейки с формулой выше или ниже, ссылка изменяться не будет. А при копировании влево или вправо будет изменяться заголовок столбца.
Ссылка формата $A1 является относительной по строке и абсолютной по столбцу, т.е. при копировании ячейки с формулой влево или вправо выше или ниже ссылка изменяться не будет. А при копировании выше или ниже будет изменяться заголовок строки. Абсолютную адресацию в формулах обеспечивает также применение имен ячеек и их диапазонов. Например, формула =Март+Апрель+Май предполагает сложение данных, содержащихся в ячейках с соответствующими именами (вне зависимости от того, в каком месте книги находится именованные диапазоны и формула, которая на них ссылается).
Имя – слово или строка знаков, представляющих ячейку, диапазон ячеек, формулу или константу. Имена можно использовать в любом листе книги.
Задание 7. Создание таблицы Пифагора (таблицы умножения)
Абсолютная адресация используется при формировании таблицы Пифагора.
Алгоритм создания таблицы Пифагора:
-
В строке 2, начиная с графы В записать все двухзначные числа: в ячейку В2 вставить 10, в ячейку С2 — 11, выделить обе ячейки и, взяв за черный квадратик внизу справа, протянуть до ячейки СМ2.
-
В графе А, начиная со строки 3 записать все двухзначные числа: в ячейку А3 вставить 10, в ячейку А4 — 11, выделить обе ячейки и, взяв за черный квадратик внизу справа, протянуть до ячейки А92.
-
Выделить область А2:СМ92 и вставить границы.
-
Выделить одновременно две области А2:СМ2 и А3:А92. произвести заливку (Кнопка Цвет заливки).
-
Поставить курсор в ячейку В3 и записать формулу =А3*В2 (поставить знак «=», выделить мышкой ячейку А3, поставить знак «*», выделить мышкой ячейку В2, нажать клавишу Enter).
-
«Заморозить» в полученной формуле графу А и строку 2, поставив перед ними знак «$» ( =$А3*В$2).
-
Выделить ячейку В3 и протянуть(скопировать формулу) сначала вправо до ячейки СМ3, а затем до ячейки СМ92.
-
Вставить в первую строку заголовок.
-
Таблица готова.
Самостоятельная работа №6. Относительная и абсолютная адресация
С/Р Задание 1.. Составьте таблицу, содержащую наименование товара, его цену в рублях, количество, стоимость в рублях и в долларах. Данные в столбцах стоимость вычислены с помощью формул:
С/Р Задание 2.. В таблице приведено количество фигур различного цвета. Определите долю в процентах количества фигур каждого цвета от общего количества фигур:
С/Р Задание 3. Составьте таблицу умножения на заданное число:
С/Р Задание 4.
Составьте таблицу для расчёта премии сотрудников фирмы, если премия выплачивается в процентах от оклада. Процент премии указан в отдельной ячейке. Затенённые ячейки содержат формулы:
С/Р Задание 5.
В таблице дана цена комплектующих в долларах. Рассчитайте цену в рублях и стоимость заказанного числа комплектов:
-
Логические выражения и функции Excel 2007. Условные вычисления.
Часто выбор формулы для вычислений зависит от каких—либо условий. Например, при расчете торговой скидки могут использоваться различные формулы в зависимости от размера покупки. Для выполнения таких вычислений используется функция ЕСЛИ, в которой в качестве аргументов значений вставляются соответствующие формулы.
Синтаксис функции: ЕСЛИ(А;В;С), где A – логическое выражение, правильность которого следует проверить; В– значение, если логическое выражение истинно; C – значение, если логическое выражение ложно.
Следующая формула возвращает значение 10, если значение в ячейке
А1 больше 3, а в противном случае – 20: =ЕСЛИ(А1>3;10;20).
Действие функции: функция ЕСЛИ, записанная в ячейку таблицы, выполняется следующим образом: если условие А истинно, то значение
данной ячейки определит В, в противном случае С.
В и С могут быть числами, текстами или формулами.
В функции ЕСЛИ можно использовать текстовые аргументы:
=ЕСЛИ(А1>=4;«Зачет сдал«;«Зачет не сдал«).
В качестве аргументов функции ЕСЛИ можно использовать другие функции. Например, =ЕСЛИ(СУММ(А1:А3)=30;А10;««), здесь при невыполнении условия функция возвращает пустую строку вместо 0.
Аргумент A (логическое выражение функции ЕСЛИ) может содержать текстовое значение. Например, =ЕСЛИ(А1=«Динамо«;10;290). Эта формула возвращает значение 10, если ячейка А1 содержит строку «Динамо«, и 290, если в ней находится любое другое значение. Совпадение между сравниваемыми текстовыми значениями должно быть точным.
Логические выражения строятся с помощью операций отношения (<,>, <= (меньше или равно), >= (больше или равно), =, <> (не равно)) и лог ических операций (логическое И, логическое ИЛИ, логическое отрицание НЕ). Результатом вычисления логического выражения являются логические значения ИСТИНА или ЛОЖЬ.
Функции И и ИЛИ могут иметь до 30 логических аргументов и имеют синтаксис:
=И(логическое_значение1;логическое_значение2…)
=ИЛИ(логическое_значение1;логическое_значение2…)
Функция НЕ имеет только один аргумент и следующий синтаксис:
=НЕ(логическое_значение)
Аргументы функций И, ИЛИ, НЕ могут быть логическими выражениями, массивами или ссылками на ячейки, содержащие логические значения.
Иногда бывает очень трудно решить логическую задачу только с помощью операторов сравнения и функций И, ИЛИ, НЕ. В этих случаях можно использовать вложенные функции ЕСЛИ. Всего допускается до 7 уровней вложения функций ЕСЛИ. Например, в следующей формуле используются три функции ЕСЛИ:
=ЕСЛИ(А1=100;«Всегда«;ЕСЛИ(И(А1>=80;А1<100);«Обычно«;ЕСЛИ(И(А
1>=60;А1<80);«Иногда«;«Никогда»)))
Если значение в ячейке А1 является целым числом, формула читается следующим образом: «Если значение в ячейке А1 равно 100, возвратить строку «Всегда«. В противном случае, если значение в ячейке А1 находится между 80 и 100, возвратить «Обычно«. В противном случае, если значение в ячейке А1 находится между 60 и 80, возвратить строку «Иногда«. И, если ни одно из этих условий не выполняется, возвратить строку «Никогда«.
Функции ИСТИНА (TRUE) и ЛОЖЬ (FALSE) предоставляют альтернативный способ записи логических значений ИСТИНА и ЛОЖЬ. Эти функции не имеют аргументов и выглядят следующим образом:
=ИСТИНА()
=ЛОЖЬ()
Например, ячейка А1 содержит логическое выражение. Тогда следующая функция возвратит значение «Выдать кредит«, если выражение в ячейке А1 имеет значение ИСТИНА:
=ЕСЛИ(А1=ИСТИНА();«Выдать кредит«;«Не выдавать кредит«), в против- ном случае формула возвратит «Не выдавать кредит«.
Выборочное суммирование. Иногда необходимо суммировать не весь диапазон, а только ячейки, отвечающие некоторым условиям (критериям). В этом случае используют функцию СУММЕСЛИ(А;В;С), где A – диапазон вычисляемых ячеек; В – критерий в форме числа, выражения или текста, определяющего суммируемые ячейки; С – фактические ячейки для суммирования. В тех случаях, когда диапазон вычисляемых ячеек и диапазон фактических ячеек для суммирования совпадают, аргумент С можно не указывать.
Можно суммировать значения, отвечающие заданному условию. Например, в таблице на рис. 4.1 суммированы только продажи по фирмам, средняя цена продукции у которых не меньше 20 тыс. руб.
Рис. 4.1 . Выборочное суммирование
Функция СЧЕТЕСЛИ(А;В), подсчитывает в диапазоне A количество значений, удовлетворяющих критерию В.
Функции СУММЕСЛИМН и СЧЕТЕСЛИМН работают аналогично классическим функциям СУММЕСЛИ и СЧЕТЕСЛИ, но умеют проверять не одно, а несколько условий (до 128 условий).
Функция СРЗНАЧЕСЛИМН аналогична двум предыдущим, но считает не сумму, а среднее арифметическое.
Задание 8. Условная функция и логические выражения
Первоначально следует подготовить таблицу в следующем виде:
А
В
С
D
Е
F
1
Проходной
балл:
13
2
Фамилия
Математика
Русский
Иностранный
Сумма
Зачислен
3
В ячейке С1 будет храниться значение проходного балла — 13. Формула в ячейке ЕЗ вычисляет сумму баллов за три экзамена: ВЗ + СЗ + D3. Формула в ячейке F3 задается с помощью условной функции:
ЕСЛИ(И(ЕЗ>=$С$1;ВЗ>3);«ДА»;«НЕТ»)
Условие, записанное с помощью логической операции И, можно расшифровать так: сумма баллов (ЕЗ) >= проходному баллу (С1) И оценка за экзамен по математике (ВЗ) > 3. Если условие выполняется, то в клетке F3 будет отображаться текст — ДА, в противном случае — НЕТ.
Для проходного балла в формуле используется абсолютный адрес $С$1, так как проходной балл является одинаковый и неизменным для всех абитуриентов. После заполнения 3-ей строки формулами, можно произвести копирование соответствующих формул в нижние строки. Формулы в столбцах Е и F после копирования будут выглядеть так:
…
D
Е
F
1
….
….
2
….
….
Сумма
Зачислен
3
….
….
B3+C3+D3
ЕСЛИ(И(ЕЗ>=$С$1;ВЗ>3);«ДА»;«НЕТ»)
4
….
….
B4+C4+D4
ЕСЛИ(И(Е4>=$С$1;В4>3);«ДА..;«НЕТ»)
5
….
….
B5+C5+D5
ЕСЛИ{И{Е5>=$С$1;В5>3);«ДА»;«НЕТ»)
….
….
….
После ввода исходных данных получим таблицу в режиме отражения значений:
А
В
С
D
Е
F
1
Проходной
балл:
13
2
Фамилия
Математика
Русский
Иностранный
Сумма
Зачислен
3
Антонов
4
5
5
14
ДА
4
Воробьев
3
5
5
13
НЕТ
5
Синичкин
5
5
3
13
ДА
6
Воронина
5
4
3
12
НЕТ
7
Снегирев
3
5
4
12
НЕТ
8
Соколова
5
5
5
15
ДА
Задание 9. Условная функция
Рассчитать подоходный налог на доходы физических лиц, если необлагаемая база для лиц, имеющих доход меньше 20000 рублей, равна 400 руб., в противном случае размер налога равен 13% от величины дохода.
Решение.
A
B
C
1
Налоги на доходы физических лиц
2
размер налога
13%
3
необлагаемая база для лиц, имеющих доход меньше
20000 рублей
400руб.
4
Фамилия
Доход
Налог
5
Белоус С.В.
20050
ЕСЛИ(В5<20000; (В5-$B$3)*$B$2; B5*$B$3)
6
Котощук Л.В.
15000
ЕСЛИ(В6<20000; (В6-$B$3)*$B$2; B6*$B$3)
7
Харитонов Б.М.
199550
ЕСЛИ(В7<20000; (В7—$B$3)*$B$2; B7*$B$3)
8
Шевченко А.В.
24900
ЕСЛИ(В8<20000; (В8-$B$3)*$B$2; B8*$B$3)
Самостоятельная работа №7. Условная функция
С/Р Задание 1.
Составьте таблицу для определения, лежит ли точка с заданными координатами в круге указанного радиуса (считать, что центр круга расположен в начале координат):
С/Р Задание 2.
В доме проживает 10 жильцов. Подсчитать, сколько каждый из них должен платить за электроэнергию и определить суммарную плату для всех жильцов. Известно, что 1 кВт/ч электроэнергии стоит m рублей, а некоторые жильцы имеют 50% скидку при оплате.
С/Р Задание 3.
Автоматизировать начисление стипендии студентам (группа – 10человек) по итогам летней сессии. Количество экзаменов – 5, баллы – от 2,5 до 5. Стипендия начисляется в размере МРОТ (600 руб.), если все экзамены сданы с оценкой не ниже 3. При сдаче всех экзаменов с оценками не ниже 4 баллов выплачивается надбавка 20%, не ниже 5 баллов – надбавка 50%.
С/Р Задание 4.
Составьте таблицу, рассчитывающую сопротивление и силу тока в цепи с последовательным и параллельным соединением резисторов:
Указания:
-
В ячейки В3, В6, В7, В8 вводятся исходные данные.
-
В ячейках В10 и В11 — формулы.
-
Схемы цепей нарисуйте с помощью графических примитивов (панель Рисование) так же, как в Word.
С/Р Задание 5. В компьютер по очереди поступают результаты спортсменов — участников соревнований по лыжным гонкам, уже пришедших к финишу. Подготовьте таблицу, в которой будет указываться лучший результат после ввода результата очередного спортсмена. Функцию МИН не использовать:
С/Р Задание 6
Составьте таблицу, рассчитывающую общую стоимость покупок и величину оплаты при условии предоставления десятипроцентной скидки в случае, когда общая стоимость превышает 1000 рублей:
Указания:
-
Данные 1000р. и 10% расположены в отдельных ячейках, чтобы их можно было быстро изменять.
-
Затенённые ячейки содержат формулы.
С/Р Задание 7
Торговый агент получает процент от суммы совершенной сделки. Если объем сделки до 3000, то 5%; если объем до 10000, то 2%; если выше 10000, то 1,5%. Введите в ячейку А10 текст «Объем сделки», в ячейку А11– «Размер вознаграждения». В ячейку В10 введите объем сделки, а в В11 –формулу, вычисляющую размер вознаграждения.
-
Работа с диаграммами.
Диаграммы являются средством наглядного представления данных и облегчают выполнение сравнений, выявление закономерностей и тенденций данных.
Диаграммы создают на основе данных, расположенных на рабочих листах. Как правило, используются данные одного листа. Это могут быть данные диапазонов как смежных, так и не смежных ячеек. Несмежные ячейки должны образовывать прямоугольник. При необходимости, в процессе или после создания диаграммы, в нее можно добавить данные, расположенные на других листах.
Диаграмма может располагаться как графический объект на листе с данными (не обязательно на том же, где находятся данные, взятые для построения диаграммы). На одном листе с данными может находиться несколько диаграмм. Диаграмма может располагаться на отдельном специальном листе.
Диаграмма постоянно связана с данными, на основе которых она создана, и обновляется автоматически при изменении исходных данных. Более того, изменение положения или размера элементов данных на диаграмме может привести к изменению данных на листе.
В Excel 2007 можно создавать различные диаграммы. Всего существует 11 типов встроенных диаграмм, каждый из которых имеют еще множество разновидностей (видов). Выбор типа диаграммы определяется задачами, решаемыми при ее создании. Обычно стандартной (используется по умолчанию) диаграммой является плоская гистограмма.
Перед созданием диаграммы следует убедиться, что данные на листе расположены в соответствии с типом диаграммы, который планируется использовать. Данные должны быть упорядочены по столбцам или строкам. Не обязательно столбцы (строки) данных должны быть смежными, но несмежные ячейки должны образовывать прямоугольник.
Для создания диаграммы стандартного типа достаточно выделить фрагмент листа и нажать клавишу F11.
Для удаления диаграммы достаточно выделить ее и нажать клавишу Delete При создании гистограммы, линейчатой диаграммы, графика, диаграммы с областями, лепестковой диаграммы, круговой диаграммы можно использовать от одного до нескольких столбцов (строк) данных.
При создании диаграммы типа «Поверхность» должно быть два столбца (строки) данных, не считая столбца (строки) подписей категорий.
При создании круговой диаграммы нельзя использовать более одного столбца (строки) данных, не считая столбца (строки) подписей категорий.
Как правило, данные, используемые для создания диаграммы, не должны иметь существенно различную величину.
Для создания диаграммы необходимо выделить фрагмент таблицы, для которого создается диаграмма и воспользоваться инструментами панели Диаграммы вкладки Вставка.
Рис. 5.1 Инструменты панели Диаграмма вкладки Вставка.
Если не устраивает ни один из предложенных типов диаграмм, то необходимо воспользоваться кнопкой вызова окна панели Диаграммы.
Рис. 5.2. . Выбор типа и вида создаваемой диаграммы.
Задание 10. Пример построения круговой диаграммы.
Круговая диаграмма служит для сравнения нескольких величин. Особенно наглядна, если сумма значений величин составляет нечто целое, например, 100%.
Например, при продаже канцелярских товаров, имеем следующую таблицу:
-
А
В
1.
Блокноты
30
2.
Карандаши
78
3.
Тетради
72
1. Необходимо показать долю реализации каждого товара за день, используя круговую диаграмму.
Порядок действий:
1) Выделите фрагмент таблицы (блок ячеек А1:В3), содержащий данные для построения диаграммы.
2) На вкладке Вставка в группе Диаграммы щелкните по кнопке с нужным типом диаграмм и в галерее выберите конкретный вид круговой диаграммы.
В результате на листе будет создана диаграмма выбранного вида:
Рис. 5.3. Созданная диаграмма.
Диаграмма, созданная на листе с данными, первоначально расположена по умолчанию примерно в центре видимой части листа.
Диаграмму, размещенную на листе с данными, можно переместить на отдельный лист:
1. Нажмите кнопку Переместить диаграмму в группе Расположение
вкладки Работа с диаграммами/Конструктор.
2. В окне Размещение диаграммы установите переключать на отдельном листе, при необходимости введите имя создаваемого листа. После вставки диаграммы в окне Excel 2007 появляется контекстный инструмент Работа с диаграммами, содержащий три ленты Конструктор, Макет, Формат, с помощью которых можно ее отредактировать.
Для изменения какого—либо элемента диаграммы следует его выде- лить, щелкнув по нему мышью. Признаком выделения являются рамка и маркеры элемента. Линейные элементы (оси, линии тренда и т.п.) рамки не имеют. Количество маркеров может быть различным для разных элементов диаграмм. Одновременно может быть выделен только один элемент диаграммы.
Для выделения отдельных элементов диаграммы можно также ис- пользовать раскрывающийся список Элементы диаграммы группы Те- кущий фрагмент контекстной вкладки Работа с диаграммами/Макет (рис. 5.4.)
Рис. 5.4. Выделение элементов диаграммы.
Можно добавлять и удалять отдельные элементы созданной диаграммы (название, легенду, подписи данных, сетку, т.д.). Для этого используют элементы группы Подписи вкладки Работа с диаграммами/Макет.
Изменить положение диаграммы можно перетаскиванием выделенной диаграммы за область диаграммы. Диаграмму можно переместить в любую часть листа.
Для профессионального оформления диаграммы можно воспользоваться готовыми макетами диаграмм и стилями диаграмм (вкладка Работа с диаграммами/Конструктор) либо вручную задать форматирование любых элементов диаграммы, например осей, заголовков и других подписей (используют элементы вкладки Работа с диаграммами/Формат).
В Excel 2007 доступны такие визуальные эффекты, как трехмерность изображения, плавное затенение и сглаживание, что помогает выделять ключевые тенденции и создавать более привлекательное графическое отображение данных. Для установки параметров оформления элементов можно использовать диалоговые окна. Для отображения окна нужно выделить элемент диаграммы и в группе Текущий фрагмент вкладки Работа с диаграммами/Формат нажать кнопку Формат выделенного элемента.
Самостоятельная работа № 8. Построение диаграмм типа «гистограмма«
С/Р Задание 1.
1) Создать классный журнал на 10 человек. Заполнить его.
№
Фамилия
Имя
Предмет
Математика
Информатика
Русский язык
1
2
2) Определить среднюю успеваемость по каждому предмету.
3) Определить среднюю успеваемость по каждому ученику.
4) Вывести успеваемость по каждому ученику и по каждому предмету в виде диаграммы.
С/Р Задание 2.
При продаже канцелярских товаров в течение недели наблюдалась следующая динамика:
A
B
C
D
E
F
G
1
Пн
Вт
Ср
Чт
Пт
Сб
Вс
2
120
50
98
56
110
85
94
1. Создайте диаграмму типа «гистограмма« для данной таблицы.
2. Используя элементы группы Подписи вкладки Работа с диаграммами/Макет, добавьте на диаграмму название диаграммы, линии сетки, легенду и подписи данных. В названии диаграммы укажите «Динамика продаж за неделю».
3. Добавьте название горизонтальной оси «Дни недели», вертикальной оси «Количество».
4. Переместите диаграмму к левому краю листа. Увеличьте размер диаграммы по горизонтали примерно в 1,5 раза.
5. Переместите легенду в левый верхний угол области диаграммы. Увеличьте высоту области построения так, чтобы верхняя граница области была максимально приближена к верхнему краю области диаграммы.
6. Переместите диаграмму на отдельный лист. Листу присвойте имя
Продажи за неделю.
7. Для области диаграммы выберите один из стилей Слабый эффект.
Для области построения установите заливку бледно—синим цветом. Для легенды установите темно—синий цвет шрифта и размер шрифта 12 пт. Для горизонтальной оси установите толщину линии 2,25 пт. Для горизонтальной оси установите синий цвет линии. Для вертикальной оси установите максимальное значение 100.
8. Переместите диаграмму на новый лист.
9. Сохраните файл именем «Гистограмма.xlsx»
С/Р Задание 3. Известно поквартальное изменение цен основных продуктов:
-
Продукт
Цена
1 кв—л
2 кв—л
3 кв—л
4 кв—л
Сахар
40
50
45
50
Соль
10
10
11
12
Мука
35
38
41
42
Хлеб
15
15
17
18
Мясо
210
205
225
240
Яйца
35
35
38
42
Масло
40
42
42
45
1. Создайте диаграмму типа «гистограмма« для всей таблицы.
2. Добавьте название диаграммы и подписи данных. Измените размер и стиль диаграммы.
3. Скопируйте данные на Лист 2.
4. Создайте диаграмму типа «гистограмма« для цен за третий и четвертый кварталы.
5. Измените подписи горизонтальной оси. Указание: В группе Подписи горизонтальной оси вкладки Работа с диаграммами/ Конструктор нажмите кнопку Изменить, затем в окне Диапазон подписей осей укажите адреса ячеек с названиями продуктов.
4. Измените источник данных диаграммы: вместо цен 3—го квартала добавьте данные первого квартала. Указание: Для изменения диапазона данных в окне Выбор источника данных выделив название ряда 3—й квартал, нажмите кнопку Изменить, в открывшемся диалоговом окне укажите новое имя ряда (в таблице щелкните мышью по ячейке с названием 1 кв—л) и в таблице выделите нужный диапазон данных.
5. Измените источник данных диаграммы: добавьте данные второго и третьего кварталов
6. Скопируйте данные на Лист 3.
7. Создайте круговую диаграмму для цен за первый квартал.
8. Добавьте на диаграмму название диаграммы «Цены за 1 квартал».
9. Измените источник данных диаграммы: вместо первого квартала второй квартал.
10.Измените стиль круговой диаграммы.
11.Перейдите к Листу 4.
12.Создайте график изменения цен продуктов по кварталам.
13.Добавьте на диаграмму название диаграммы, линии сетки, названия осей и подписи данных. В названии диаграммы укажите «Изменение цен».
14.Удалите с диаграммы подписи данных, линии сетки, название горизонтальной оси.
15.Измените тип диаграммы на гистограмму.
16.Удалите данные 3—его квартала.
17.Переместите диаграмму на отдельный лист.
18.Отформатируйте элементы диаграммы, например оси, заголовки и другие подписи (вкладка Работа с диаграммами/Формат).
19.Сохраните файл именем Изменение_ цен.xlsx.
С/Р Задание 4.
Анализ динамики продаж товаров.
A
B
C
D
E
F
G
H
1
Наименование
Пн
Вт
Ср
Чт
Пт
Сб
Вс
2
Блокнот
12
5
8
6
10
8
4
3
Карандаш
7
85
16
39
62
70
34
4
Тетрадь
10
15
17
26
50
19
9
1. Создайте диаграмму типа «график» для всей таблицы.
2. Добавьте на диаграмму название «Динамика продаж за неделю».
3. Переместите диаграмму на отдельный лист, названный Продажи.
4. Измените тип диаграммы на «гистограмму».
5. Отформатируйте элементы диаграммы.
6. Скопируйте исходные данные на новый лист.
7. Создайте три круговые диаграммы для каждого наименования товара.
8. Отформатируйте диаграммы.
9. Проанализируйте построенные диаграммы.
С/Р Задание 5. Создание таблицы, выполнение вычислений и построение диаграмм.
1. Откройте новый файл. Присвойте листу 1 имя «Вычисления».
2. Создайте следующую таблицу «Реализация изделий и доход»:
Фирма «ЮПИТЕР’’
Реализация изделий и доход
Курс $
Доход
20%
июль 2007
25.5руб.
Сегодня
“июль 2007”
“сегодняшняя дата”
цена, $
цена, руб.
кол—
во
Выручка руб.
цена, руб.
кол-
во
Выручка, руб.
1.
Компьютер
585
32
6
2.
Монитор
195
36
6
3.
Принтер
297
17
2
4.
Сканер
118
8
1
Итого
Доход
3. Выполните необходимые вычисления, используя там, где это необходимо, абсолютные адреса ячеек или их имена.
4. Рассчитайте суммарную выручку и доход фирмы.
5. На основе проведенных расчетов создайте новую таблицу по приведенному ниже образцу и постройте объемную гистограмму (рис. 5.6)
-
“апрель 2010”
“сегодняшняя дата”
Курс $, руб.
30,5 руб.
Выручка, тыс. руб.
Доход, тыс. руб.
6. Проанализируйте полученные результаты.
7. Сохраните работу в своей папке в виде файла диаграммы.хlsх.
VI. Списки и базы данных в Excel. Сортировка и фильтрация.
Возможности Excel позволяют не просто обрабатывать колонки и строки цифр, а различным образом сортировать и систематизировать дан- ные, получать промежуточные итоги, делать выборку нужных данных из одной таблицы и формировать новые таблицы на основе исходной. Для этой цели необходима система управления данными (база данных). Как база данных в Excel используется список.
Список – это специальный вид таблицы, содержащей связанные данные). Как правило, список состоит из записей (строк) и полей (столбцов). Столбцы должны содержать однотипные данные. Представление данных в виде списка обеспечивает большее удобство при сортировках, выборках, подведении итогов и т. п. С другой стороны, в этом случае затруднено построение диаграмм, снижается наглядность представления данных на листе (рис.6.1.).
В виде списка можно представлять как данные информационного характера (номера телефонов, адреса и т. п.), так и данные, подлежащие вычислениям.
При создании списков следует придерживаться следующих правил:
на одном рабочем листе следует располагать один список;
список отделяется от других данных, по крайней мере, одной пустой строкой и одним пустым столбцом;
заголовки должны быть отформатированы другим образом, нежели остальные элементы списка;
необходимо избегать пустых строк и столбцов внутри списка;
каждый столбец списка должен содержать однотипные данные;
первая строка таблицы должна содержать имена полей списка, описыающих назначение соответствующего столбца;
заголовки должны быть отформатированы другим образом, нежели
остальные элементы списка.
Рис. 6.1. Организация данных в виде списка.
Сортировка и фильтрация осуществляются выделением заголовка таблицы и нажатием кнопки, которая находится в группе «Сортировка и фильтр» на вкладке «Данные«, или кнопки «Сортировка и фильтр» на вкладке «Главная«.
После этого рядом с названиями столбцов появятся стрелочки. Чтобы задать условие сортировки или фильтрации, следует щелкнуть на стрелочке рядом с названием нужного столбца и выбрать нужный вариант. Если требуемого варианта среди имеющихся не окажется, выберите пользовательскую настройку фильтра (вариант «Текстовые фильтры« или «Числовые фильтры«). Чтобы увидеть всю таблицу (отменить действие фильтра), на вкладке «Данные« в группе «Сортировка и фильтр« нажмите кнопку «Очистить«.
Кнопки, предназначенные для создания групп и структур, в Excel 2007 располагаются в группе «Структура« на вкладке «Данные«.
Задание 11. Сортировка списков.
1. Сделайте небольшой список для тренировки.
2. Выделите его и нажмите кнопку «Сортировка и фильтр« на панели
«Редактирование« ленты «Главная«.
3. Выберите «Сортировка от А до Я«. Список будет отсортирован по первому столбцу, т.е. по полю ФИО
4. Отсортировать список по нескольким полям, то для этого предназначен пункт «Настраиваемая сортировка«.
Сложная сортировка подразумевает упорядочение данных по нескольким полям. Добавлять поля можно при помощи кнопки «Добавить уровень«.
В итоге список будет отсортирован, согласно установленным параметрам сложной сортировки.
Задание 12. Фильтрация списков.
Основное отличие фильтра от упорядочивания — это то, что во время фильтрации записи, не удовлетворяющие условиям отбора, временно скрываются (но не удаляются), в то время, как при сортировке показываются все записи списка, меняется лишь их порядок.
Фильтры бывают двух типов: обычный фильтр (его еще называют авто- фильтр) и расширенный фильтр.
Для применения автофильтра нажмите ту же кнопку, что и при сортировке «Сортировка и фильтр« и выберите пункт «Фильтр« (перед этим должен быть выделен диапазон ячеек).
В столбцах списка появятся кнопки со стрелочками, нажав на которые можно настроить параметры фильтра.
Поля, по которым установлен фильтр, отображаются со значком воронки. Если подвести указатель мыши к такой воронке, то будет показано условие фильтрации.
Для формирования более сложных условий отбора предназначен пункт «Текстовые фильтры« или «Числовые фильтры«. В окне «Пользовательский автофильтр« необходимо настроить окончательные условия фильтрации.
При использовании расширенного фильтра критерии отбора задаются на рабочем листе.
Для этого надо сделать следующее:
1). скопируйте и вставьте на свободное место шапку списка;
2). в соответствующем поле (полях) задайте критерии фильтрации;
3). выделите основной список;
4). нажмите кнопку «Фильтр« на панели «Сортировка и фильтр«ленты «Данные»;
5). На той же панели нажмите кнопку «Дополнительно«.
В появившемся окне «Расширенный фильтр« задайте необходимые диапазоны ячеек.
В результате отфильтрованные данные появятся в новом списке.
Расширенный фильтр удобно использовать в случаях, когда результат отбора желательно поместить отдельно от основного списка.
Задание 13. Создание базы данных сотрудников фирмы.
При создании списка сначала наберите заголовки заданных столбцов, добавьте новые столбцы «Оклад», «Премия», «Всего».
Введите записи и задайте формулы для вычисляемых ячеек (столбцы Премия и Всего). Начислить каждому работнику премию в размере К% (положить сначала К=10%).
Фамилия
Имя
Отчество
Тел.
Улица
Дом
Кв.
Должность
1.
Болото
Сергей
Петрович
–
Ленина
87
11
эксперт
2.
Бруш
Басса
Юрьевна
607332
Мира
87
8
специалист
3.
Бурмист
Семен
Карлович
345070
Мира
165
73
специалист
4.
Вязена
Ирина
Ленидовна
220000
Мира
68
52
инспектор
5.
Друзич
Ирина
Даниловна
222222
Мира
256
3
гл. спец.
6.
Иванов
Дмитрий
Валерьевич
–
Гоголя
165
41
эксперт
7.
Иванов
Олег
Савельевич
455007
Мира
26
54
экономист
8.
Иванов
Петр
Борисович
505011
Мира
11
96
бухгалтер
9.
Иванова
Ирина
Семеновна
228707
Попова
44
17
инженер
10.
Иртуш
Эмма
Карловна
666073
Ленина
43
85
системщик
11.
Конева
Кристина
Олеговна
–
Мира
165
44
гл. бухгалтер
12.
Марков
Степан
Иванович
–
Чехова
4
78
программист
13.
Марков
Валерий
Сергеевич
828107
Горького
25
39
руководитель
14.
Марков
Евгений
Петрович
–
Мира
165
80
менеджер
15.
Марков
Иван
Юрьевич
–
Чехова
22
27
охранник
2. Осуществить поиск записей
1). Найти сотрудников, фамилии которых заканчиваются на «ов».
2). Найти в списке сотрудников, проживающих на улице Мира.
3). Найти сотрудников, проживающих на улице Мира, в доме №165.
3. С помощью фильтрации:
1). Извлечь список Фамилий, Имен, Отчеств и Телефонов сотрудников, у которых фамилия начинается на «И» и телефон содержит последние цифры «07».
2). Извлечь список Ф.И.О. сотрудников, проживающих на улице Мира в доме №165.
3). Извлечь список Фамилий и адресов сотрудников по имени Ирина с телефоном, содержащим начальные цифры 22 и последнюю 0.
4). Извлечь все данные для сотрудников, фамилии которых начинаются на «Б», отчество Владимирович (—вна), и проживающих по улице Мира, имеющих оклад от 5000 до 10000 руб.
5). Извлечь список Ф.И.О., нетелефонизированных сотрудников.
4. Отсортировать данные: а) по алфавиту улиц; б) «по алфавиту фамилий»
и «по убыванию № телефонов».
Самостоятельная работа № 9. Фильтрация данных
Создать таблицу реализации печатной продукции с заголовками столбцов: Месяц, Название, Тип издания (газета, журнал и т.д.), Цена од- ного экземпляра, Кол-во проданных экземпляров, Сумма от реализации.
1). Ввести информацию для двух месяцев (например, для января, февраля) и трех типов изданий.
2). Используя команду автоформат, оформить таблицу в удобном для пользователя виде.
3). Отсортировать данные в алфавитном порядке по Типу издания и од- новременно по Кол—ву проданных экземпляров в порядке возрастания.
4). Используя автофильтр, показать только те издания, у которых количество проданных экземпляров меньше 10 (т.е. не пользующихся спросом).
5). Используя расширенный фильтр, показать только те издания, у которых Цена экземпляра больше или равна 6 р. Результат скопировать в другой диапазон.
Время на прочтение
7 мин
Количество просмотров 312K
Приветствую всех.
В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.
VBA (Visual Basic for Applications) — это упрощенная версия Visual Basic, встроенная в множество продуктов линейки Microsoft Office. Она позволяет писать программы прямо в файле конкретного документа. Вам не требуется устанавливать различные IDE — всё, включая отладчик, уже есть в Excel.
Еще при помощи Visual Studio Tools for Office можно писать макросы на C# и также встраивать их. Спасибо, FireStorm.
Сразу скажу — писать на других языках (C++/Delphi/PHP) также возможно, но требуется научится читать, изменять и писать файлы офиса — встраивать в документы не получится. А интерфейсы Microsoft работают через COM. Чтобы вы поняли весь ужас, вот Hello World с использованием COM.
Поэтому, увы, будем учить Visual Basic.
Чуть-чуть подготовки и постановка задачи
Итак, поехали. Открываем Excel.
Для начала давайте добавим в Ribbon панель «Разработчик». В ней находятся кнопки, текстовые поля и пр. элементы для конструирования форм.
Появилась вкладка.
Теперь давайте подумаем, на каком примере мы будем изучать VBA. Недавно мне потребовалось красиво оформить прайс-лист, выглядевший, как таблица. Идём в гугл, набираем «прайс-лист» и качаем любой, который оформлен примерно так (не сочтите за рекламу, пожалуйста):
То есть требуется, чтобы было как минимум две группы, по которым можно объединить товары (в нашем случае это будут Тип и Производитель — в таком порядке). Для того, чтобы предложенный мною алгоритм работал корректно, отсортируйте товары так, чтобы товары из одной группы стояли подряд (сначала по Типу, потом по Производителю).
Результат, которого хотим добиться, выглядит примерно так:
Разумеется, если смотреть прайс только на компьютере, то можно добавить фильтры и будет гораздо удобнее искать нужный товар. Однако мы хотим научится кодить и задача вполне подходящая, не так ли?
Кодим
Для начала требуется создать кнопку, при нажатии на которую будет вызываться наша програма. Кнопки находятся в панели «Разработчик» и появляются по кнопке «Вставить». Вам нужен компонент формы «Кнопка». Нажали, поставили на любое место в листе. Далее, если не появилось окно назначения макроса, надо нажать правой кнопкой и выбрать пункт «Назначить макрос». Назовём его FormatPrice. Важно, чтобы перед именем макроса ничего не было — иначе он создастся в отдельном модуле, а не в пространстве имен книги. В этому случае вам будет недоступно быстрое обращение к выделенному листу. Нажимаем кнопку «Новый».
И вот мы в среде разработки VB. Также её можно вызвать из контекстного меню командой «Исходный текст»/«View code».
Перед вами окно с заглушкой процедуры. Можете его развернуть. Код должен выглядеть примерно так:
Sub FormatPrice()End Sub
Напишем Hello World:
Sub FormatPrice()
MsgBox "Hello World!"
End Sub
И запустим либо щелкнув по кнопке (предварительно сняв с неё выделение), либо клавишей F5 прямо из редактора.
Тут, пожалуй, следует отвлечься на небольшой ликбез по поводу синтаксиса VB. Кто его знает — может смело пропустить этот раздел до конца. Основное отличие Visual Basic от Pascal/C/Java в том, что команды разделяются не ;, а переносом строки или двоеточием (:), если очень хочется написать несколько команд в одну строку. Чтобы понять основные правила синтаксиса, приведу абстрактный код.
Примеры синтаксиса
' Процедура. Ничего не возвращает
' Перегрузка в VBA отсутствует
Sub foo(a As String, b As String)
' Exit Sub ' Это значит "выйти из процедуры"
MsgBox a + ";" + b
End Sub' Функция. Вовращает Integer
Function LengthSqr(x As Integer, y As Integer) As Integer
' Exit Function
LengthSqr = x * x + y * y
End FunctionSub FormatPrice()
Dim s1 As String, s2 As String
s1 = "str1"
s2 = "str2"
If s1 <> s2 Then
foo "123", "456" ' Скобки при вызове процедур запрещены
End IfDim res As sTRING ' Регистр в VB не важен. Впрочем, редактор Вас поправит
Dim i As Integer
' Цикл всегда состоит из нескольких строк
For i = 1 To 10
res = res + CStr(i) ' Конвертация чего угодно в String
If i = 5 Then Exit For
Next iDim x As Double
x = Val("1.234") ' Парсинг чисел
x = x + 10
MsgBox xOn Error Resume Next ' Обработка ошибок - игнорировать все ошибки
x = 5 / 0
MsgBox xOn Error GoTo Err ' При ошибке перейти к метке Err
x = 5 / 0
MsgBox "OK!"
GoTo ne
Err:
MsgBox
"Err!"
ne:
On Error GoTo 0 ' Отключаем обработку ошибок
' Циклы бывает, какие захотите
Do While True
Exit DoLoop 'While True
Do 'Until False
Exit Do
Loop Until False
' А вот при вызове функций, от которых хотим получить значение, скобки нужны.
' Val также умеет возвращать Integer
Select Case LengthSqr(Len("abc"), Val("4"))
Case 24
MsgBox "0"
Case 25
MsgBox "1"
Case 26
MsgBox "2"
End Select' Двухмерный массив.
' Можно также менять размеры командой ReDim (Preserve) - см. google
Dim arr(1 to 10, 5 to 6) As Integer
arr(1, 6) = 8Dim coll As New Collection
Dim coll2 As Collection
coll.Add "item", "key"
Set coll2 = coll ' Все присваивания объектов должны производится командой Set
MsgBox coll2("key")
Set coll2 = New Collection
MsgBox coll2.Count
End Sub
Грабли-1. При копировании кода из IDE (в английском Excel) есь текст конвертируется в 1252 Latin-1. Поэтому, если хотите сохранить русские комментарии — надо сохранить крокозябры как Latin-1, а потом открыть в 1251.
Грабли-2. Т.к. VB позволяет использовать необъявленные переменные, я всегда в начале кода (перед всеми процедурами) ставлю строчку Option Explicit. Эта директива запрещает интерпретатору заводить переменные самостоятельно.
Грабли-3. Глобальные переменные можно объявлять только до первой функции/процедуры. Локальные — в любом месте процедуры/функции.
Еще немного дополнительных функций, которые могут пригодится: InPos, Mid, Trim, LBound, UBound. Также ответы на все вопросы по поводу работы функций/их параметров можно получить в MSDN.
Надеюсь, что этого Вам хватит, чтобы не пугаться кода и самостоятельно написать какое-нибудь домашнее задание по информатике. По ходу поста я буду ненавязчиво знакомить Вас с новыми конструкциями.
Кодим много и под Excel
В этой части мы уже начнём кодить нечто, что умеет работать с нашими листами в Excel. Для начала создадим отдельный лист с именем result (лист с данными назовём data). Теперь, наверное, нужно этот лист очистить от того, что на нём есть. Также мы «выделим» лист с данными, чтобы каждый раз не писать длинное обращение к массиву с листами.
Sub FormatPrice()
Sheets("result").Cells.Clear
Sheets("data").Activate
End Sub
Работа с диапазонами ячеек
Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.
Примеры работы с Range
Sheets("result").Activate
Dim r As Range
Set r = Range("A1")
r.Value = "123"
Set r = Range("A3,A5")
r.Font.Color = vbRed
r.Value = "456"
Set r = Range("A6:A7")
r.Value = "=A1+A3"
Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:
- Считали группы из очередной строки.
- Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
- Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
- После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.
Для упрощения работы рекомендую определить следующие функции-сокращения:
Function GetCol(Col As Integer) As String
GetCol = Chr(Asc("A") + Col)
End FunctionFunction GetCellS(Sheet As String, Col As Integer, Row As Integer) As Range
Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
End FunctionFunction GetCell(Col As Integer, Row As Integer) As Range
Set GetCell = Range(GetCol(Col) + CStr(Row))
End Function
Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».
Глобальные переменные
Option Explicit ' про эту строчку я уже рассказывал
Dim CurRow As Integer
Const GroupsCount As Integer = 2
Const DataCount As Integer = 3
FormatPrice
Sub FormatPrice()
Dim I As Integer ' строка в data
CurRow = 1
Dim Groups(1 To GroupsCount) As String
Dim PrGroups(1 To GroupsCount) As String
Sheets(
"data").Activate
I = 2
Do While True
If GetCell(0, I).Value = "" Then Exit Do
' ...
I = I + 1
Loop
End Sub
Теперь надо заполнить массив Groups:
На месте многоточия
Dim I2 As Integer
For I2 = 1 To GroupsCount
Groups(I2) = GetCell(I2, I)
Next I2
' ...
For I2 = 1 To GroupsCount ' VB не умеет копировать массивы
PrGroups(I2) = Groups(I2)
Next I2
I = I + 1
И создать заголовки:
На месте многоточия в предыдущем куске
For I2 = 1 To GroupsCount
If Groups(I2) <> PrGroups(I2) Then
Dim I3 As Integer
For I3 = I2 To GroupsCount
AddHeader I3, Groups(I3)
Next I3
Exit For
End If
Next I2
Не забудем про процедуру AddHeader:
Перед FormatPrice
Sub AddHeader(Ty As Integer, Name As String)
GetCellS("result", 1, CurRow).Value = Name
CurRow = CurRow + 1
End Sub
Теперь надо перенести всякую информацию в result
For I2 = 0 To DataCount - 1
GetCellS("result", I2, CurRow).Value = GetCell(I2, I)
Next I2
Подогнать столбцы по ширине и выбрать лист result для показа результата
После цикла в конце FormatPrice
Sheets("Result").Activate
Columns.AutoFit
Всё. Можно любоваться первой версией.
Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:
Sub AddHeader(Ty As Integer, Name As String)
Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow)).Merge
' Чтобы не заводить переменную и не писать каждый раз длинный вызов
' можно воспользоваться блоком With
With GetCellS("result", 0, CurRow)
.Value = Name
.Font.Italic = True
.Font.Name = "Cambria"
Select Case Ty
Case 1 ' Тип
.Font.Bold = True
.Font.Size = 16
Case 2 ' Производитель
.Font.Size = 12
End Select
.HorizontalAlignment = xlCenter
End With
CurRow = CurRow + 1
End Sub
Уже лучше:
Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:
Поэтому чуть-чуть меняем код с добавлением стиля границ:
Sub AddHeader(Ty As Integer, Name As String)
With Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow))
.Merge
.Value = Name
.Font.Italic = True
.Font.Name = "Cambria"
.HorizontalAlignment = xlCenterSelect Case Ty
Case 1 ' Тип
.Font.Bold = True
.Font.Size = 16
.Borders(xlTop).Weight = xlThick
Case 2 ' Производитель
.Font.Size = 12
.Borders(xlTop).Weight = xlMedium
End Select
.Borders(xlBottom).Weight = xlMedium ' По убыванию: xlThick, xlMedium, xlThin, xlHairline
End With
CurRow = CurRow + 1
End Sub
Осталось лишь добится пропусков перед началом новой группы. Это легко:
В начале FormatPrice
Dim I As Integer ' строка в data
CurRow = 0 ' чтобы не было пропуска в самом начале
Dim Groups(1 To GroupsCount) As String
В цикле расстановки заголовков
If Groups(I2) <> PrGroups(I2) Then
CurRow = CurRow + 1
Dim I3 As Integer
В точности то, что и хотели.
Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки «ID, Название, Цена» в результат. Подсказка: CurRow = 0 CurRow = 1.
Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.
Спасибо за внимание.
Буду рад конструктивной критике в комментариях.
UPD: Перезалил пример на Dropbox и min.us.
UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.
Слайд 1
Microsoft Office Excel 2007-2010
Попытка формализации личного опыта
Слайд 2
Первичная обработка данных – Excel
Основные решаемые задачи:
Хранение данных;
Поиск
и устранение ошибок;
Сортировка, группировка;
Расчеты;
Визуализация.
Слайд 3
Не жалейте время на изучение учебников
Слайд 4
Не жалейте время на изучение учебников
Слайд 5
Всегда есть «Справка: Excel»!
Слайд 6
Электронная таблица, рабочий лист, рабочая книга
Перед существенным изменением
данных необходимо всегда делать их копии в новых файлах
или на новых листах!
Необходимо комментировать эти изменения, делая соответствующие
записи или на отдельном листе или в комментариях!
Не надо начинать имена листов с цифр, не надо делать эти имена громоздкими и не надо делать в них пробелов, заменяя их «_»;
Надо всегда нумеровать строки, например, используя автозаполнение, для возможности восстановления первоначального порядка записей.
Давать понятное наименование столбцам – желательно в одну строку.
Использовать команду «Вид→Окно→Закрепить область» для предотвращения прокрутки заголовков таблиц.
Использовать разумное форматирование и представление числовых и текстовых форматов для удобства чтения и проверки данных.
Слайд 7
ВНИМАНИЕ: ФОРМАТ!
Для корректного взаимодействия со STATISTICA 6.0 желательно
сохранять рабочие книги Excel в формате Excel-2003: «*.xls».
Слайд 8
Первые 10 способов очистки данных
«Слова с ошибками, пробелы
в конце строки, ненужные префиксы, ошибочные случаи и непечатаемые
знаки производят плохое впечатление» и снижают эффективность работы.
Основы очистки данных
Проверка
орфографии
Удаление повторяющихся строк
Поиск и замена текста
Изменение регистра знаков текста
Удаление знаков пробелов и непечатаемых знаков из текста
Исправление чисел и знаков чисел
Исправление даты и времени
Объединение и разделение столбцов
Трансформация и перестройка столбцов и строк
Сверка данных таблицы путем объединения или сопоставления
Слайд 9
Первые 10 способов очистки данных
Слайд 10
Другие пути проверки данных
Использование команд «Главная→Редактирование→Сортировка и Фильтр».
Условия фильтров и для числовых и для текстовых данных
НАСТРАИВАЮТСЯ!
Использование команд «Данные→Работа с данными→Проверка данных».
Использование команд «Главная→Редактирование→Формулы →
Проверка свойств и значений».
Нахождение и форматирование искомых значений в ячейках и пустых ячеек. Использование глобальных поиска и замен.
Использование примечаний.
Использование специальных параметров вставки (формулы, форматы, значения, транспонирование, операции с числами).
Нахождение чисел, записанных как текст, путем манипуляции с форматом представления числовых данных.
Поиск максимальных и минимальных значений в блоках.
Слайд 11
Ссылки на ячейки
Относительные (обычные: А1 или В4).
Абсолютные ($A$2
– абсолютная ссылка на ячейку; $A1 — координата столбца
абсолютная, строки – относительная; A$1 — координата столбца относительная, а
строки – абсолютная).
Вместо ссылок на конкретные ячейки возможна ссылка на «Имена». Имена могут быть у констант, отдельных ячеек и блоков ячеек.
Слайд 12
Формулы, функции
Формулы могут состоять не только из арифметических
операторов и адресов ячеек. Часто в вычислениях приходится использовать
формулы, содержащие функции.
Электронные таблицы имеют несколько сотен встроенных функций,
которые подразделяются на категории: Математические, Статистические, Финансовые, Дата и время и др.
Функции можно редактировать прямо в ячейке или в строке формул или копировать их части, предварительно написав эти части в отдельных ячейках.
Слайд 13
Кнопка
«функции»
Стандартные функции
Строка формул
Вкладка «Мастер функций»
Вкладка
«ФОРМУЛЫ»
Слайд 14
Синтаксис функций
Написание функции начинается с «=» или с
«+», но последнее не всегда;
При написании функций как в
ячейке, так и в строке функций появляются подсказки;
Аргументом большинства простых
функций являются ссылки на отдельные ячейки или блоки ячеек, для указания которых кроме мыши можно использовать «Ctrl», «Shift» и др. клавиши.
Аргументы многих функций могут быть сложными и содержать другие функции – т.н. «вложенные» формулы.
Слайд 15
Математические и статистические функции (1)
Слайд 16
Математические и статистические функции (2)
Слайд 19
Новые f: логические и математические
Слайд 20
Сводные таблицы – эффективный инструмент подведения промежуточных итогов
анализа данных
ЛАБОРАТОРНАЯ ПО EXCEL 2007 ОБРАБОТКА ДАННЫХ СРЕДСТВАМИ ЭЛЕКТРОННЫХ ТАБЛИЦ Раздел № 2 Подготовка и форматирование прейскуранта
Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls.
Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls .
Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls
Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls
Выберите щелчком на ярлычке неиспользуемый рабочий лист(Лист 1). Дважды щелкните на ярлычке нового листа и переименуйте его как Прейскурант.
В ячейку А 1 введите текст Прейскурант и нажмите клавишу ENTER.
В ячейку А 2 введите текст Курс пересчета и нажмите клавишу ENTER.
В ячейку В 2 введите текст 1 у. е. = и нажмите клавишу ENTER
В ячейку C 2 введите текущий курс пересчета и нажмите клавишу ENTER.
В ячейку A 3 введите текст Наименование товара и нажмите клавишу ENTER. В ячейку ВЗ введите текст Цена (у. е. ) и нажмите клавишу ENTER. В ячейку СЗ введите текст Цена (руб. ) и нажмите клавишу ENTER.
В последующие ячейки столбца А введите названия товаров (15 товаров как минимум) , включенных в прейскурант.
В ячейки столбца В введите цены товаров в условных единицах.
В ячейку С 4 введите формулу: =B 4*$C$2, которая используется для пересчета цены из условных единиц в рубли и нажмите ENTER
Методом автозаполнения скопируйте формулы во все ячейки столбца C, которым соответствуют заполненные ячейки столбцов А и В.
Измените курс пересчета в ячейке С 2 (текущий курс + 1). Обратите внимание, что все цены в рублях при этом обновляются автоматически.
Выделите методом протягивания диапазон А 1: С 1 и дайте команду «Формат» Ячейки. На вкладке Выравнивание задайте выравнивание по горизонтали По центру и установите флажок Объединение ячеек.
На вкладке Шрифт задайте размер шрифта в 14 пунктов и в списке Начертание выберите вариант Полужирный. Щелкните на кнопке ОК.
Щелкните правой кнопкой мыши на ячейке В 2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По правому краю и щелкните на кнопке ОК.
Щелкните правой кнопкой мыши на ячейке С 2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По левому краю и щелкните на кнопке ОК.
Выделите методом протягивания диапазон В 2: С 2. Щелкните правой кнопкой на ячейке. Появится раскрывающийся список щелкните по кнопке рядом с кнопкой Границы на панели инструментов Форматирование и задайте для этих ячеек широкую внешнюю рамку (кнопка в правом нижнем углу открывшейся палитры)
Дважды щелкните на границе между заголовками столбцов А и В, В и С, С и D. Обратите внимание, как при этом изменяется ширина столбцов А, В и С.
Сохраните рабочую книгу kniga. Z. xls.
Конец
Финансы в Excel
- Подробности
- Создано 13 Июль 2011
Содержание |
---|
Описание примеров |
Применение метода |
Суммирование по одному ключевому полю |
Суммирование по нескольким критериям |
Поиск по одному критерию |
Поиск по нескольким критериям |
Выборка по одному критерию |
Выборка вариантов |
Заключение |
Одним из самых популярных методов использования электронных таблиц является обработка данных, полученных из учетных систем. Современные базы данных, используемые учетными системами в качестве хранилища информации, способны накапливать и обрабатывать в собственных структурах десятки, а иногда сотни тысяч информационных записей в день. Средства анализа в системах управления базами данных реализуются либо на программном уровне, либо через специальные интерфейсы и языки запросов. Электронные таблицы позволяют эффективно обработать данные без знания языков программирования и других технических средств.
Методы переноса данных в Excel могут быть различны:
- Копирование-вставка результатов запросов
- Использование стандартных процедур импорта (например, Microsoft Query) для формирования данных на рабочих листах
- Использование программных средств для доступа к базам данных с последующим переносом информации в диапазоны ячеек
- Непосредственный доступ к данным без копирования информации на рабочие листы
- Подключение к OLAP-кубам
Данные, полученные из учетных систем, обычно характеризуются большим объемом – количество строк может составлять десятки тысяч, количество столбцов при этом часто невелико, так как языки запросов к базам данным сами имеют ограничение на одновременно выводимое количество полей.
Обработка этих данных в Excel может вестись различными методами. Выделим основные способы работы:
- Обработка данных стандартными средствами интерфейса Excel
- Анализ данных при помощи сводных таблиц и диаграмм
- Консолидация данных при помощи формул рабочего листа
- Выборка данных и заполнение шаблонов для получения отчета
- Программная обработка данных
Правильность выбора способа работы с данными зависит от конкретной задачи. У каждого метода есть свои преимущества и недостатки.
В данной статье будут рассмотрены способы консолидации и выборки данных при помощи стандартных формул Excel.
Описание примеров
Примеры к статье построены на основе демонстрационной базы данных, которую можно скачать с сайта Microsoft
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19704
Выгруженный из этой базы данных набор записей сформирован при помощи Microsoft Query.
Данные не несут специальной смысловой нагрузки и используются только в качества произвольного набора записей, имеющих несколько ключевых полей.
Файл nwdata_sums.xls используется для версий Excel 2000-2003
Файл nwdata_sums.xlsx имеет некоторые отличия и используется для версий Excel 2007-2010.
Первый лист data содержит исходные данные, остальные – примеры различных формул для обработки информации.
Ячейки, окрашенные в серый цвет, содержат служебные формулы. Ячейки желтого цвета содержат ключевые значения, которые могут быть изменены.
Применение метода
Очевидно, самым простым и удобным методом обработки больших объемов данных с точки зрения пользователя являются сводные таблицы. Этот интерфейс специально создавался для подобного рода задач, способен работать с различными источниками данных, поддерживает интерфейсные методы фильтрации, группировки, сортировки, а также автоматической агрегации данных различными способами.
Проблема при консолидации данных при помощи сводных таблиц появляются, если предполагается дальнейшая работа с этими агрегированными данными. Например, сравнить или дополнить данные из двух разных сводных таблиц (как вариант: объемы продаж и прайс листы). В таком случае обычно прибегают к методу копирования значений из сводных таблиц в промежуточные диапазоны с дальнейшим применением формул поиска (VLOOKUP/HLOOKUP). Очевидно, что проблема возникает при обновлении исходных данных (например, при добавлении новых строк) – требуется заново копировать результаты консолидации из сводной таблицы. Другим, с нашей точки зрения, не совсем корректным методом решения является применение функций поиска непосредственно к диапазонам, которые занимают сводные таблицы. Это может привести к неверному поиску при обновлении не только данных, но и внешнего вида сводной таблицы.
Еще один классический пример непригодности применения сводной таблицы – это требование формирования отчета в заранее предопределенном виде («начальство требует в такой форме и никак иначе»). Возможностей настройки сводной таблицы зачастую недостаточно для предоставления произвольной формы. В данном случае пользователи также обычно используют копирование результатов агрегирования в качестве значений.
Самым правильным методом обработки данных в приведенных случаях, с нашей точки зрения, является применение функций рабочего листа для консолидации данных. Этот метод требует иногда больших затрат времени на создание формул, но зато в дальнейшем при изменении исходных данных отчеты будут обновляться автоматически. Файлы примеров показывают различные варианты применения функция рабочего листа для обработки данных.
Суммирование по одному ключевому полю
Таблицы с формулами на листе SUM показывают вариант решения задачи консолидации данных по одному ключевому значению.
Две верхние таблицы на листе демонстрируют возможности стандартной функции SUMIF, которая как раз и предназначена для суммирования с проверкой одного критерия.
SUM!B5
=SUMIF(data!$H:$H;A5;data!$M:$M)
SUM!B11
=SUMIF(data!$Z:$Z;A11;data!$M:$M)
Нижние таблицы показывают возможности другой редко используемой функции DSUM
SUM!B19
=DSUM(data!$A$1:$AJ$2156;"Quantity";D18:D19)
Первый параметр определяет рабочий диапазон данных. Причем верхняя строка диапазона должна содержать заголовки полей. Второй параметр указывает наименование поля (столбца) для суммирования. Третий параметр ссылается на диапазон условий суммирования. Этот диапазон должен состоять как минимум из двух строк, верхняя строка – поле критерия, вторая и последующие — условия.
В другом варианте указания условий именем поля в этом диапазоне можно пренебречь, задав его прямо в тексте условия:
SUM!B28
=DSUM(data!$A$1:$AJ$2156;"Quantity";D27:D28)
SUM!D28
Здесь data!Z2 означает ссылку на текущую строку данных, а не на конкретную ячейку, так как используется относительная ссылка. К сожалению, нельзя указать в третьем параметры ссылку на одну ячейку – строка заголовка полей все равно требуется, хотя и может быть пустой.
В принципе, функции типа DSUM являются устаревшим методом работы с данными, в подавляющем большинстве случаев лучше использовать SUMIF, SUMPRODUCT или формулы обработки массивов. Но иногда их применение может дать хороший результат, например, при совместном использовании с интерфейсной возможностью «расширенный фильтр» – в обоих случаях используется одинаковое описание условий через дополнительные диапазоны.
Суммирование по нескольким критериям
Таблицы с формулами на листе SUM2 показывают вариант суммирования по нескольким критериям.
Первый вариант решения использует дополнительно подготовленный столбец обработанных исходных данных. В реальных задачах логичнее добавлять такой столбец с формулами непосредственно на лист данных.
SUM!D5
=SUMIF(A:A;B5 & ";" & C5;data!M:M)
Операция «&» используется для соединения строк. Можно также вместо этого оператора использовать функцию CONCATENATE. Промежуточный символ «;» (или любой другой служебный символ) необходим для обеспечения уникальности сцепленных строковых значений.
Пример: Есть, если два поля с перечнем слов. Пары слов «СТОЛ»-«ОСЬ» и «СТО»-«ЛОСЬ» дают одинаковый ключ «СТОЛОСЬ». Что соответственно даст неверный результат при консолидации данных. При использовании служебного символа комбинации ключей будут уникальны «СТОЛ;ОСЬ» и «СТО;ЛОСЬ», что обеспечит корректность вычислений.
Использовать подобную методику создания уникального ключа можно не только для строковых, но и для числовых целочисленных полей.
Второй пример – это популярный вариант использования функции SUMPRODUCT с проверкой условий в виде логического выражения:
SUM!D13
=SUMPRODUCT((data!$H$2:$H$3000=B13)*(data!$Z$2:$Z$3000=C13)*data!$M$2:$M$3000)
Обрабатываются все ячейки диапазона (data!$M$2:$M$3000), но для тех ячеек, где условия не выполняются, в суммирование попадает нулевое значение (логическая константа FALSE приводится к числу «0»). Такое использование этой функции близко по смыслу к формулам обработки массива, но не требует ввода через Ctrl+Shift+Enter.
Третий пример аналогичен, описанному использованию функций DSUM для листа SUM, но в нем для диапазона условий использовано несколько полей.
SUM!D21
=DSUM(data!$A$1:$AJ$2156;"Quantity";F20:G21)
Четвертый пример – это использование функций обработки массивов.
SUM!D32
{=SUM(IF(data!$H$2:$H$3000=B32;IF(data!$Z$2:$Z$3000=C32;data!$M$2:$M$3000)))}
Обработка массивов является самым гибким вариантом проверки условий. Но имеет очень сложную запись, трудно воспринимается пользователем и работает медленнее стандартных функций.
Пятый пример содержится только в файле формата Excel 2007 (xlsx). Он показывает возможности новой стандартной функции
SUMIFS
SUM!D40
=SUMIFS(data!$M$2:$M$3000;data!$H$2:$H$3000;B40;data!$Z$2:$Z$3000;C40)
Поиск по одному критерию
Таблицы с формулами на листе SEARCH предназначены для поиска по ключевому полю с выборкой другого поля в качестве результата.
Первый вариант – это использование популярной функции VLOOKUP.
SEARCH!B5
=VLOOKUP(A5;data!$H$1:$M$3000;6;0)
Во втором вариант использовать VLOOKUP нельзя, так как результирующее поле находится слева от искомого. В данном случае используется сочетание функций MATCH+OFFSET.
SEARCH!C13
=MATCH(A13;data!$Z$1:$Z$3000;0)
SEARCH!B13
=OFFSET(data!$M$1;C13-1;0)
Первая функция ищет нужную строку, вторая возвращает нужное значение через вычисляемую адресацию.
Поиск по нескольким критериям
Таблицы с формулами на листе SEARCH2 предназначены для поиска по нескольким ключевым полям.
В первом варианте используется техника использования служебного столбца, описанная в примере к листу SUM2:
SEARCH2!Е5
=VLOOKUP(C5 & ";" & D5;$A$1:$B$3000;2;0)
Второй вариант работы сложнее. Используется обработка массива, который образуется при помощи функций вычисляемой адресации:
SEARCH2!Е 12
{=OFFSET(data!$M$1;MATCH(C13 & ";" & D13; data!$H$1:$H$3000 & ";" & data!$Z$1:$Z$3000;0)-1;0)}
Четвертый и пятый параметр в функции OFFSET используется для образования массива и определяет его размерность в строках и столбцах.
Выборка по одному критерию
Таблица на листе SELECT показывает вариант фильтрации данных через формулы.
Предварительно определяется количество строк в выборке:
SELECT!С4
=COUNTIF(data!$H:$H;$A$5)
Служебный столбец содержит формулы для определения номеров строк для фильтра. Первая строка ищется через простую функцию:
SELECT!С5
=MATCH($A$5;data!$H$1:$H$3000;0)
Вторая и последующие строки ищутся в вычисляемом диапазоне с отступом от предыдущей найденной строки:
SELECT!С6
=MATCH($A$5;OFFSET(data!$H$1;C5;0; ROWS(data!$H$1:$H$3000)-C5;1);0)+C5
Результат выдается через функцию вычисляемой адресации:
SELECT!B6
=IF(ISNA(C6);"";OFFSET(data!$M$1;C6-1;0))
Вместо функции проверки наличия ошибки ISNA можно сравнивать текущую строку с максимальным количеством, так как это сделано в столбце A.
Для организации выборок при помощи формул необходимо знать максимально возможное количество строк в фильтре, чтобы создать в них формулы.
Выборка вариантов
Самый сложный вариант выборки по ключевому полю представлен на листе SELECT2. Формулы сами определяют все доступные ключевые значения второго критерия.
Первый служебный столбец содержит сцепленные строки ключевых полей. Второй столбец проверяет соответствие первому ключу и оставляет значение второго ключевого поля:
SELECT2!B2
=IF(LEFT(A2;LEN($D$5)) & ";" = $D$5 & ";"; data!Z2;"")
Третий служебный столбец проверяет значение второго ключа на уникальность:
SELECT2!C2
=IF(B2="";0;IF(ISNA(MATCH(B2;B$1:B1;0));COUNTIF(C$1:C1;">0")+1;0))
Результирующий столбец второго ключа ProductName ищет уникальные значения в служебном столбце C:
SELECT2!E5
=IF(ISNA(MATCH(ROWS($5:5);$C$1:$C$3000;0));"";OFFSET($B$1;MATCH(ROWS($5:5);$C$1:$C$3000;0)-1;0))
Столбец Quantity просто суммирует данные по двум критериям, используя технику, описанную на листе SUM2.
SELECT2!F5
=IF(E5="";"";SUMPRODUCT((data!$H$2:$H$3000=D5)*(data!$Z$2:$Z$3000=E5)*data!$M$2:$M$3000))
Заключение
Использование функций рабочего листа для консолидации и выборки данных является эффективным методом построения отчетов с обновляемым источником исходных данных. Недостатками этого метода являются повышенные требования к пользователю в части создания сложных формул, а также низкая производительность в сравнении, например, со сводными таблицами. Последний недостаток зависит от объема исходных данных, сложности формул консолидации и технических возможностей компьютера. В критических случаях рекомендуется использовать ручной режим пересчета формул рабочей книги Excel.
Смотри также
» Работа с ненормализированными данными
В приложении к статье файл с простой задачей суммирования диапазона по различным условиям. Как ни странно, подобные задачи…
» Простые формулы
В приложенном файле несколько примеров использования простых функций Excel нестандартным способом.
» Обработка больших объемов данных. Часть 3. Сводные таблицы
Третья статья, посвященная обработке больших объемов данных с помощью Excel, описывает преимущества использования сводных таблиц….
» Обработка больших объемов данных. Часть 2. Интерфейс
В статье систематизируются простые приемы обработки больших объемов данных при помощи стандартных методов интерфейса Excel. Информация…
» Суммирование несвязанных диапазонов
При обработке больших таблиц иногда возникает потребность получить итоговые значения на основе данных, расположенных в диапазонах…