Общие сведения о логических выражениях

 

Создайте в рабочей книге Excel новый лист «Логика».

Введите в ячейку А1 формулу =7>5. Она вернет значение Истина. Теперь введите в ячейку А2 формулу =3>5. Эта формула вернет значение Ложь. Правые части обеих формул представляют собой высказывания, т.е. утверждения, относительно которых можно заключить, верны они или нет. Арифметические формулы, которые мы изучали на предыдущих занятиях, например формула =$A2*B$1, высказываниями не являются. Арифметические формулы предписывают, как по исходным данным вычислить значение, и вопрос об их истинности или ложности не имеет смысла.

Рассмотрим другой пример. Введите в ячейку А4 число 2, а в ячейку И4 формулу =А4>3. Формула возвращает значение ЛОЖЬ. Теперь исправьте содержимое ячейки А4 – введите число 6. Формула возвращает значение ИСТИНА. В ячейке В4 записан предикат, т.е. высказывание с переменными (в данном случае переменная одна). В зависимости от значения переменных предикат может принимать значения Истина или ЛОЖЬ. В этом примере формула как бы дает ответ на вопрос: «Число (или результат вычислений по формуле), хранящийся в ячейке А4, превышает число 3?» В зависимости от значения А4 ответ будет либо ДА (ИСТИНА), либо НЕТ (ЛОЖЬ).

Сравнение двух арифметических выражений, содержащих переменные, дает предикат. В формуле =А4>3 ее составные части (А4 и 3) можно считать арифметическими выражениями, только очень простыми. Более сложный пример: =3*(A4^2-1)>(2*A4+1)/5.

Сведем операции сравнения в таблицу.

> >= < <= = <>
больше больше или равно меньше меньше или равно равно не равно

 

Обратите внимание, что символ отношения «больше или равно» изображается двумя знаками. Причина в том, что на клавиатуре отсутствует знак ≥.

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

Название Обозначение Функция Excel
Отрицание НЕ
Конъюнкция & И
Дизъюнкция V ИЛИ

 

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

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

Таблица для функции НЕ.

х НЕ(х)
ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ

 

Таблица для функций И и ИЛИ

х у И(х,у) ИЛИ(х,у)
ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ
ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА
ИСТИНА ИСТИНА ИСТИНА ИСТИНА

 

Функция НЕ может иметь только один аргумент, а функции И и ИЛИ два и более аргументов.

На практике в числом виде логические выражения как правило не используются. Логическое выражение служит первым аргументом функции ЕСЛИ:

ЕСЛИ(лог_выражение; значение_если_истина; значение_если_ложь).

В языках программирования высокого уровня этой функции соответствует оператор

если лог_выражение то действие1 иначе действие2

Лог_выражение – это любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ. Например, A10=100 — это логическое выражение; если значение в ячейке A10 равно 100, то выражение принимает значение ИСТИНА. В противном случае — ЛОЖЬ.

Например, сведения о предполагаемых и фактических расходах сведены в таблице в интервале A1:C4.

Предполагаемые расходы Фактические расходы Бюджет
 
 
 

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

=ЕСЛИ(A2>B2; «Превышение бюджета»; «Бюджет не превышен»)