Добавил:
По своей натуре перфекционист. Поэтому люблю все аккуратно оформлять и упорядочивать, складывать по полочкам. Вот, не пропадать же добру, нажитому за четыре кропотливых семестра. Тут я выложил все мои ответы, курсовые, отчеты и некоторые ДЗ. Они могут вам помочь для получения зачета или сдачи экзамена. Если чего-то не нашли в папочках, то попытайте удачу в разделе НЕОТСОРТИРОВАННОЕ на моей страничке, там все 4 семестра разложены по папкам. ГРУППА КТ-43-15. Годы обучения 2015-2019. Коллекция будет пополняться. Что ж, удачки :З Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
60
Добавлен:
15.09.2017
Размер:
2.83 Mб
Скачать

Стеценко А. А.

51

К17. Можно ли форматировать шрифт в строке формул?

Работа ЭТ8. Текстовые функции

Цель работы: приобретение навыка работы с текстовыми функциями

Введение

Хотя главное назначение электронных таблиц состоит в выполнении вычислений, от обработки текстов никуда не уйти. Заголовки и пояснения необходимы всегда. Расчётные данные могут быть размещены среди принятого по электронной почте текста. Конечные результаты расчётов нужно представить в текстовом виде.

Среди функций электронных таблиц есть функции, предназначенные для работы с текстом. В Excel они находятся в категории "Текстовые", в Calc'е – в категории "Текст". Рассмотрим некоторые наиболее употребительные текстовые функции.

Функция CONCATENATE (Calc) или СЦЕПИТЬ (Excel) объединяет ("сцепляет") заданное множество строк в одну. Может показаться, что эта функция дублирует операцию &, которая объединяет две строки в одну. Но следует учесть, что функция CONCATENATE может иметь множество (не более 30) аргументов, а функция СЦЕПИТЬ – не более 255 аргументов. Если требуется объединить тексты в ячейках А4 и В4, то проще применить операцию сцепления

=А4&В4

Если же требуется объединить тексты в ячейках А4:Н4, то применение функции предпочтительнее. Во-первых, символы & нужно вводить вручную, а точки с запятой между аргументами вставляет Мастер функций, во-вторых, формула получается более понятной:

=А4&В4&C4&D4&E4&F4&G4&H4 =CONCATENATE(A4;B4;C4;D4;E4;F4;G4;H4)

Функция TRIM (Calc) или СЖПРОБЕЛЫ (Excel) удаляет из строки все пробелы, кроме одиночных пробелов между словами. Пусть в ячейке D2

находится текст " Номинальный

ток

равен

63

А

".

Формула

 

 

 

 

 

=TRIM(D2)

или

=СЖПРОБЕЛЫ(D2)

вернёт в целевую ячейку текст "Номинальный ток равен 63 А".

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

Функция LEN (Calc) или ДЛСТР (Excel) возвращает длину строки, выраженную числом символов. Пробел входит в число символов, составляю-

52 Microsoft Excel и Apache OO Calc

щих строку. В рассматриваемом примере LEN(D2) = 42, а

LEN(TRIM(D2)) = 26.

Функция FIND (Calc) или НАЙТИ (Excel) ищет в исходной строке позицию, с которой встречается целевая строка. Синтаксис у функций FIND и НАЙТИ одинаковый:

FIND(Что; Где; Старт) НАЙТИ(Что; Где; Старт)

Что – целевая (разыскиваемая) строка.

Где – исходная строка, в которой выполняется поиск. Старт – позиция в строке Где, с которой стартует поиск.

Функции FIND и НАЙТИ выполняют поиск с учётом регистра букв.

Коды заглавных и строчных букв различаются, поэтому при поиске текстовых данных важно определить, различать или нет заглавные и строчные буквы. Поиск текстовых данных, выполняемый с учётом регистра букв, получил название "двоичного", а поиск, выполняемый без учёта регистра букв, получил название "текстового". Функции FIND и НАЙТИ выполняют текстовый поиск.

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

=FIND(" "; С4; 1) =НАЙТИ(" "; С4)

Функция FIND требует задания всех трёх аргументов, для функции НАЙТИ третий аргумент необязательный и по умолчанию =1. Предположим, что в приведённом примере функция FIND (или НАЙТИ) введена в ячейку D4. Требуется ввести в ячейку Е4 формулу для определения позиции второго пробела в строке (строка находится в ячейке C4). В этом случае поиск нужно начать с позиции, смещённой на 1 вправо от первого пробела:

=FIND(" "; С4; D4+1)

=НАЙТИ(" "; С4; D4+1)

Есть ещё одна разница между функциями FIND и НАЙТИ, которая проявляется в окне Мастера функций. Мастер функций Excel окружает, если требуется, значения, задаваемые в полях первого и второго аргументов, кавычками, тогда как Мастер функций Calc этого не делает, и пользователю требуется вводить аргументы вместе с ограничивающими кавычками.

Функции LEFT и RIGHT (Calc) или ЛевСимв и ПравСимв (Excel) возвращают с левого или правого края строки, задаваемой первым аргументом, количество символов, задаваемых вторым аргументом. Следующая формула запишет в целевую ячейку первое слово строки, находящейся в ячейке C4:

=LEFT(С4; D4-1) =ЛЕВСИМВ(С4; D4-1)

Стеценко А. А.

53

Функция MID (Calc) или ПСТР (Excel) возвращает из строки, задаваемой первым аргументом, с позиции, задаваемой вторым аргументом, количество символов, задаваемых третьим аргументом:

MID(Откуда; Старт; Сколько) ПСТР(Откуда; Старт; Сколько)

Следующая формула запишет в целевую ячейку второе слово строки, находящейся в ячейке C4 (считается, что в ячейках D4 и Е4 находятся позиции первого и второго пробелов):

MID(С4; D4+1; Е4-D4-1)

Функции LOWER и UPPER (Calc) или СТРОЧН и ПРОПИСН (Excel) делают все буквы в задаваемых аргументах строчными или прописными. Подобные преобразования бывают необходимыми, когда требуется сравнивать строки "в текстовом режиме" (без различения регистров букв).

Функция REPLACE (Calc) или ЗАМЕНИТЬ (Excel) позволяет заменить часть символов строки. На рис. 23 показан случай замены точки на запятую в строке, принятой из внешнего источника в ячейку В6. Положение точки определяет функция FIND (в Excel – функция НАЙТИ).

Чтобы получить число из аргумента, который является текстом, нужно применить функцию VALUE (Calc) или ЗНАЧЕН (Excel). В Excel можно для

Рис. 23. Замена точки на запятую с помощью функции REPLACE.

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

54

Microsoft Excel и Apache OO Calc

Рабочее задание

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

Часть 1. На основе списка на листе "Персоны" составить список из фамилий и инициалов.

Р1. Откройте свои книги, активизируйте лист Персоны. Если столбец В скрыт, отобразите его.

Р2. Составьте формулы Excel и Calc (одна таблица – формулы Excel, другая таблица – формулы Calc):

 

Таблица 9.

 

Формулы с текстовыми функциями

Ячейка

Результат

B4

Строка в А4 без лишних пробелов

C4

Позиция 1-го пробела в строке в ячейке В4 (формула с абсолютным

 

столбцом)

D4, E4

Позиции 2-го и 3-го пробелов в строке в ячейке В4 (формулы ско-

 

пированы из С4 и исправлены)

F4

1-е слово из строки в ячейке В4 (формула с абсолютным столбцом)

G4, H4

2-е и 3-е слова из строки в ячейке В4 (формулы скопированы из F4 и

 

исправлены)

I4

Фамилия и инициалы

J4

Позиция открывающей скобки в строке в ячейке В4

K4

Позиция 1-го пробела после открывающей скобки

L4

Позиция 2-го пробела после открывающей скобки

M4

Позиция закрывающей скобки в строке в ячейке В4

N4

Дата рождения

О4

Дата ухода из жизни

Р3. Введите формулы, подготовленные в п. Р2, в книгу Excel на лист "Персоны". Убедитесь, что получился требуемый результат.

Р4. Скопируйте формулы из ячеек В4:О4 в диапазон В5:О24 (для этого выделите диапазон B4:О4 и протащите маркер заполнения из ячейки О4 в ячейку О24).

Р5. Введите формулы, подготовленные в п. Р2, в книгу Calc на лист "Персоны". Убедитесь, что получился требуемый результат. Скопируйте формулы из ячеек В4:О4 в диапазон В5:О24.

Покажите результат преподавателю.

Р6. Введите в ячейку F1 книги Excel формулу

=макс(длстр(В4:В24))

и нажмите комбинацию клавиш Ctrl+Shift+Enter. Объясните полученное значение.

Р7. В ячейку F1 с помощью Мастера функций Calc введите формулу

Стеценко А. А.

55

=MAX(LEN(B4:B24))

В окне Мастера функций установите флажок "Массив" и щелкните по кнопке ОК. Объясните полученное значение.

Р8. Сохраните и закройте книги, скопируйте их на личный сменный носитель.

Контрольные вопросы к работе ЭТ8

К1. Определите понятия “Символ”, “Строка”, “Цепочка символов”, “Текст”, “Подстрока”.

К2. В чем состоит операция “Сцепление строк”? Напишите формулу для сцепления строк из ячеек В4:Е4.

К3. Объясните понятие “Длина строки”.

К4. Входят ли пробелы, расположенные в начале или конце строки, в её длину?

К5. С какой целью используется функции TRIM и СЖПРОБЕЛЫ?

К6. Объясните синтаксис и семантику функций MID и ПСТР. Приведите пример из работы.

К7. Объясните синтаксис и семантику функций FIND и НАЙТИ. Приведите пример из работы.

К8. Объясните действие функций LEFT, RIGHT, ЛЕВСИМВ и ПРАВСИМВ. К9. Объясните формулу, которая вводится в ячейку F4 (см. табл. 8).

К10. Можно ли длинную формулу размещать в нескольких строках в одной ячейке?

К11. Объясните ввод функции в формулу с помощью Мастера функций. К12. Объясните формулу “{=макс(длстр(В4:В24))}” (см. п. Р6).

К13. Объясните, как ввести формулу “{=MAX(LEN(B4:B24))}” (см. п. Р7) с помощью Мастера функций.

Работа ЭТ9. Вычисление разности дат

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

Введение

Вэлектронных таблицах тип данных Date/Time (Дата и время) хранится

вчислах типа Double. Целая часть числа представляет дату, дробная – время. Дата как число есть порядковый номер дня, отсчитываемый от некоторого начала, называемого "нулевым днём". В Excel нулевые дни определяются так называемой "Системой дат". Родной в Excel для Windows является система дат 1900 с нулевым днём 00.01.1900. Система дат 1904 с нулевым днём 01.01.1904 является альтернативной и разработана для Excel для MacOS. По умолчанию действует система дат 1900. Если есть причины перейти на систему дат 1904, нужно установить флажок "Использовать систему дат 1904" в

56

Microsoft Excel и Apache OO Calc

группе "При пересчёте этой книги" на вкладке "Дополнительно" диалогового окна "Параметры". В Excel 2003 флажок "система дат 1904" стоит на вкладке "Вычисления" диалогового окна "Параметры".

В Calc'е нулевой день 30.12.1899 ("Стандарт"), 01.01.1900 или

01.01.1904 устанавливается переключателем в группе "Дата" вкладки Вычисления" диалогового окна " Параметры | OpenOffice Calc" меню "Сервис".

Итак, если пользователь оставляет систему дат по умолчанию, то число 1 означает 1 января 1900 г. в Excel и 31 декабря 1899 г. в Calc'е.

Дата, выраженная числом, являющимся порядковым номером дня, называется серийной (Date serial). На экране дата представляется в одном из текстовых форматов. Со встроенными форматами даты можно ознакомиться на вкладке "Число" диалогового окна "Формат ячеек".

Поскольку дата хранится в формате числа, то над датами можно выполнять любые арифметические операции. Другое дело, что не все операции имеют смысл. Что, например, даёт перемножение или деление двух дат?

Операции с датами имеют особенности, в основе которых лежит различная продолжительность месяцев и наличие високосных годов. В некоторых случаях поведение электронных таблиц в отношении дат довольно своеобразно. Введём в две последовательные ячейки одного столбца две даты, различающие на некоторое количество дней. На рис. 24 даты с разницей 20 дней введены в ячейка F5 и F6. Выделим диапазон F5:F6 и протянем маркер заполнения из ячейки F5 в ячейку F9. Ячейки F7:F9 заполнятся датами с шагом 20 дней, что подтверждают данные в ячейках соседнего столбца. В столбце Н проделана та же работа, что и в столбце F, т.е. введены две даты в ячейки Н5 и Н6, выделен диапазон Н5:Н6 и маркер заполнения протянут в

Рис. 24. Автоинкремент с датами в Calc'е. Для данных в столбце I арифметическая прогрессия в днях не соблюдается.

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

Стеценко А. А.

57

Среди функций даты/времени прежде всего отметим функции СЕГОДНЯ и ТДАТА (Excel) и родственные им функции TODAY и NOW (Calc), которые возвращают системную дату (СЕГОДНЯ и TODAY) и системные дату и время (ТДАТА и NOW). Все эти функции не имеют аргументов, т.е. они сообщают то, что есть, но не могут изменить ни системную дату, ни системное время.

Очень полезными являются функции РАЗНДАТ (Excel) и YEARS (Calc), вычисляющие разницу двух дат. Функция РАЗНДАТ имеет следующий синтаксис:

РАЗНДАТ(Дата1; Дата2; КодРазницы)

Результат вычитания (Дата2 - Дата1) зависит от строкового аргу-

мента КодРазницы (табл. 9)

 

Таблица 10.

Коды результата функции РАЗНДАТ

 

 

 

КодРазницы

Разница определяется

 

"y"

в полных годах

 

"m"

в полных месяцах

 

"d"

в полных днях

 

"yd"

в днях с начала года без учета лет

 

"md"

в днях без учета месяцев и лет

 

"ym"

в полных месяцах без учета лет

 

Рассмотрим использование функции РАЗНДАТ на примере. Первый искусственный спутник Земли был запущен 4 октября 1957 г. 1 сентября 2013 г. этому событию исполнилось 55 лет, 10 месяцев и 28 дней (рис. 25).

Рис. 25. Применение функции РАЗНДАТ для вычисления разности дат. В ячейку F2 введена формула "=РАЗНДАТ(D2; E2; "y")", в ячейку G2 –

формула "=РАЗНДАТ(D2; E2; "ym")".

Microsoft делает некую тайну в отношении функции РАЗНДАТ: её не видит Мастер функций, о ней ничего не говорится в справочной системе. Имя функции приходится вводить с клавиатуры.

Функция YEARS(Дата1; Дата2; Тип) более скромна в своих возможностях: она вычисляет разницу в полных (Тип=0) или в календарных (Тип=1) годах. Функция MONTHS является своеобразным дополнением к

58

Microsoft Excel и Apache OO Calc

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

Рабочее задание

Р1. Откройте свои книги Excel и Calc.

Р2. На свободном листе книги Excel вычислите свой возраст в полных годах, месяцах и днях на текущую дату (см. пример с запуском первого искусственного спутника).

Р3. На свободном листе книги Calc определите свой возраст в полных годах и в полных месяцах на текущую дату.

Р4. В книге Excel перейдите на лист "Персоны". Убедитесь, что Вы полностью выполнили работу ЭТ8 и в ячейках N4:N24 находятся даты рождения, а в ячейках О4:О24 – даты смерти.

Р5. Введите в ячейку Р4 формулу

=разндат(N4;O4;"y")

Объясните, почему функция РАЗНДАТ выдаёт сообщение #ЗНАЧ!, свидетельствующее о неправильном применении функции.

Р6. Проверьте возможность подключения надстройки ДатыVBA.xla. Если надстройки нет в списке доступных надстроек, обратитесь к преподавателю.

Подключение надстроек к исполняющей системе Excel выполняется в диалоговом окне "Надстройки". В Excel 2010 окно "Надстройки" появляется после команд "Файл | Параметры | Надстройки". В Excel 2003 нужно дать команду "Сервис | Надстройки…".

В надстройке ДатыVBA.xla имеется функция РазностьДат, подобная функции РАЗНДАТ, только третий параметр указывается русскими буквами: г – год, м – месяц, н – неделя, д – день.

Р7. С помощью Мастера функций введите в ячейку Q4 формулу для вычисления разности дат в полных годах с помощью функции РазностьДат (она находится в категории “Определенные пользователем”). Скопируйте формулу из ячейки Q4 в остальные ячейки списка.

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

Р9. Проведите вычислительный эксперимент, дающий ответ на вопрос о том, в каких годах – полных или неполных – дают результат функции РАЗНДАТ и РазностьДат. Запишите вывод в своем рабочем журнале.

Рекомендация. Вычислите разность дат, которые отличаются от одного года на 1 день в большую или меньшую сторону.

Р10. Отключите надстройку “Вычисление разности дат” (снимите флажок в окне "Надстройки").

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

Стеценко А. А.

59

бующиеся для данного сеанса Excel, лучше не подключать – подключить их можно в любой момент.

Р11. Сохраните и закройте свои книги. Скопируйте книги на свой резервный носитель.

Контрольные вопросы к работе ЭТ9

К1. Как хранятся даты и времена в памяти ячеек электронных таблиц? К2. Объясните понятие "нулевой день".

К3. Что означают системы дат 1900 и 1904?

К4. Какие нулевые дни можно установить в Calc'е? Как это сделать?

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

К6. Как вы представляете дату и время в текстовом формате? Приведите примеры.

К7. Как Вы представляете дату в числовом формате? К8. Как Вы представляете время в числовом формате?

К9. Какое значение возвращают функции СЕГОДНЯ и ТДАТА? К10. Какие операции возможны с датами?

К11. Как воспользоваться функцией РАЗНДАТ?

К12. Какие вычисления позволяет выполнять функция РАЗНДАТ? К13. Как подключаются надстройки к исполняющей системе Excel? К14. Где хранятся надстройки пользователя?

К15. Почему функции РАЗНДАТ и YEARS не работают на листе "Персоны"?

К16. Вместе с Excel устанавливается несколько надстроек. Как узнать, где они находятся?

Работа ЭТ10. Учет времени

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

Введение

Время в электронных таблицах представляется дробной частью числа типа Double. Значение 1 соответствует одним суткам, одному часу соответствует число 1/24=0,041667, полдню (12:00) соответствует число 0,5. Такая условность позволяет в одном числе хранить дату и время, но порождает несколько проблем. Как подсчитать продолжительность рабочей недели, которая измеряется в часах и которая больше, чем 23:59:59? Как определить продолжительность ночной смены, которая начинается в одних сутках и заканчивается в других? Как правильно составлять формулы, в которых участвует время? Секунда – основная единица времени в науке и технике, а как представить 36 000 секунд?

60

Microsoft Excel и Apache OO Calc

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

Таблица 11. Время в символьном формате времени и числовые эквиваленты

Время в обычном

Время в символьном

Числовой эквивалент

понимании

формате времени

 

1 час

01:00:00

1/24

1 мин.

00:01:00

1/(24*60)

1 с

00:00:01

1/(24*60*60)

Пример 1. В ячейке В2 находится расстояние, равное 1м. В ячейке С2 хранится скорость, равная 1 м/с. В ячейке D2 требуется записать формулу, определяющую время движения. Результат в ячейке D2 представим в формате времени и получим 0:00:00, т.е. время движения равно нулю. В соответствии с табл. 10 правильная формула в ячейке D2 такая:

=В2/С2/(24*60*60)

Пример 2. Автомобиль движется со скоростью 60 км/час. Какой путь он пройдёт за 1 час? Записав в ячейку В4 скорость и в ячейку С4 время 1:00:00, введём в ячейку D4 формулу "=В4*С4" и получим результат 2,50. Правильная формула в ячейке D4 такая:

=В4*С4*24

Пример 3. Паром идёт со скоростью 19 узлов. За какое время он преодолеет путь длиной 280 км из Ванино до Холмска? Скорость парома в мет-

рическом виде равна 19 1,852=35,188 км/час. Время перехода Ванино – Холмск найдём по формуле "время = путь / скорость". Разместив путь в ячейке В6, скорость в ячейке С6 и время в ячейке D6, введём в ячейку D6 формулу "=В6/С6" и получим результат 22:58, т.е. почти сутки. Правильная формула в ячейке D4 должна быть такой:

=В6/С6/24

Узел – морская единица скорости, равная одной морской миле в час. Морская миля – это длина одной угловой минуты земного меридиана и равна 1,852 км.

Нет проблем определить продолжительность временного интервала между двумя моментами времени, находящимися в одних календарных сутках. Если момент начала находится в ячейке F4, а момент конца – в G4, то продолжительность временного интервала равна

=G4-F4

Решение усложняется, если моменты начала и конца находятся в разных сутках. Пусть в ячейке J5 указано время восхода солнца 2 сентября, а в ячейке K4 – время захода солнца 1 сентября. В ячейку L5 нужно ввести формулу для вычисления продолжительности ночи. Решение выглядит так. Ночь состоит из двух частей: от захода до полуночи и от полуночи до восхода.

Соседние файлы в папке Calc_and_Excel Лабы, ответы Стеценко