Обработка данных excel 2007

hello_html_39e0dd96.png

Основы обработки информации в Excel 2007

электронное учебное пособие

Составитель Долганева Е.И.

Оглавление

  1. Интерфейс Microsoft Excel 2007

    1. Изучение пользовательского интерфейса Microsoft Excel 2007.

Главный элемент пользовательского интерфейса Microsoft Excel 2007 представляет собой ленту, которая идет вдоль верхней части окна каждого приложения. Лента состоит из вкладок, организованных вокруг отдельных сценариев или объектов. По умолчанию в окне отображается семь постоянных вкладок: Главная, Вставка, Разметка страницы, Формулы, Данные, Рецензирование, Вид. Для перехода к нужной вкладке достаточно щелкнуть по ее названию.

hello_html_e3d65aa.gif

1.1. Лента и ее основные вкладки.

Каждая вкладка связана с видом выполняемого действия. Например, вкладка Главная, которая открывается по умолчанию после запуска, содержит элементы, которые могут понадобиться на начальном этапе работы, когда необходимо набрать, отредактировать и отформатировать текст. Вкладка Разметка страницы предназначена для установки параметров страниц документов. Вкладка Вставка предназначена для вставки в документы различных объектов, и так далее. Кроме того, можно отобразить еще одну вкладку Разработчик, где собраны средства создания макросов и форм, а также функции для работы с XML.

Помимо постоянных, имеется целый ряд контекстных вкладок, например, для работы с таблицами, рисунками, диаграммами и т.п., которые появляются автоматически при переходе в соответствующий режим или при выделении объекта или установке на него курсора.

hello_html_m69803212.png

Рис. 1.2. Контекстная вкладка для работы с диаграммами.

Кнопка Microsoft Office hello_html_1df55840.png –расположена в левом верхнем углу окна приложения Excel. При нажатии кнопки отображается меню основных команд для работы с файлами (команды для создания, открытия, сохранения и печати файла), список последних документов, а также команда для настройки параметров приложения (Параметры Excel).

hello_html_m2be80028.png

Рис. 1.3. Меню основных команд для работы с файлами.

Панель быстрого доступа по умолчанию расположена в верхней части окна, она позволяет получить быстрый доступ к часто используемым функциям. По умолчанию панель содержит всего три кнопки: Сохранить, Отменить, Вернуть (Повторить). Панель быстрого доступа можно на- страивать, добавляя в нее новые элементы или удаляя существующие.

Рис. 1.4. Панель быстрого доступа.

Для добавления на панель любого элемента из любой вкладки можно также щелкнуть по этому элементу правой кнопкой мыши и в контекстном меню выбрать команду Добавить на панель быстрого доступа.

Для удаления элемента из панели достаточно щелкнуть по нему правой кнопкой мыши и в контекстном меню выбрать команду Удалить с панели быстрого доступа.

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

hello_html_m5a79be96.png

Рис. 1.5. Пример открытия диалогового окна.

Стартовое окно программы Microsoft Excel 2007 содержит три пустых листа рабочей книги. Листы можно добавлять в книгу и удалять. Максимальное количество листов не ограничено, минимальное один лист.

Выбрать режим просмотра листа можно при работе в любой вкладке Excel 2007. Ярлыки выбора основных режимов просмотра книги расположены в правой части строки состояния (рис.1.6). Если ярлыки не отображаются, щелкните правой кнопкой мыши в любом месте строки состояния и в появившемся контекстном меню выберите команду Ярлыки режимов просмотра листа.

hello_html_m60d35482.png

Рис.1.6. Выбор режима просмотра листа.

По умолчанию для вновь создаваемых документов установлен режим просмотра Обычный. Этот режим используется для выполнения боль- шинства задач Microsoft Excel таких, как ввод и обработка данных, форма- тирование данных и ячеек, вычисления, построение диаграмм и т. д.

Режим Разметка страницы позволяет изменять данные и при этом видеть их так, как они будут напечатаны на бумаге. В этом режиме обычно создают и оформляют колонтитулы.

В режиме Страничный в окне отображается только собственно сама таблица. Остальные ячейки листа не отображаются. Зато отображены границы страниц. Перетаскиванием этих границ можно изменять порядок разделения таблицы между страницами при печати. Кроме того, только в этом режиме можно эффективно работать с разрывами страниц.

Во вкладке Вид в группе Режимы просмотра книги можно выбрать еще один режим просмотра Во весь экран. Этот режим обеспечивает скрытие большинства элементов окна для увеличения видимой части документа.

Задание 1.

1. Запустите Microsoft Excel 2007.

2. Сверните ленту с использованием Панели быстрого доступа.

3. Разверните ленту двойным щелчком по названию вкладки Главная.

4. Сверните и разверните ленту с использованием комбинации клавиш

Ctrl + F1.

5. Добавьте в Панель быстрого доступа кнопку Открыть.

6. Из вкладки Вставка (группа Диаграммы) добавьте в Панель быстрого доступа кнопку Гистограмма.

7. Поочередно перейдите во вкладки Главная, Вставка, Разметка страницы, Формулы, Данные, Рецензирование, Вид, посмотрите группы внутри каждой вкладки.

8. Во вкладке Главная в группе Шрифт нажмите кнопку Полужирный (Ж). Убедитесь, что кнопка осталась нажатой.

9. Во вкладке Главная в группе Шрифт щелкните по стрелке кнопки Заливка и выберите красный цвет. Убедитесь, что для выделенной ячейки установлена заливка красным цветом.

10.Во вкладке Главная в группе Шрифт в раскрывающемся списке Размер шрифта выберите размер 26. Убедитесь, что высота выделенной ячейки увеличилась.

11.Во вкладке Главная в группе Стили щелкните по кнопке Стили ячеек и выберите стиль Хороший. Убедитесь, что оформление выделенной ячейки изменилось.

12.Во вкладке Главная отобразите диалоговое окно группы Шрифт.

Закройте диалоговое окно Шрифт.

13.Во вкладке Главная отобразите всплывающую подсказку для кнопки Перенос текста hello_html_1b92da1c.png.

    1. Ввод и редактирование данных.

Данные можно вводить непосредственно в ячейку или в строку формул.

1. Выделите ячейку.

2. Введите данные с клавиатуры непосредственно в ячейку или в строку формул.

3. Подтвердите ввод. Подтвердить ввод можно одним из трех способов: нажать клавишу Enter или Tab; нажать кнопку Ввод (галочка) в строке формул (рис. 1.7).

hello_html_32ee1232.png

Рис. 1.7. Ввод данных с клавиатуры

Автозаполнение можно использовать для ввода в смежные ячейки одного столбца или одной строки последовательных рядов календарных данных (даты, дни недели, месяцы), времени, чисел, комбинаций текста и чисел. Кроме того, можно создать собственный список автозаполнения.

1. В первую из заполняемых ячеек введите начальное значение ряда.

2. Выделите ячейку.

3. Наведите указатель мыши на маркер автозаполнения (маленький черный квадрат в правом нижнем углу выделенной ячейки). Указатель мыши при наведении на маркер принимает вид черного креста.

4. При нажатой левой кнопке мыши перетащите маркер автозаполнения в сторону изменения значений. При перетаскивании вправо или вниз значения будут увеличиваться (рис.1.8. рис. 1.9.), при перетаскивании влево или вверх уменьшаться.

hello_html_10d96772.png

Рис. 1.8. Автозаполнение по столбцу с возрастанием.

hello_html_4abef298.png

Рис. 1.9 Автозаполнение по строке с возрастанием.

По окончании перетаскивания рядом с правым нижним углом заполненной области появляется кнопка Параметры автозаполнения (рис. 1.10)hello_html_m62dd7a7d.png Рис. 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. Автозаполнения ячеек.
hello_html_m749c5e40.jpg

  1. В ячейку Е9 введите слово «Среда». Выделите ячейку. Укажите мышью на маркер автозаполнения. Нажмите левую клавишу мыши и, удерживая ее нажатой, переместите мышь на 5 строк вниз.

  2. Снова выделите ячейку Е9 и протащите ее за маркер на 5 столбцов вправо.

  3. Проанализируйте результаты и очистите лист 1-й способ: Выделите всю таблицу целиком, щелкнув по пустой кнопке, и Правка – Очистить. 2-й способ: Выделите всю таблицу целиком и нажмите клавише Delete (Del). hello_html_22541f55.jpg

  4. В ячейку Е9 введите число 1.

  5. В ячейку Е10 введите число 2.

  6. В ячейку F9 введите число 3.

  7. Выделите блок (диапазон) ячеек: E9:E10 и протащите его за маркер вначале вниз.

  8. Снова выделите блок E9:E10 и протащите его за маркер вверх.

  9. Выделите блок ячеек E9:F9 и протащите его за маркер вправо.

  10. Выделите еще раз блок ячеек E9:F9 и протащите его за маркер влево.

  11. Проанализируйте результаты и очистите лист.

  12. В ячейку Е5 введите число 25.

  13. В ячейку F5 введите число 50 и протащите блок ячеек Е5:F5 за маркер на несколько столбцов вправо.

  14. В ячейку Е1 введите «Январь».

  15. Выделите ячейку E1 и протащите ее маркером на 5 столбцов вправо.

  16. Снова выделите ячейку Е1 и протащите ее маркером до конца листа влево.

  17. Выделите всю первую строку и протащите ее маркером, стоящим слева, на 10 строк вниз.

  18. Проанализируйте результаты работы.

Вопросы для закрепления:

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

  2. Как выглядит указатель мыши в процессе автозаполнения ячеек?

  3. Что такое смарт-тег? Найдите ответ в справочной системе к программе 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

Ключ к выполнению задания:
Чтобы поместить заголовок Февраль необходимо ячейки объединить используя кнопку на
Стандартной панели инструментов hello_html_m1651f66f.jpgОбъединить и поместить в центре.

  1. Создание и форматирование таблиц .

Существует два способа организации данных на листе: таблица и список. При организации данных в виде таблицы формируются строки и столбцы с записями, для которых в ячейку на пересечении строки и столбца помещаются данные (рис.2.1).

hello_html_5b2ae255.png

Рис. 2.1. Табличный способ организации данных.

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

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

Создание и форматирование таблицы:

Таблица обычно создается на основе имеющихся на листе данных.

1. Выделите любую ячейку в диапазоне данных.

2. Нажмите кнопку Форматировать как таблицу в группе Стили

вкладки Главная и выберите стиль оформления.

3. В поле окна Форматирование таблицы будет автоматически указан диапазон данных, который преобразуется в таблицу. При необходимости можно очистить поле и на листе выделить другой диапазон ячеек с данными, которые оформляются в виде таблицы. Нажмите кнопку ОК.

В результате будет создана таблица. В каждый столбец автоматически добавляется значок автофильтра. Автоматически будет отображена контекстная вкладка Работа с таблицами/Конструктор (рис.2.2.).

hello_html_m751057e7.png

Рис. 2.2. Контекстная вкладка Работа с таблицами/Конструктор.

Функции вставки ячейки, строки, столбца или листа доступны в меню кнопки «Вставить», которая расположена в группе «Ячейки» на вкладке «Главная».

hello_html_7631c6e4.png

Рис. 2.3. Меню кнопки Вставить.

Для форматирования ячеек, после их выделения, используют вкладки диалогового окна Формат ячеек, а также элементы группы Шрифт вкладки Главная, минипанель инструментов.

,

Рис. 2.4. Минипанель инструментов для форматирования.

При необходимости можно выполнить обрамление таблицы, предварительно ее выделив и нажав кнопку hello_html_m2d9292cd.png, для выделенного диапазона ячеек используя соответствующие вкладки, можно установить выравнивание, шрифт, границы и т. Ширину столбца можно изменить, перетащив его правую границу между заголовками столбцов, при этом во всплывающей подсказке отображается устанавливаемая ширина столбца (в знаках и пикселях).

Для форматирования заголовка таблицы нужно выделить все ячейки строки с заголовком поширине таблицы и нажать кнопку Объединить, помещенную на вкладке Главная в группе Выравнивание.

hello_html_27ebd1bb.png

Рис. 2.5. Элементы группы Выравнивание на вкладке Главная.

Задание 4 . Ввод и форматирование информации

hello_html_m6da77c78.jpg

  1. Подготовим область для будущей таблицы:

          в рабочем поле Листа 1 выделить мышкой область A1:L12 (12 строк и

            12 столбцов);

        — выставим границы: панель Форматирования — кнопка Границы – в            раскрывающемся списке взять Все границы

        — расширим первый столбец: поставить курсор на строку с названиями граф,  между А и В так, чтобы появился крестик hello_html_m2d88889d.png, мышкой, с нажатой левой   кнопкой, передвинуть границу графы А вправо так, чтобы в вошла самая длинная фамилия ;

        — Уменьшим ширину граф В : L: выделим все графы от С до L (мышкой

  выделить имя графы С, нажить клавишу Shift и щелкнуть по имени графы L), вызовем окно Ширина столбца (Формат-Столбец-Ширина) и поставим размер 2,5;

        — Увеличим высоту строк 2 :12: выделим строки от 3 до 12 (мышкой выделим номер строки 3, нажить клавишу Shift и щелкнуть по номеру строки 12  вызовем окно Высота строки (Формат-Строка-Высота) и поставим  15.

  1. Выделить область А1:В2 и объединить ячейки, нажав кнопку hello_html_c735cf.gifна панели форматирования.

  2. В полученную после объединения ячейку вписать слово «Фамилия». Чтобы выровнять слово по центру ячейки вызовем окно Формат ячейки (меню Формат-Ячейки) и на закладке Выравнивание из раскрывающихся списков по горизонтали (по вертикале)   выберем по центру.

  3. Занесем в столбец А, строки 3:12 фамилии.

Скопируем каждую фамилию из графы А в строку 1: выделим ячейку с фамилией из графы А, в контекстном меню (правая кнопка мыши) выберем пункт Копировать, поставить курсор в соответствующую ячейку строки 1, в контекстном меню выбрать пункт Вставить. И так для каждой фамилии.

Поменяем направление текста в строке 1: выделим ячейки С1:L1, вызовем окно Формат ячейки, закладка Выравнивание (меня Формат — Ячейки) в области Ориентация изменим направление на 90 градусов:

hello_html_43140dbb.png

  1.  Проставим нумерацию участников, используя возможности автозаполнения: в ячейку В3 вводим 1, в ячейку В4 — 2, выделяем мышкой обе ячейки, берем за черный квадратик внизу справа и протягиваем вниз до ячейки В12. Аналогично поступаем с нумерацией в строке 2.

  2. Выделим области с фамилиями и внешнюю границу таблицы жирными линиями или цветом: вызовем окно Формат ячейки, закладка Граница, установим  цвет и тип линии, нажмем на кнопку Внешние;

  3. Изменим заливку областей с нумерацией: выделить мышкой область с номерами в графе В, утопить клавишу Ctrl и выделить область с нумерацией в строке 2, выбрать цвет заливки из раскрывающегося списка Цвет заливкиhello_html_m5c6ac543.gif на панели форматирования.

  4. Добавим заголовок: ставим строку выше строки 1 — поставим курсор в любую ячейку строки 1 — выполним команду Вставка — Строки; объединим ячейки А1:L1 (см.п3), установить выравнивание по центру (см.п4), ввести текст заголовка.

  5. Сохранить документ (команда Файл-Сохранить — выбрать папку для сохранения, ввести имя файла — нажать кнопку Сохранить).

Самостоятельная работа № 2. Форматирование

С/Р Задание 1 На листе 1 при помощи вкладки Число диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу. Цвет текста и заливку ячеек сделать произвольной.

hello_html_3e3cee6c.png

С/Р Задание 2

На листе 2 при помощи вкладки Выравнивание диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу.

hello_html_4841f6e7.pnghello_html_m29f2a4b3.png

С/Р Задание 3

На листе 3 при помощи вкладок Шрифт, Граница и Вид диалога ФорматЯчейки отформатировать ячейки по приведенному ниже образцу.

hello_html_m6db04664.png

С/Р Задание 4

Пользуясь знаниями, полученными на этом занятии, создайте таблицу по указанному образцу и поместите эту новую таблицу на лист с названием «ИТОГОВЫЙ ЛИСТ» (создать нужно собственное расписание по указанному образцу).

hello_html_m22ce4de2.png

Удаление форматирования.

Можно удалить сразу все параметры оформления исловые форматы, параметры выравнивания, параметры шрифта, заливки, границы и т. д.).

hello_html_63eada18.pngВыделите ячейку или диапазон ячеек, для которых удаляется оформление.

hello_html_63eada18.pngВ группе Редактирование вкладки Главная щелкните по кнопке

Очистить и выберите команду Очистить форматы.

hello_html_m2d290ea6.png

Рис.2.6. Элементы группы Редактирование вкладки Главная.

Условное форматирование это выделение ячеек с важной инфор- мацией и нестандартных значений, а также улучшение восприятия данных с помощью гистограмм, шкалы цветов и наборов значков, применяемых согласно некоторым условиям.

С помощью условного форматирования можно выделить значения, отвечающие какому либо условию (больше, меньше, между, равно,). Для этого:

1. Выделите ячейку или диапазон ячеек.

2. Щелкните по кнопке Условное форматирование группы Стили вкладки Главная, в галерее выберите команду Правила выделения ячеек, а затем в подчиненном меню выберите условие (рис. 2.7.)

hello_html_4f7fbb57.png

Рис. 2.7. Выбор правила выделения значений.

3. Настройте параметры условия и выберите способ выделения.

Название и содержание окна настройки параметров условия зависит от выбранного условия. Например, при выборе условия Между можно указать минимальное и максимальное значения, а при выборе условия Дата можно выбрать отношение выделяемых ячеек к сегодняшней дате (Вчера, Сегодня, Завтра, За последние 7 дней и т.д.), а также выбрать способ выделения.

С помощью условного форматирования можно выделить крайние

(максимальные или минимальные) значения:

1. Выделите ячейку или диапазон ячеек.

2. Щелкните по кнопке Условное форматирование группы Стили вкладки Главная, в галерее выберите команду Правила отбора первых и последних значений, а затем в подчиненном меню выберите принцип отбора.

3. Настройте параметры отбора и выберите способ выделения.

Задание 5. Условное форматирование.

hello_html_m18435ed4.gif

  1. Особенности создания данной таблицы:

  • Размещение в одной ячейке текста в две (или более) строк: вызовем окно Формат ячейки (вкладка Формат-Ячейки) и на закладке Выравнивание в области Отображение ставим галочку перенос по словам.

  • Вставка и ориентация автофигур (см. Предмет / Фамилии): на панели рисования (вставить панель — команда Вид — Панели инструментов — Рисование) из раскрывающегося списка АвтофигурыОсновные фигуры берем Прямоугольный треугольник. Переносим курсор в нужное место таблицы и рисуем треугольник на половине ячейки. чтобы вставить надпись, используем контекстное меню (правая кнопка мышки) — пункт Добавить текст — набрать текст. При необходимости можно изменить шрифт, цвет, размер, заливку и п.т. в окне Формат автофигуры (контекстное меню — Формат автофигуры)

  1. Расчет среднего балла по лицеистам: поставить курсор в ячейку, где должен стоять средний балл (например, в строке с фамилией Иванов в графе J); вызываем окно Мастер функций (кнопка Вставка функции hello_html_5d598a90.png), в категории Статистические выбираем функцию СРЗНАЧ (среднее арифметичнское), ОК;  передвинем окно СРЗНАЧ, нажав кнопку мыши на любом месте окна, чтобы оно нем не мешало; в окне СРЗНАЧ ставим курсор в область Число1; выделяем все оценки Иванова; ОК. 

  2. Скопируем полученную формулу в остальные строки: выделить формулу, взять мышкой квадратик внизу справа и потянуть вниз.

  3. Аналогично рассчитывается средний балл по предметам (см.п 3,4).

  4. Выделение цветом заливки различных оценок: выделить всю область с оценками; вызовем диалоговое окно «Условное форматирование» — меню Формат — Условное форматирование; в списке значение выбрать — значение; в списке между выбрать равно; в соседнем окне указать оценку; цвет оценки, заливку ячейки, границы выбирают в окне Формат ячейки, нажав кнопку Формат. Можно задать до трех различных условий (кнопка А также>>).

  5. Количество десятичных знаков в среднем балле можно установить в окне Формат ячейки, закладка Число, в списке Числовые форматы выбираем Числовой и указываем число десятичных знаков, например, 2.

Самостоятельная работа № 3. Условное форматирование

Футбольный турнир. Шесть команд. Каждая играет с каждой. Выигрыш 3 очка, проигрыш 0 очков, ничья 1 очко. Подготовьте таблицу для занесения результатов так. Выигрыш окрашивается в красный цвет, ничья в зеленый, проигрыш в синий цвет. По диагонали крестики. Вы заранее не знаете, как сыграют команды. После того, как состоятся игры, таблица должна выглядеть примерно так:


hello_html_2441e658.gif

  1. Организация вычислений в табличном процессоре MS Excel 2007 (Видеоурок).

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

Для создания формул с функциями обычно используют группу Библиотека функций вкладки Формулы.

hello_html_357de87.png

Рис. 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

hello_html_m37d8c410.png— мастер функций (используется для вызова встроенной функции)

hello_html_3da37298.png

III. 2 Ошибки.

При использовании ссылок и формул возникают ошибки. Например, можно в ячейке а1 написать “=с1”, а в ячейке с1 написать “=а1+1”. Понятно, что так не бывает, Excel выдаст сообщение об ошибке. Но большинство сообщений об ошибках не выдается, а пишется прямо в ячейке. Вот самые распространенные из них:

Ошибка

В чем дело

#ДЕЛ/0!

попытка деления на ноль.

#ЗНАЧ!

недопустимый тип аргумента. Например, вместо числового аргумента используется текстовый.

#ИМЯ?

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

#Н/Д

неопределенные или отсутствующие данные («нет данных»)

#ПУСТО!

в формуле задано перечисление двух интервалов, которые на самом деле не имеют общих ячеек.

#ССЫЛКА!

недопустимая (обычно отсутствующая) ссылка

#ЧИСЛО!

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

Имена функций при создании формул можно вводить с клавиатуры. Для упрощения процесса создания и снижения количества опечаток используйте автозавершение формул:

1. В ячейку или в строку формул введите знак «=« (знак равенства) и первые буквы используемой функции. По мере ввода список прокрутки возможных элементов отображает наиболее близкие значения. Значки указывают типы вводимых данных, такие как функция или ссылка на таблицу (рис. 3.3.).

hello_html_38d370fa.png

Рис. 3.3. Ввод формулы с использованием автозавершения.

2. Выберите нужную функцию, для чего дважды щелкните по ней мышью.

3. С использованием клавиатуры и мыши введите аргументы функции.

Подтвердите ввод формулы.

Для быстрого выполнения некоторых действий с применением функций без запуска мастера функций можно использовать кнопку Сумма. Эта кнопка, помимо группы Библиотека функций вкладки Формулы (там она называется Автосумма), имеется также в группе Редактирование вкладки Главная.

Кроме вычисления суммы чисел в ячейках, кнопку Сумма можно ис- пользовать при вычислении среднего значения, определения количества числовых значений, нахождения максимального и минимального значений. В этом случае необходимо щелкнуть по стрелке кнопки и выбрать необходимое действие:

hello_html_63eada18.png Среднее расчет среднего арифметического;

hello_html_63eada18.png Число определение количества численных значений;

hello_html_63eada18.png Максимум нахождение максимального значения;

hello_html_63eada18.png Минимум нахождение минимального значения.

Все функции на вкладке «Формулы» распределяются по темам на следующие группы:

hello_html_m6489705f.png «Математические». Предназначены для решения алгебраических задач: функции для округления данных, тригонометрические и т. д.

hello_html_m6489705f.png «Логические». Применяются для решения задач с условиями.

hello_html_m6489705f.png «Финансовые». Применяются для выполнения финансовых расчетов.

hello_html_m6489705f.png «Текстовые». Предназначены для работы с текстовыми значениями.

hello_html_m6489705f.png «Даты и времени». Применяются для работы с данными в формате

«Дата/время».

hello_html_m6489705f.png «Ссылки и массивы». Предназначены для просмотра информации, хранящейся в больших списках и таблицах.

Простое суммирование содержимого заданного интервала ячеек осуществляется функцией СУММ(А), где A список от 1 до 30 элементов, которые требуется суммировать. Элемент может быть ячейкой, диапазо- ном ячеек, числом или формулой. Ссылки на пустые ячейки, текстовые или логические значения игнорируются.

Фактически данная функция заменяет непосредственное суммирование с использованием оператора сложения (+). Формула УММ(В2:В7), тождественна формуле =В2+В3+В4+В5+В6+В7.

Для умножения используют функцию ПРОИЗВЕД(А), где A список от 1 до 30 элементов, которые требуется перемножить. Элемент может быть ячейкой, диапазоном ячеек, числом или формулой. Ссылки на пустые ячейки, текстовые или логические значения игнорируются.

Фактически данная функция заменяет непосредственное умножение с использованием оператора умножения (*).

Задание 6. Вычисления спомощью функции hello_html_m283586ca.png(Сумма)

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 с использованием кнопки hello_html_m283586ca.png(Сумма) рассчитайте сумму ячеек C4:C9.

5. В ячейке B10 с использованием кнопки hello_html_m283586ca.png(Сумма) рассчитайте среднее значение ячеек 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 соответствующими формулами. Отформатируйте таблицу. Лист переименуйте в Числа.

hello_html_5fbccd68.png

Самостоятельная работа №5. Использование математичсеких функций

С/Р Задание 1. Создать таблицу своих расходов в течение недели, аналогичную таблице.

hello_html_6b729610.png

2. Вычислить итоговое значение по каждой статье расходов и по каждому дню недели (применить автосуммирование ).

3. Формат ячеек, в которые вводятся числа, выбрать денежный.

4. Отформатировать таблицу по собственному усмотрению, используя различные цвета заливки, границ, шрифта.

С/Р Задание 2. 1. Создать таблицу расчёта строительных материалов для ремонта квартиры, подобную той, какая изображена на рисунке.

hello_html_5136a284.png

  1. Ввести в соответствующие ячейки рисунки (сканированные или стандартные из коллекции).

III.3 Относительная или абсолютная адресация.

Перемещать и копировать ячейки с формулами можно точно так же, как и ячейки с текстовыми или числовыми значениями.

При перемещении ячейки с формулой содержащиеся в формуле ссылки не изменяются. При копировании формулы ссылки на ячейки могут изменяться в зависимости от их типа (относительные или абсолютные).

По умолчанию ссылки на ячейки в формулах относительные, то есть адрес ячейки определяется на основе расположения этой ячейки относи- тельно ячейки с формулой. При копировании ячейки с формулой относи- тельная ссылка автоматически изменяется. Именно возможность использо- вания относительных ссылок и позволяет копировать формулы. В некото- рых случаях использование относительных ссылок недопустимо. Для того чтобы ссылка на ячейку при копировании не изменялась, необходимо ис- пользовать абсолютные ссылки. Абсолютная ссылка ячейки имеет формат $A$1, где $ служебный символ, показывающий абсолютную ссылку.

Чтобы ссылка на ячейку была абсолютной, после указания ссылки на ячейку следует нажать клавишу F4. Ссылку можно преобразовать из отно- сительной в абсолютную и при редактировании ячейки с формулой. К за- головкам столбца и строки в адресе ячейки следует добавить служебный символ $. Например, для того чтобы ссылка на ячейку А20 стала абсолют- ной, необходимо ввести $А$20.

Ссылка может быть не только относительной или абсолютной, но и смешанной.

Ссылка формата A$1 является относительной по столбцу и абсолютной по строке, т.е. при копировании ячейки с формулой выше или ниже, ссылка изменяться не будет. А при копировании влево или вправо будет изменяться заголовок столбца.

Ссылка формата $A1 является относительной по строке и абсолютной по столбцу, т.е. при копировании ячейки с формулой влево или вправо выше или ниже ссылка изменяться не будет. А при копировании выше или ниже будет изменяться заголовок строки. Абсолютную адресацию в формулах обеспечивает также применение имен ячеек и их диапазонов. Например, формула =Март+Апрель+Май предполагает сложение данных, содержащихся в ячейках с соответствующими именами (вне зависимости от того, в каком месте книги находится именованные диапазоны и формула, которая на них ссылается).

Имя слово или строка знаков, представляющих ячейку, диапазон ячеек, формулу или константу. Имена можно использовать в любом листе книги.

Задание 7. Создание таблицы Пифагора (таблицы умножения)

hello_html_12feeb43.png     hello_html_4fc306a8.png

    Абсолютная адресация используется при формировании таблицы Пифагора.

    Алгоритм создания таблицы Пифагора:

  1. В строке 2, начиная с графы В записать все двухзначные числа: в ячейку В2 вставить 10, в ячейку С2 — 11, выделить обе ячейки и, взяв за черный квадратик внизу справа, протянуть до ячейки СМ2.

  2. В графе А, начиная со строки 3  записать все двухзначные числа: в ячейку А3 вставить 10, в ячейку А4 — 11, выделить обе ячейки и, взяв за черный квадратик внизу справа, протянуть до ячейки А92.

  3. Выделить область А2:СМ92 и вставить границы.

  4. Выделить одновременно две области А2:СМ2 и А3:А92. произвести заливку (Кнопка Цвет заливки).

  5. Поставить курсор в ячейку В3 и записать формулу =А3*В2 (поставить знак «=», выделить мышкой ячейку А3, поставить знак «*», выделить мышкой ячейку В2, нажать клавишу Enter).

  6. «Заморозить» в полученной формуле графу А и строку 2, поставив перед ними знак «$» ( =$А3*В$2).

  7. Выделить ячейку В3 и протянуть(скопировать формулу)  сначала вправо до ячейки СМ3, а затем до ячейки СМ92.

  8. Вставить в первую строку заголовок.

  9. Таблица готова.

Самостоятельная работа №6. Относительная и абсолютная адресация

С/Р Задание 1.. Составьте таблицу, содержащую наименование товара, его цену в рублях, количество, стоимость в рублях и в долларах. Данные в столбцах стоимость вычислены с помощью формул:

hello_html_286bf799.jpg

С/Р Задание 2.. В таблице приведено количество фигур различного цвета. Определите долю в процентах количества фигур каждого цвета от общего количества фигур:

hello_html_549dcc36.jpg

С/Р Задание 3. Составьте таблицу умножения на заданное число:

hello_html_523ec103.jpg

С/Р Задание 4.

Составьте таблицу для расчёта премии сотрудников фирмы, если премия выплачивается в процентах от оклада. Процент премии указан в отдельной ячейке. Затенённые ячейки содержат формулы:

hello_html_47b7ee8.jpg

С/Р Задание 5.

В таблице дана цена комплектующих в долларах. Рассчитайте цену в рублях и стоимость заказанного числа комплектов:

hello_html_m6bcfc665.jpg

  1. Логические выражения и функции 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 тыс. руб.

hello_html_m167758da.png

Рис. 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.

Составьте таблицу для определения, лежит ли точка с заданными координатами в круге указанного радиуса (считать, что центр круга расположен в начале координат):

hello_html_m62e2a58c.png

С/Р Задание 2.

В доме проживает 10 жильцов. Подсчитать, сколько каждый из них должен платить за электроэнергию и определить суммарную плату для всех жильцов. Известно, что 1 кВт электроэнергии стоит m рублей, а некоторые жильцы имеют 50% скидку при оплате.

С/Р Задание 3.

Автоматизировать начисление стипендии студентам (группа 10человек) по итогам летней сессии. Количество экзаменов 5, баллы от 2,5 до 5. Стипендия начисляется в размере МРОТ (600 руб.), если все экзамены сданы с оценкой не ниже 3. При сдаче всех экзаменов с оценками не ниже 4 баллов выплачивается надбавка 20%, не ниже 5 баллов надбавка 50%.

С/Р Задание 4.

Составьте таблицу, рассчитывающую сопротивление и силу тока в цепи с последовательным и параллельным соединением резисторов:

hello_html_a695fee.jpg

Указания:

  • В ячейки В3, В6, В7, В8 вводятся исходные данные.

  • В ячейках В10 и В11 — формулы.

  • Схемы цепей нарисуйте с помощью графических примитивов (панель Рисование) так же, как в Word.

С/Р Задание 5. В компьютер по очереди поступают результаты спортсменов — участников соревнований по лыжным гонкам, уже пришедших к финишу. Подготовьте таблицу, в которой будет указываться лучший результат после ввода результата очередного спортсмена. Функцию МИН не использовать:

hello_html_1a0c45ab.png

С/Р Задание 6

Составьте таблицу, рассчитывающую общую стоимость покупок и величину оплаты при условии предоставления десятипроцентной скидки в случае, когда общая стоимость превышает 1000 рублей:

hello_html_3de0ea12.jpg

Указания:

  • Данные 1000р. и 10% расположены в отдельных ячейках, чтобы их можно было быстро изменять.

  • Затенённые ячейки содержат формулы.

С/Р Задание 7

Торговый агент получает процент от суммы совершенной сделки. Если объем сделки до 3000, то 5%; если объем до 10000, то 2%; если выше 10000, то 1,5%. Введите в ячейку А10 текст «Объем сделки», в ячейку А11– «Размер вознаграждения». В ячейку В10 введите объем сделки, а в В11 формулу, вычисляющую размер вознаграждения.

  1. Работа с диаграммами.

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

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

Диаграмма может располагаться как графический объект на листе с данными (не обязательно на том же, где находятся данные, взятые для построения диаграммы). На одном листе с данными может находиться несколько диаграмм. Диаграмма может располагаться на отдельном специальном листе.

Диаграмма постоянно связана с данными, на основе которых она создана, и обновляется автоматически при изменении исходных данных. Более того, изменение положения или размера элементов данных на диаграмме может привести к изменению данных на листе.

В Excel 2007 можно создавать различные диаграммы. Всего существует 11 типов встроенных диаграмм, каждый из которых имеют еще множество разновидностей (видов). Выбор типа диаграммы определяется задачами, решаемыми при ее создании. Обычно стандартной (используется по умолчанию) диаграммой является плоская гистограмма.

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

Для создания диаграммы стандартного типа достаточно выделить фрагмент листа и нажать клавишу F11.

Для удаления диаграммы достаточно выделить ее и нажать клавишу Delete При создании гистограммы, линейчатой диаграммы, графика, диаграммы с областями, лепестковой диаграммы, круговой диаграммы можно использовать от одного до нескольких столбцов (строк) данных.

При создании диаграммы типа «Поверхность» должно быть два столбца (строки) данных, не считая столбца (строки) подписей категорий.

При создании круговой диаграммы нельзя использовать более одного столбца (строки) данных, не считая столбца (строки) подписей категорий.

Как правило, данные, используемые для создания диаграммы, не должны иметь существенно различную величину.

Для создания диаграммы необходимо выделить фрагмент таблицы, для которого создается диаграмма и воспользоваться инструментами панели Диаграммы вкладки Вставка.

hello_html_591c3b96.png

Рис. 5.1 Инструменты панели Диаграмма вкладки Вставка.

Если не устраивает ни один из предложенных типов диаграмм, то необходимо воспользоваться кнопкой вызова окна панели Диаграммы.

hello_html_5cb27a4c.png

Рис. 5.2. . Выбор типа и вида создаваемой диаграммы.

Задание 10. Пример построения круговой диаграммы.

Круговая диаграмма служит для сравнения нескольких величин. Особенно наглядна, если сумма значений величин составляет нечто целое, например, 100%.

Например, при продаже канцелярских товаров, имеем следующую таблицу:

А

В

1.

Блокноты

30

2.

Карандаши

78

3.

Тетради

72

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

Порядок действий:

1) Выделите фрагмент таблицы (блок ячеек А1:В3), содержащий данные для построения диаграммы.

2) На вкладке Вставка в группе Диаграммы щелкните по кнопке с нужным типом диаграмм и в галерее выберите конкретный вид круговой диаграммы.

В результате на листе будет создана диаграмма выбранного вида:

hello_html_2d55e9fe.png

Рис. 5.3. Созданная диаграмма.

Диаграмма, созданная на листе с данными, первоначально расположена по умолчанию примерно в центре видимой части листа.

Диаграмму, размещенную на листе с данными, можно переместить на отдельный лист:

1. Нажмите кнопку Переместить диаграмму в группе Расположение

вкладки Работа с диаграммами/Конструктор.

2. В окне Размещение диаграммы установите переключать на отдельном листе, при необходимости введите имя создаваемого листа. После вставки диаграммы в окне Excel 2007 появляется контекстный инструмент Работа с диаграммами, содержащий три ленты Конструктор, Макет, Формат, с помощью которых можно ее отредактировать.

Для изменения какоголибо элемента диаграммы следует его выде- лить, щелкнув по нему мышью. Признаком выделения являются рамка и маркеры элемента. Линейные элементы (оси, линии тренда и т.п.) рамки не имеют. Количество маркеров может быть различным для разных элементов диаграмм. Одновременно может быть выделен только один элемент диаграммы.

Для выделения отдельных элементов диаграммы можно также ис- пользовать раскрывающийся список Элементы диаграммы группы Те- кущий фрагмент контекстной вкладки Работа с диаграммами/Макет (рис. 5.4.)

hello_html_m86484bb.png

Рис. 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.).

В виде списка можно представлять как данные информационного характера (номера телефонов, адреса и т. п.), так и данные, подлежащие вычислениям.

При создании списков следует придерживаться следующих правил:

hello_html_63eada18.pngна одном рабочем листе следует располагать один список;

hello_html_63eada18.pngсписок отделяется от других данных, по крайней мере, одной пустой строкой и одним пустым столбцом;

hello_html_63eada18.pngзаголовки должны быть отформатированы другим образом, нежели остальные элементы списка;

hello_html_63eada18.pngнеобходимо избегать пустых строк и столбцов внутри списка;

hello_html_63eada18.pngкаждый столбец списка должен содержать однотипные данные;

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

hello_html_63eada18.pngзаголовки должны быть отформатированы другим образом, нежели

остальные элементы списка.

hello_html_m361864e1.png

Рис. 6.1. Организация данных в виде списка.

Сортировка и фильтрация осуществляются выделением заголовка таблицы и нажатием кнопки, которая находится в группе «Сортировка и фильтр» на вкладке «Данные«, или кнопки «Сортировка и фильтр» на вкладке «Главная«.

hello_html_m56ffecc7.png

После этого рядом с названиями столбцов появятся стрелочки. Чтобы задать условие сортировки или фильтрации, следует щелкнуть на стрелочке рядом с названием нужного столбца и выбрать нужный вариант. Если требуемого варианта среди имеющихся не окажется, выберите пользовательскую настройку фильтра (вариант «Текстовые фильтры« или «Числовые фильтры«). Чтобы увидеть всю таблицу (отменить действие фильтра), на вкладке «Данные« в группе «Сортировка и фильтр« нажмите кнопку «Очистить«.

Кнопки, предназначенные для создания групп и структур, в Excel 2007 располагаются в группе «Структура« на вкладке «Данные«.

Задание 11. Сортировка списков.

1. Сделайте небольшой список для тренировки.

hello_html_5b485415.png

2. Выделите его и нажмите кнопку «Сортировка и фильтр« на панели

«Редактирование« ленты «Главная«.

3. Выберите «Сортировка от А до Я«. Список будет отсортирован по первому столбцу, т.е. по полю ФИО

hello_html_6e0e68d4.png

4. Отсортировать список по нескольким полям, то для этого предназначен пункт «Настраиваемая сортировка«.hello_html_36877aa9.png

Сложная сортировка подразумевает упорядочение данных по нескольким полям. Добавлять поля можно при помощи кнопки «Добавить уровень«.

hello_html_4ed00728.png

В итоге список будет отсортирован, согласно установленным параметрам сложной сортировки.

hello_html_386b9f5d.png

Задание 12. Фильтрация списков.

Основное отличие фильтра от упорядочивания это то, что во время фильтрации записи, не удовлетворяющие условиям отбора, временно скрываются (но не удаляются), в то время, как при сортировке показываются все записи списка, меняется лишь их порядок.

Фильтры бывают двух типов: обычный фильтр (его еще называют авто- фильтр) и расширенный фильтр.

Для применения автофильтра нажмите ту же кнопку, что и при сортировке «Сортировка и фильтр« и выберите пункт «Фильтр« (перед этим должен быть выделен диапазон ячеек).

hello_html_m49e57c82.png

В столбцах списка появятся кнопки со стрелочками, нажав на которые можно настроить параметры фильтра.

hello_html_2034ee95.png

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

hello_html_m8707243.png

Для формирования более сложных условий отбора предназначен пункт «Текстовые фильтры« или «Числовые фильтры«. В окне «Пользовательский автофильтр« необходимо настроить окончательные условия фильтрации.

hello_html_m7c88c690.png

При использовании расширенного фильтра критерии отбора задаются на рабочем листе.

Для этого надо сделать следующее:

1). скопируйте и вставьте на свободное место шапку списка;

2). в соответствующем поле (полях) задайте критерии фильтрации;

3). выделите основной список;

4). нажмите кнопку «Фильтр« на панели «Сортировка и фильтр«ленты «Данные»;

5). На той же панели нажмите кнопку «Дополнительно«.

hello_html_m65cf335a.png

hello_html_7c37bcad.png

В появившемся окне «Расширенный фильтр« задайте необходимые диапазоны ячеек.

hello_html_m59ec3872.png

В результате отфильтрованные данные появятся в новом списке.

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

Задание 13. Создание базы данных сотрудников фирмы.

hello_html_63eada18.pngПри создании списка сначала наберите заголовки заданных столбцов, добавьте новые столбцы «Оклад», «Премия», «Всего».

hello_html_63eada18.pngВведите записи и задайте формулы для вычисляемых ячеек (столбцы Премия и Всего). Начислить каждому работнику премию в размере К% (положить сначала К=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 IntegerAs 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, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

  1. Считали группы из очередной строки.
  2. Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
    1. Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
  3. После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.

Для упрощения работы рекомендую определить следующие функции-сокращения:

Function GetCol(Col As IntegerAs String
    GetCol = Chr(Asc("A") + Col)
End FunctionFunction GetCellS(Sheet As String, Col As Integer, Row As IntegerAs Range
    Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
End FunctionFunction GetCell(Col As Integer, Row As IntegerAs 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

Попытка формализации личного опыта

Microsoft Office Excel 2007-2010 
 Попытка формализации личного опыта


Слайд 2
Первичная обработка данных – Excel
Основные решаемые задачи:
Хранение данных;
Поиск

Первичная обработка данных – ExcelОсновные решаемые задачи:Хранение данных;Поиск и устранение ошибок;Сортировка, группировка;Расчеты;Визуализация.

и устранение ошибок;
Сортировка, группировка;
Расчеты;
Визуализация.


Слайд 3
Не жалейте время на изучение учебников

Не жалейте время на изучение учебников


Слайд 4
Не жалейте время на изучение учебников

Не жалейте время на изучение учебников


Слайд 5
Всегда есть «Справка: Excel»!

Всегда есть «Справка: Excel»!


Слайд 6
Электронная таблица, рабочий лист, рабочая книга
Перед существенным изменением

Электронная таблица, рабочий лист, рабочая книгаПеред существенным изменением данных необходимо всегда делать их копии в

данных необходимо всегда делать их копии в новых файлах

или на новых листах!
Необходимо комментировать эти изменения, делая соответствующие

записи или на отдельном листе или в комментариях!
Не надо начинать имена листов с цифр, не надо делать эти имена громоздкими и не надо делать в них пробелов, заменяя их «_»;
Надо всегда нумеровать строки, например, используя автозаполнение, для возможности восстановления первоначального порядка записей.
Давать понятное наименование столбцам – желательно в одну строку.
Использовать команду «Вид→Окно→Закрепить область» для предотвращения прокрутки заголовков таблиц.
Использовать разумное форматирование и представление числовых и текстовых форматов для удобства чтения и проверки данных.


Слайд 7
ВНИМАНИЕ: ФОРМАТ!
Для корректного взаимодействия со STATISTICA 6.0 желательно

ВНИМАНИЕ: ФОРМАТ!	Для корректного взаимодействия со STATISTICA 6.0 желательно сохранять рабочие книги Excel в формате Excel-2003: «*.xls».

сохранять рабочие книги Excel в формате Excel-2003: «*.xls».


Слайд 8
Первые 10 способов очистки данных
«Слова с ошибками, пробелы

Первые 10 способов очистки данных«Слова с ошибками, пробелы в конце строки, ненужные префиксы, ошибочные случаи

в конце строки, ненужные префиксы, ошибочные случаи и непечатаемые

знаки производят плохое впечатление» и снижают эффективность работы.
Основы очистки данных
Проверка

орфографии
Удаление повторяющихся строк
Поиск и замена текста
Изменение регистра знаков текста
Удаление знаков пробелов и непечатаемых знаков из текста
Исправление чисел и знаков чисел
Исправление даты и времени
Объединение и разделение столбцов
Трансформация и перестройка столбцов и строк
Сверка данных таблицы путем объединения или сопоставления


Слайд 9
Первые 10 способов очистки данных

Первые 10 способов очистки данных


Слайд 10
Другие пути проверки данных
Использование команд «Главная→Редактирование→Сортировка и Фильтр».

Другие пути проверки данныхИспользование команд «Главная→Редактирование→Сортировка и Фильтр». Условия фильтров и для числовых и для

Условия фильтров и для числовых и для текстовых данных

НАСТРАИВАЮТСЯ!
Использование команд «Данные→Работа с данными→Проверка данных».
Использование команд «Главная→Редактирование→Формулы →

Проверка свойств и значений».
Нахождение и форматирование искомых значений в ячейках и пустых ячеек. Использование глобальных поиска и замен.
Использование примечаний.
Использование специальных параметров вставки (формулы, форматы, значения, транспонирование, операции с числами).
Нахождение чисел, записанных как текст, путем манипуляции с форматом представления числовых данных.
Поиск максимальных и минимальных значений в блоках.


Слайд 11
Ссылки на ячейки
Относительные (обычные: А1 или В4).

Абсолютные ($A$2

Ссылки на ячейкиОтносительные (обычные: А1 или В4).Абсолютные ($A$2 – абсолютная ссылка на ячейку; $A1 -

– абсолютная ссылка на ячейку; $A1 — координата столбца

абсолютная, строки – относительная; A$1 — координата столбца относительная, а

строки – абсолютная).

Вместо ссылок на конкретные ячейки возможна ссылка на «Имена». Имена могут быть у констант, отдельных ячеек и блоков ячеек.


Слайд 12
Формулы, функции
Формулы могут состоять не только из арифметических

Формулы, функцииФормулы могут состоять не только из арифметических операторов и адресов ячеек. Часто в вычислениях

операторов и адресов ячеек. Часто в вычислениях приходится использовать

формулы, содержащие функции.
Электронные таблицы имеют несколько сотен встроенных функций,

которые подразделяются на категории: Математические, Статистические, Финансовые, Дата и время и др.
Функции можно редактировать прямо в ячейке или в строке формул или копировать их части, предварительно написав эти части в отдельных ячейках.


Слайд 13

Кнопка
«функции»
Стандартные функции
Строка формул
Вкладка «Мастер функций»

Вкладка
«ФОРМУЛЫ»

Кнопка «функции»Стандартные функцииСтрока формулВкладка «Мастер функций»Вкладка «ФОРМУЛЫ»


Слайд 14
Синтаксис функций
Написание функции начинается с «=» или с

Синтаксис функцийНаписание функции начинается с «=» или с «+», но последнее не всегда;При написании функций

«+», но последнее не всегда;

При написании функций как в

ячейке, так и в строке функций появляются подсказки;

Аргументом большинства простых

функций являются ссылки на отдельные ячейки или блоки ячеек, для указания которых кроме мыши можно использовать «Ctrl», «Shift» и др. клавиши.

Аргументы многих функций могут быть сложными и содержать другие функции – т.н. «вложенные» формулы.


Слайд 15
Математические и статистические функции (1)

Математические и статистические функции (1)


Слайд 16
Математические и статистические функции (2)

Математические и статистические функции (2)


Слайд 19
Новые f: логические и математические

Новые f: логические и математические


Слайд 20
Сводные таблицы – эффективный инструмент подведения промежуточных итогов

Сводные таблицы – эффективный инструмент подведения промежуточных итогов анализа данных

анализа данных


ЛАБОРАТОРНАЯ ПО EXCEL 2007 ОБРАБОТКА ДАННЫХ СРЕДСТВАМИ ЭЛЕКТРОННЫХ ТАБЛИЦ Раздел № 2 Подготовка и

ЛАБОРАТОРНАЯ ПО EXCEL 2007 ОБРАБОТКА ДАННЫХ СРЕДСТВАМИ ЭЛЕКТРОННЫХ ТАБЛИЦ Раздел № 2 Подготовка и форматирование прейскуранта

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga.

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls.

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga.

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls .

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga.

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga.

Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу kniga. Z. xls

Выберите щелчком на ярлычке неиспользуемый рабочий лист(Лист 1). Дважды щелкните на ярлычке нового листа

Выберите щелчком на ярлычке неиспользуемый рабочий лист(Лист 1). Дважды щелкните на ярлычке нового листа и переименуйте его как Прейскурант.

В ячейку А 1 введите текст Прейскурант и нажмите клавишу ENTER.

В ячейку А 1 введите текст Прейскурант и нажмите клавишу ENTER.

В ячейку А 2 введите текст Курс пересчета и нажмите клавишу ENTER.

В ячейку А 2 введите текст Курс пересчета и нажмите клавишу ENTER.

В ячейку В 2 введите текст 1 у. е. = и нажмите клавишу ENTER

В ячейку В 2 введите текст 1 у. е. = и нажмите клавишу ENTER

В ячейку C 2 введите текущий курс пересчета и нажмите клавишу ENTER.

В ячейку C 2 введите текущий курс пересчета и нажмите клавишу ENTER.

В ячейку A 3 введите текст Наименование товара и нажмите клавишу ENTER. В ячейку

В ячейку A 3 введите текст Наименование товара и нажмите клавишу ENTER. В ячейку ВЗ введите текст Цена (у. е. ) и нажмите клавишу ENTER. В ячейку СЗ введите текст Цена (руб. ) и нажмите клавишу ENTER.

В последующие ячейки столбца А введите названия товаров (15 товаров как минимум) , включенных

В последующие ячейки столбца А введите названия товаров (15 товаров как минимум) , включенных в прейскурант.

В ячейки столбца В введите цены товаров в условных единицах.

В ячейки столбца В введите цены товаров в условных единицах.

В ячейку С 4 введите формулу: =B 4*$C$2, которая используется для пересчета цены из

В ячейку С 4 введите формулу: =B 4*$C$2, которая используется для пересчета цены из условных единиц в рубли и нажмите ENTER

Методом автозаполнения скопируйте формулы во все ячейки столбца C, которым соответствуют заполненные ячейки столбцов

Методом автозаполнения скопируйте формулы во все ячейки столбца C, которым соответствуют заполненные ячейки столбцов А и В.

Измените курс пересчета в ячейке С 2 (текущий курс + 1). Обратите внимание, что

Измените курс пересчета в ячейке С 2 (текущий курс + 1). Обратите внимание, что все цены в рублях при этом обновляются автоматически.

Выделите методом протягивания диапазон А 1: С 1 и дайте команду «Формат» Ячейки. На

Выделите методом протягивания диапазон А 1: С 1 и дайте команду «Формат» Ячейки. На вкладке Выравнивание задайте выравнивание по горизонтали По центру и установите флажок Объединение ячеек.

На вкладке Шрифт задайте размер шрифта в 14 пунктов и в списке Начертание выберите

На вкладке Шрифт задайте размер шрифта в 14 пунктов и в списке Начертание выберите вариант Полужирный. Щелкните на кнопке ОК.

Щелкните правой кнопкой мыши на ячейке В 2 и выберите в контекстном меню команду

Щелкните правой кнопкой мыши на ячейке В 2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По правому краю и щелкните на кнопке ОК.

Щелкните правой кнопкой мыши на ячейке С 2 и выберите в контекстном меню команду

Щелкните правой кнопкой мыши на ячейке С 2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По левому краю и щелкните на кнопке ОК.

Выделите методом протягивания диапазон В 2: С 2. Щелкните правой кнопкой на ячейке. Появится

Выделите методом протягивания диапазон В 2: С 2. Щелкните правой кнопкой на ячейке. Появится раскрывающийся список щелкните по кнопке рядом с кнопкой Границы на панели инструментов Форматирование и задайте для этих ячеек широкую внешнюю рамку (кнопка в правом нижнем углу открывшейся палитры)

Дважды щелкните на границе между заголовками столбцов А и В, В и С, С

Дважды щелкните на границе между заголовками столбцов А и В, В и С, С и D. Обратите внимание, как при этом изменяется ширина столбцов А, В и С.

Сохраните рабочую книгу kniga. Z. xls.

Сохраните рабочую книгу kniga. Z. xls.

Конец

Конец

Финансы в Excel

Подробности
Создано 13 Июль 2011
Содержание
Описание примеров
Применение метода
Суммирование по одному ключевому полю
Суммирование по нескольким критериям
Поиск по одному критерию
Поиск по нескольким критериям
Выборка по одному критерию
Выборка вариантов
Заключение

Одним из самых популярных методов использования электронных таблиц является обработка данных, полученных из учетных систем. Современные базы данных, используемые учетными системами в качестве хранилища информации, способны накапливать и обрабатывать в собственных структурах десятки, а иногда сотни тысяч информационных записей в день. Средства анализа в системах управления базами данных реализуются либо на программном уровне, либо через специальные интерфейсы и языки запросов. Электронные таблицы позволяют эффективно обработать данные без знания языков программирования и других технических средств.

Методы переноса данных в Excel могут быть различны:

  • Копирование-вставка результатов запросов
  • Использование стандартных процедур импорта (например, Microsoft Query) для формирования данных на рабочих листах
  • Использование программных средств для доступа к базам данных с последующим переносом информации в диапазоны ячеек
  • Непосредственный доступ к данным без копирования информации на рабочие листы
  • Подключение к OLAP-кубам

Данные, полученные из учетных систем, обычно характеризуются большим объемом – количество строк может составлять десятки тысяч, количество столбцов при этом часто невелико, так как языки запросов к базам данным сами имеют ограничение на одновременно выводимое количество полей.

Обработка этих данных в Excel может вестись различными методами. Выделим основные способы работы:

  1. Обработка данных стандартными средствами интерфейса Excel
  2. Анализ данных при помощи сводных таблиц и диаграмм
  3. Консолидация данных при помощи формул рабочего листа
  4. Выборка данных и заполнение шаблонов для получения отчета
  5. Программная обработка данных

Правильность выбора способа работы с данными зависит от конкретной задачи. У каждого метода есть свои преимущества и недостатки.

В данной статье будут рассмотрены способы консолидации и выборки данных при помощи стандартных формул 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. Информация…

» Суммирование несвязанных диапазонов

При обработке больших таблиц иногда возникает потребность получить итоговые значения на основе данных, расположенных в диапазонах…

Понравилась статья? Поделить с друзьями:
  • Обработка графиков в excel
  • Обработка графика в excel
  • Обработка всех таблиц в word
  • Обработка вопрос в excel
  • Обработка больших таблиц excel