Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по 'Excel'.doc
Скачиваний:
40
Добавлен:
24.04.2015
Размер:
1.3 Mб
Скачать

2. Вычисления в таблицах

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

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

В качестве примера приведем формулы, вычисляющие корни квадратного трехчлена: ax2+bx+c=0. В ячейках A1, B1 и C1 находятся значения коэффициентов a, b и с, соответственно. В ячейки A2 и A3 соответственно введены следующие формулы:

=(-B1+КОРЕНЬ(B1*B1-4*A1*C1))/2/A1;

=(-B1-КОРЕНЬ(B1*B1-4*A1*C1))/2/A1.

Если введены значения коэффициентов a=1, b=-5 и с=6 (это означает, что в ячейках A1, B1 и C1 записаны числа 1, 5 и -6), то в ячейках A2 и A3, где записаны формулы, появятся числа 2 и ‑3. Если изменить число в ячейке A1 на -1, то в ячейках с формулами получим числа -6 и 1.

Типы данных и константы

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

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

Опишем основные типы, использующиеся в MS Excel, и приведём примеры констант каждого из этих типов.

Числовые типы представляют собой множество вещественных и целых чисел (23; 45,345).

Строковый тип представляет собой последовательность символов (“345,44”; “Текстовая строка”).

Логический тип представлен двумя константами ИСТИНА и ЛОЖЬ.

Для вычислений с датами и периодами времени в Microsoft Excel используется код дата-время. Код даты – целое число, последовательно кодирующее даты начиная с 01.01.1900. Код времени – это десятичная дробь в интервале от 0 (нуля) до 0,99999999, представляющая время от 0:00:00 (12:00:00 ночи) до 23:59:59 (11:59:59 вечера). Таким образом дата 12.05.2005 может быть представлена кодом 38484, а время 15:20:05 – кодом 0,638946759259259.

Массив – объект, используемый для получения нескольких значений в результате вычисления одной формулы или для работы с набором аргументов, расположенных в прямоугольных блоках. Массив-константа представляет собой группу числовых констант внутри фигурных скобок, строки разделяются двоеточиями “:”, элементы строк – точками с запятой “;”. Например константа {10;20;30;40:50;60;70;80} представляет собой массив из 2 строк и 4 столбцов

.

Ошибка – значение, которое помещается в ячейку если вычислить значение по формуле не возможно. Каждое из этих значений фактически является определённой последовательностью символов.

В MS Excel имеется следующие значения констант-ошибок.

##### – Данная ошибка возникает, если столбец недостаточно широк или дата и время являются отрицательными числами.

#ЗНАЧ! – Данная ошибка возникает при использовании недопустимого типа аргументаилиоперанда.

#ДЕЛ/0! – Данная ошибка возникает при делении числа на 0 (нуль).

#ИМЯ? – Данная ошибка возникает, если Microsoft Excel не может распознать имя, используемое в формуле.

#Н/Д – Данная ошибка возникает, если значение недоступно функции или формуле.

#ССЫЛКА! – Данная ошибка возникает, если ссылка на ячейкууказана неверно (например, если ячейка была удалена).

#ЧИСЛО! – Данная ошибка возникает при неправильных числовых значениях в формуле или функции.

#ПУСТО! – Данная ошибка возникает, когда задано пересечение двух областей, которые в действительности не имеют общих ячеек. Оператором пересечения областей является пробел между ссылками.

Использование ссылок и имен

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

Полная ссылка на ячейку выглядит так: [Книга2.xls]Лист1!$D$6 где Книга2.xls – имя файла-книги, Лист1 – имя листа и $D$6 – ссылка на ячейку. Имена книги и листа в ссылке не обязательны. Ссылка на прямоугольный блок, или диапазон, ячеек состоит из двух адресов, разделенных знаком двоеточия – адреса верхней-левой и нижней-правой ячейки (например, A2:D4). Адреса, из которых состоит ссылка на диапазон ячеек, составляются также как и адрес одной ячейки.

Имя –это легко запоминающийся идентификатор, который можно использовать для ссылки на ячейку или диапазон ячеек.Создать имядля ячейки можно в поле имени, или через менюВставка | Имя | Присвоить...

Перемещение и копирование формул. Относительные и абсолютные ссылки

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

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

Имеется несколько типов ссылок, которые по-разному изменяются при копировании.

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

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

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

Например, если в записи формулы ссылку на ячейку D7 записать в виде $D7, то при копировании формулы будет изменяться только номер строки “7”. Запись D$7 означает, что при копировании будет изменяться только символ столбца “D”. Если же записать адрес в виде $D$7, то ссылка при копировании формулы в этот адрес не изменится, и в расчетах будут участвовать данные из ячейки D7. Если в формуле указан интервал ячеек G3:L9, то управлять можно каждой из двух ссылок отдельно, используя символ “$”.

Абсолютные ссылки при копировании формул не изменяются, а в относительных ссылках происходит смещение на величину переноса. На рис. 8а в ячейке С3 записана формула =B2+$B$2+B$2+$B2, которая содержит четыре ссылки с различными типами адресации.

а.

b.

Рис. 8. Копирование ячейки с формулой, содержащей ссылки с различными типами адресации

Обратите внимание на то, как формула изменяется при копировании ячейки С3 в ячейку D4.

Понятие функции

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

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

Имя_функции (аргумент1; аргумент2; ...)

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

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

Стандартные функции Excel

Для удобства работы функции в MS Excel поделены на несколько категорий:

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

ЛЕВСИМВ(текст; количество_знаков) – возвращает указанное число знаков с начала текстовой строки

текст – текстовая строка, содержащая извлекаемые знаки;

количество_знаков – количество знаков, извлекаемых функцией ЛЕВСИМВ.

ПРАВСИМВ(текст;число_знаков) – возвращает указанное число знаков с конца текстовой строки. В остальном функция аналогична функции ЛЕВСИМВ.

СЦЕПИТЬ (текст1;текст2;...) – объединяет несколько текстовых строк в одну.

текст1, текст2, ...   – это от 1 до 30 элементов текста, объединяемых в один элемент текста. Элементами текста могут быть текстовые строки, числа или ссылки, которые ссылаются на одну ячейку.

ПРИМЕР

Получить ФИО гражданина, если известы его полные имя, фамилия и отчество.

Рис. 9. Получение ФИО

ЗАМЕНИТЬ(старый_текст;нач_поз;число_знаков;новый_текст) – замещает указанную часть знаков текстовой строки другой строкой текста.

старый_текст – текст, в котором желательно заменить некоторые знаки;

нач_поз – позиция знака в тексте старый_текст, начиная с которой знаки заменяются текстом нов_текст;

число_знаков – число знаков в тексте старый_текст, которые заменяются текстом новый_текст;

новый_текст – текст, который заменяет знаки в тексте старый_текст.

ПОДСТАВИТЬ(текст;стар_текст;нов_текст;номер_вхождения) – подставляет текст нов_текст вместо текста стар_текст в текстовой строке.

текст – это либо текст, либо ссылка на ячейку, содержащую текст, в котором подставляются знаки;

стар_текст – заменяемый текст;

нов_текст – текст, на который заменяется стар_текст;

номер_вхождения – определяет, какое вхождение текста стар_текст нужно заменить на нов_текст. Если номер_вхождения определен, то заменяется только это вхождение текста стар_текст. В противном случае, каждое вхождение текста стар_текст в текстовой строке заменяется на текст нов_текст.

СИМВОЛ(число) – возвращает символ с заданным кодом.

число – это число от 1 до 255, указывающее нужный знак. Знаки выбираются из кодовой таблицы.

ПРИМЕР

Требуется исправить наиболее распространённые при написании текста на белорусском языке ошибки: использование русской буквы (и) вместо белорусской буквы (i) и неверное использование буквы (у) там, где требуется буква (ў).

Рис. 10. Исправление текста

Обратите внимание на то, что функция ЗАМЕНИТЬ вложена в качестве первого аргумента в функцию ПОДСТАВИТЬ. В этом случае текст из ячейки С9 вначале обрабатывается функцией ЗАМЕНИТЬ, которая меняет один символ на 16-й позиции на символ (ў), получаемый при помощи функции СИМВОЛ(162). Затем полученный от функции ЗАМЕНИТЬ текст передаётся в функцию ЗАМЕНИТЬ, которая дорабатывает его, заменяя все буквы (и) на буквы (i).

НАЙТИ(искомый_текст;просматриваемый_текст;нач_позиция). Функция НАЙТИ находит вхождение одной текстовой строки искомый_текст в другую текстовую строку просматриваемый_текст и возвращает положение начала искомого текста относительно крайнего левого знака просматриваемого текста. Функция НАЙТИ учитывает регистр и не допускает использования подстановочных знаков.

икомый_текст  – это искомый текст;

посматриваемый_текст  – это текст, включающий искомый текст;

нч_позиция  – это позиция знака, с которой следует начинать поиск. Первый знак в аргументе просматриваемый_текст имеет номер 1. Если аргумент нач_позиция опущен, то он полагается равным 1. Если искомый_текст не входит в просматриваемый_текст, то функция НАЙТИ возвращает значение ошибки #ЗНАЧ!. Если нач_позиция больше длины строки просматриваемый_текст, то функция НАЙТИ возвращает значение ошибки #ЗНАЧ!.

ПОИСК(искомый_текст;текст_для_поиска;нач_позиция) – функция выполняет те же операции, что и функция НАЙТИ. Имеются два основных различия. Функция ПОИСК не учитывает регистр и допускает использование подстановочных знаков (знак вопроса (?) соответствует любому знаку; звездочка (*) соответствует любой последовательности знаков) в аргументе искомый_текст.

ПРИМЕР

Из записи-описания товара нужно выбрать название изделия и производителя.

Рис. 11. Получение строки описания товара

Здесь сначала при помощи функции НАЙТИ находится позиция первого знака (,) в тексте ячейки D19, а затем, при помощи функции ЛЕВСИМВ выбираются все символы от начала до найденной позиции.

Попробуйте самостоятельно объяснить присутствие в выражении (-1).

Для решения этой задачи можно использовать и функцию ПОИСК.

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

ДАТА(год; месяц; число) – возвращает код-даты, соответствующий числовым значениям года, месяца, числа:

год – аргумент, который может иметь от одной до четырех цифр;

месяц  – число, представляющее месяц года. Если значение аргумента больше 12, введенное число месяцев отсчитывается от первого месяца указанного года. Например, ДАТА(2008;14;2) возвращает число, соответствующее 2 февраля 2009 года;

день  – число, представляющее день месяца. Если значение аргумента больше числа дней в указанном месяце, введенное число дней отсчитывается от первого дня месяца. Например, ДАТА(2008;1;35) возвращает число, соответствующее 4 февраля 2008 года.

ВРЕМЯ(часы; минуты; секунды) – возвращает целое число, представляющее определенное время. Время в числовом формате, возвращаемое функцией:

часы  – целое число от 0 (нуля) до 32767, задающее часы. Если значение параметра часы больше 23, его можно разделить на 24; остаток от деления будет соответствовать значению часов. Например, ВРЕМЯ(27;0;0) = ВРЕМЯ(3;0;0) = 0,125 = 3:00 AM;

минуты  – число от 0 (нуля) до 32767, задающее минуты. Если значение больше 59, оно будет пересчитано в часы и минуты. Например, ВРЕМЯ(0;750;0) = ВРЕМЯ(12;30;0) = 0,520833 = 12:30 PM;

секунды  – число от 0 (нуля) до 32767, задающее секунды. Если значение больше 59, оно будет пересчитано в часы, минуты и секунды. Например, ВРЕМЯ(0;0;2000) = ВРЕМЯ(0;33;22) = 0,023148 = 12:33:20 AM.

СЕГОДНЯ( ) – возвращает код текущей даты.

ГОД(дата) – возвращает год, соответствующий аргументу дата. Год определяется как целое в интервале 1900-9999.

МЕСЯЦ(дата) – возвращает месяц в дате, заданной в числовом формате. Месяц возвращается как целое число диапазоне от 1 (январь) до 12 (декабрь).

ДЕНЬ(дата) – возвращает день в дате, заданной в числовом формате. День возвращается как целое число диапазоне от 1 до 31.

У функций ГОД, МЕСЯЦ и ДЕНЬ аргумент дата представляет собой дату (“12.10.2005”) или код-даты (38637).

ЧАС(время) – возвращает час, соответствующий заданному времени в числовом формате. Час определяется как целое в интервале от 0 до 23.

МИНУТЫ(время) – возвращает минуты, соответствующие аргументу время. Минуты определяются как целое число в интервале от 0 до 59.

СЕКУНДЫ(время) – возвращает секунды, соответствующие аргументу время. Секунды определяются как целое в интервале от 0 до 59.

У функций ЧАС, МИНУТЫ и СЕКУНДЫ аргумент время представляет собой время (“12:05”) или код-даты (0,50347).

ПРИМЕР

Выяснить дату, отстоящую от текущего числа на определённое количество лет, месяцев и дней.

Рис. 12. Вычисление даты

Обратите внимание: в ячейке D34 для получения текущей даты записана функция СЕГОДНЯ().

Логические функции позволяют составлять сложные логические выражения, а также организовывать разветвляющиеся вычисления:

ЕСЛИ(лог_выражение; значение_если_истина; значение_если_ложь) – возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ:

лог_выражение  – это любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ;

значение_если_истина   – это выражение, результат вычисления которого возвращается, если лог_выражение равно ИСТИНА;

значение_если_ложь   – это выражение, результат вычисления которого возвращается, если лог_выражение равно ЛОЖЬ.

И(логическое_значение1; логическое_значение2; ...) – возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА; возвращает значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ.

ИЛИ(логическое_значение1; логическое_значение2; ...) – возвращает ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА; возвращает ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ.

К логическим функциям можно также отнести функции проверки типа значений, хотя они и вынесены в отдельную группу. Принцип работы у этих функций одинаков: проверяется тип значения и возвращается значение ИСТИНА или ЛОЖЬ в зависимости от соответствия значения аргумента определённому типу (ЕОШИБКА(значение) – проверка на значение ошибки (#ЧИСЛО!, #ИМЯ!), ЕЧИСЛО(значение) – проверка на числовое значение ЕТЕКСТ(значение) – проверка на текстовое значение, ЕПУСТО(значение) – проверка отсутствия значения.

ПРИМЕР

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

Рис. 13. Анализ параметра

В классе функций ссылки и автоподстановки рассмотрим следующие функции:

ПРОСМОТР(искомое_значение; просматриваемый_вектор; вектор_результатов) – просматривает диапазон, в который входят значения только одной строки или одного столбца (так называемый вектор) в поисках определенного значения и возвращает значение из другого столбца или строки:

искомое_значение  – это значение, которое функция ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой, ссылающимися на значение;

просматриваемый_вектор  – интервал, содержащий только одну строку или один столбец. Значения в аргументе просматриваемый_вектор могут быть текстами, числами или логическими значениями. Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания, в противном случае функция ПРОСМОТР может вернуть неверный результат;

вектор_результатов – интервал, содержащий только одну строку или один столбец. Он должен быть того же размера, что и просматриваемый_вектор.

  • Если ПРОСМОТР не может найти искомое_значение, то подходящим считается наибольшее значение в просматриваемом векторе, которое меньше, чем искомое_значение.

  • Если искомое_значение меньше, чем наименьшее значение в аргументе просматриваемый_вектор, то функция ПРОСМОТР возвращает значение ошибки #Н/Д.

В Excel широко представлены математические функции:

СУММ(число1;число2; ...) – суммирует все числа в интервале ячеек.

число1, число2, ... – от 1 до 30 аргументов, для которых требуется определить итог или сумму. Если аргумент является массивом или ссылкой, то суммируются только содержащиеся в них числа. Пустые ячейки, логические значения, тексты и значения ошибок в массиве или ссылке игнорируются.

ПРИМЕР

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

Рис. 14. Вычисление доли зарплаты

СУММЕСЛИ(диапазон; критерий; диапазон_суммирования) – суммирует ячейки, заданные критерием:

диапазон – диапазон вычисляемых ячеек;

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

диапазон_суммирования – диапазон для суммирования.

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

СЧЁТЕСЛИ(диапазон; критерий) – подсчитывает количество ячеек внутри диапазона, удовлетворяющих заданному критерию:

диапазон – диапазон, в котором нужно подсчитать ячейки;

критерий  – аналогично параметру критерий функции СУММЕСЛИ.

ПРИМЕР

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

Рис. 15. Вычисление общей суммы выплат и средней заработной платы

Непосредственно с клавиатуры вводить в выражение названия функций и значения входных параметров не всегда удобно. В Excel есть специальное средство для работы с функциями – Мастер функций. Он помогает сформировать и вставить в формулу синтаксически правильную запись функции. При работе с этим средством на первом шаге предлагается выбрать нужную функцию из списка, а затем в окне диалога указать аргументы этой функции. Причём в этом же окне можно получить короткую справку по аргументам, отследить правильность передаваемых в функцию значений и текущий результат.

Для вставки функции в ячейку, или редактирования помеченной текстовым курсором функции используйте команду Вставка | Функции или кнопку " . Для вставки формулы в указанную текстовым курсором позицию внутри формулы воспользуйтесь полем со списком рядом со строкой формул.

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

Пример использования вычислений в таблице

За основу возьмем таблицу, представленную на рис. 7. В данной таблице требуется вычислить следующие поля:

  • цена (в долларах) = цена в руб. / курс;

  • сумма закупки = Закупочная цена товара*Количество;

  • сумма реализации = Розничная цена товара*Количество;

  • валовой доход = Сумма реализации - Сумма закупки

Вначале присвоим имена некоторым частям таблицы. Имя “kurs” присвоим ячейке D1 (напомним: команда Вставка | Имя | Присвоить...), столбец, содержащий названия товаров (Н2:Н4) получит название “товар”, соответствующий ему столбец с ценами (I2:I4) – “РЦена”.

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

В ячейку Е7 запишем формулу: =D7/kurs (согласно формуле вычисления цены в долларах) и скопируем её в остальные ячейки столбца D. Аналогичным образом заполним формулой =F7*D7 столбец Сумма закупки.

Для расчёта суммы реализации нам потребуется значение розничной цены товара. Получить это значение можно так: ПРОСМОТР(B7;товар;РЦена). В ячейке В7 содержится наименование товара, для которого нужно найти розничную цену. Теперь осталось помножить полученное значение на количество товара в партии (=ПРОСМОТР(B7;товар;РЦена)*F7) и скопировать полученную формулу в остальные ячейки столбца.

Формула для определения валового дохода будет выглядеть следующим образом: =H7-G7 (для ячейки I7).

Рис. 16. Лист учёта поступающих товаров на торговое предприятие с результатами вычислений

В строке Итого требуется вычислить итоговые значения суммы закупки, реализации и валового дохода. Используем функции =СУММ(G7:G12), =СУММ(H7:H12), =СУММ(I7:I12) соответственно. Каждая из этих функций имеет один аргумент – адрес диапазона.

Соседние файлы в предмете Информатика