Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр №3 Calc.rtf
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
55.29 Mб
Скачать

Логические функции

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

– условие, второй аргумент – формула, которая работает при выполнении условия, третий аргумент – формула, которая работает если условие не выполняется.

Пусть, например, ячейка D5 содержит формулу "=IF(A1<100,С2*10,"н/у")". Если значение в ячейке A1 меньше 100, то D5 примет значение равное значению ячейки C2, умноженному на 10. Если же значение в клетке A1 не меньше 100, то ячейка D5 примет текстовое значение "н/у".

В аргументах функции IF() могут использоваться другие логические функции – AND(), OR(), NOT().

Функция AND() (логическое "И") имеет формат: АND(условие1,условие2,….условиеN).

Она принимает значение "логическая 1" (т.е. "ИСТИНА" - TRUE), если выполняются все условия. В остальных случаях функция AND() принимает значение "логический 0" (т.е. "ЛОЖЬ" - FALSE).

Функция OR() (логическое ИЛИ) имеет формат: OR(условие1 ,условие2 ... условиеN ).

Она принимает значение "логический 0" (т.е. "ЛОЖЬ" -FALSE), сли не выполняется ни одно из условий. В остальных случаях функция OR принимает значение "логическая 1" (т.е. "ИСТИНА" -TRUE).

Функция NOT (логическое отрицание) имеет формат: NOT(условие).

Эта функция принимает значение "ИСТИНА", если условие не выполняется и наоборот. В OOo Calc определены еще две логические функции – TRUE() и FALSE(). Они выдают значения соответственно ИСТИНА и ЛОЖЬ.

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

Например, сложная функция =IF(A1<100,"ку-ку",IF(A1=100,"ура",C1)) выполняет следующие действия: если значение в ячейке A1 меньше 100, то выводится текстовое значение "ку-ку". В противном случае проверяется условие вложенной функции IF(). Если значение в ячейке A1 равно 100 выводится текстовое значение "ура", иначе выводится значение из ячейки C1. Toт же результат может быть получен с помощью выражения =IF(A1<>100,IF(A1<100,"ку-ку",C1),"ура").

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

Календарные функции

Календарные функции в программах ЭТ предназначены для работы с датами. Дата в программе ЭТ формируется с использованием системного таймера как количество дней, прошедших с какого-то начала отсчета. ЭТ OOo Calc позволяет задавать начальную дату ("нулевой день"). Количество дней, прошедших от нулевого, преобразуется с помощью календаря операционной системы в структуру ДД/ММ/ГГГГ, где ДД – номер дня в месяце, ММ – номер месяца в году, ГГГГ – номер года нашей эры (например, 28/04/2003 означает 28 апреля 2003 года). В зависимости от формата ячейки, содержащей дату, представление может быть изменено (например, вместо 28/04/2003 получится 28 апр.)

Календарные функции обычно находятся в категории “Дата и время”, рассмотрим основные из них.

Функция TODAY() не имеет аргументов и выдает значение текущей даты в стандартном формате.

Функции DAY(адрес_ячейки), MONTH(адрес_ячейки) и YEAR(адрес_ячейки) выдают, соответственно, номер дня в месяце, номер месяца в году и номер года для даты, записанной в ячейке " адрес_ячейки ".

Функции DAYS(нач.дата;кон.дата;тип), WEEKS(нач.дата;кон.дата;тип), MONTHS(нач.дата;кон.дата;тип), YEARS(нач.дата;кон.дата;тип) вычисляют соответственно количество дней, недель , месяцев или лет между двумя датами. Назначение аргумента "тип" будет понятно из приведенного ниже примера.

Функция DATE(адр1;адр2;адр3) формирует дату из трех чисел (номера года, номера месяца и номера дня), записанных соответственно в ячейках "адр1", "адр2", "адр3".

Функция WEEKDAY(адрес_ячейки;тип) выдает номер дня недели для даты, записанной в ячейке " адрес_ячейки". Обычно отсчет начинается с воскресенья ("тип" не указан или "тип"=1), как это принято в США. Если указать "тип"=2, то первым днем недели будет считаться понедельник.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]