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

Логические функции проверяют, выполняются ли какие-нибудь условия: если выполняются, это расценивается как ИСТИНА, если нет – ЛОЖЬ. В зависимости от того, что дает проверка условий – истину или ложь, логические функции отображают какое-нибудь числовое значение или выполняют вычисление по формуле.

Простые логические функции И( ; ; ), ИЛИ( ; ; ), НЕ( ) после проверки условий отображают одно из двух значений: ИСТИНА или ЛОЖЬ. Функция И требует всех условий, функция ИЛИ – выполнения хотя бы одного условия из перечисленных, а НЕ – требует невыполнения условия.

Логическая функция И(;;) может содержать несколько проверяемых условий (логических значений через точку с запятой); возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА; возвращает значение ЛОЖЬ, если хоть один аргумент имеет значение ЛОЖЬ. Пример: =И(С15>0;О4=13%*В5).

Логическая функция ИЛИ(;;) может содержать несколько условий (через точку с запятой); возвращает значение ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА; возвращает значение ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ. Пример: =ИЛИ(С15>0;D4= 13%* В5).

Принимая в качестве аргументов от двух до тридцати логических выражений, логические функции И(;;) и ИЛИ(;;) возвращают значения либо ИСТИНА, либо ЛОЖЬ. Эти функции из многих логических выражений "делают" одно, за что они получили название объединяющих функций. Юристы часто используют эту особенность логических функций при формулировании отдельных статей законов или договоров.

Функция НЕ() проверяет условие и меняет значение ИСТИНА на ЛОЖЬ, ЛОЖЬ – на ИСТИНА, т.е. логическое значение своего аргумента меняет на противоположное;

используется в случаях, когда необходимо быть уверенным в том, что указанное условие не выполняется. Пример: =НЕ(С15>0).

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

=ЕСЛИ(условие; значение если истина; значение если ложь).

Или короче:

=ЕСЛИ(условие; если да; если пет).

Если условие выполняется (истина), то отображается значение если истина (записанное после точки с запятой на второй позиции); если условие не выполняется (ложь), то отображается значение если ложь.

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

Логическое выражение задастся операторами "больше", "меньше", "равно", "больше или равно", "меньше или равно"; по результатам проверки выражения выдается логическое значение ИСТИНА или ЛОЖЬ. Если выражение дает логическое значение ИСТИНА, то функция ЕСЛИ возвращает значение своего второго аргумента ("если да"). Возвращает, т.е. выдает значение ячейки. Если условие дает ЛОЖЬ, то функция возвращает значение своего третьего аргумента ("если нет").

Функция =ЕСЛИ(С12>3;К20;45) означает: если в ячейке С12 значение больше 3, то вывести (возвратить) значение ячейки R20, а если нет, то возвратить число 45. Функция =ЕСЛИ(F5>0;20%*F5;10%*F5) возвращает 20% введенного числа F5 или 10% числа в зависимости от знака из ячейки F5.

Функция с текстом в кавычках =ЕСЛИ(F8>0;“Сектор приз”; “Вы банкрот”) возвращает в свою ячейку текст в зависимости от знака числа из ячейки F8.

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

=ЕСЛИ(ИЛИ(А5>=20;А5<3);С5-В5;0),

=ЕСЛИ(И(В4>0;С4>0);А4*В4;А4/С4).

В отличие от функций И(;;), ИЛИ(;;), НЕ( ), которые помещают в ячейки только слова ИСТИНА или ЛОЖЬ, функция ЕСЛИ(;;) возвращает любые значения.

Функции дат и времени

Программа Excel для Windows использует систему дат 1900, хранит даты как ряд последовательных номеров: по умолчанию 1 января 1900 г. имеет номер 1, а 16 февраля 2001-го – номер 36938, так как интервал в днях между этими датами составляет 36938. Конец отсчета – 31 декабря 9999 г. Годы с 00 до 29 воспринимаются как годы 1900– 1929; 2030 год и далее необходимо вводить полностью. В Excel для Macintosh система дат 1904 – отсчет дат ведется с 1904 г.

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

Функция =ДАТА(год;месяц;день) возвращает День.Месяц.Год, т.е. аргументы вводятся в обратной последовательности, а выводится европейский (русский) стандарт даты. Например, функция =ДАТА(2011;12;1) возвратит 01.12.11.

Функции =СЕГОДНЯ() и ТДАТА() не имеют аргументов в скобках. Сверившись с системными часами компьютера, функция =СЕГОДНЯ() возвращает сегодняшнюю дату, а функция =ТДАТА() возвращает в одну ячейку и текущую дату, и текущее время.

Рассмотрим случай, когда в ячейку С5 введена функция =ТДАТА() и формат ячейки настроен так, чтобы показывать дату и время, например 08.09.12 16:15. После этого в других ячейках можно вывести избирательные сведения с помощью функций, ссылающихся на ячейку С5.

Функция =ДЕНЬНЕД(С5) выведет день недели 7 (седьмой день недели – воскресенье).

Функция =ГОД(С5) выведет 2012.

Функция =МЕСЯЦ(С5) выведет 9 (сентябрь).

Функция =ЧАС(С5) выведет 16 (часов).

Функция =МИНУТЫ(С5) выведет 15 (минут).

Формат значений времени и дат устанавливает команда Формат ячеек, Число, Дата (или Время) по образцам или обозначениям формата:

ДД.ММ.ГГ – означает без пробела День.Месяц.Год, разделенные точкой, без точки в конце, например 31.12.98 и 13.08.07;

ЧЧ:ММ:СС или ЧЧ:ММ (без пробела) – означает, что часы, минуты и секунды будут представлены в виде 11:35:22 или 23:40.

Вычисления по формулам с датами

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

Число дней между датами вычисляется по формуле разности с записью каждой даты в кавычках по шаблону =“ДД.ММ.ГГ” – “ДД.ММ.ГГ”.

Например, формула =“30.06.2016” – “01.09.2011” возвратит число 1764 – дни за пять лет обучения в вузе с учетом високосных лет. Еще пример: срок завершения работ по контракту 31.12.2011, фактический срок завершения работ 14.11.2012. Опоздание в днях вычисляет формула =“14.11.2012”-“31.12.2011”.

Формулы вычислений с датами удобно записывать с адресами ячеек, в которых введены даты. Например, формула =К4-С4 из адреса ячейки КА с поздней датой вычитает адрес ячейки СА, содержащей раннюю дату. Кавычки к адресу ячейки при такой записи не нужны. Если в С40 ввести прибытие по расписанию 10:14, в D40 фактическое прибытие 17:08, то время опоздания составит =C40-D40.

Чтобы узнать дату через определенное число дней, дни можно прибавлять к дате и вычитать. Например, прибавлять 60 дней =“1.01.2012”+60 или вычесть 100 дней =СЕГОДНЯ()-100.

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

=ДАТА( 1945;05;09)-ДАТА( 1941;06;22).

Аргументы функции можно представить адресами ячеек, в которых записаны числа, например ДАТА(С40;Э40;Е40).