Логические функции и абсолютные адреса
Оглавление | Главная | Статистика | Войти | Регистрация |
Основные темы параграфа:
Запись и выполнение логических функций
Продолжим совершенствование таблицы учета продажи молочных продуктов. В условии подвоза товара желательно учесть следующее обстоятельство: подвозить товар не имеет смысла, если торговый павильон заканчивает работу. Это тоже можно предусмотреть и электронной таблице. Ячейку Е9 будем использовать для хранения значения времени (в часах), оставшегося до конца рабочего дня. Условие подвоза товара сформулируем так: товар подвозить, если оставшееся его количество равно нулю И до конца рабочего дня осталось больше двух часов.
При записи сформулированного выше условия в форме логического выражения должна быть использована логическая операция И (конъюнкция, логическое умножение). Работая с базами данных, вы познакомились с логическими операциями. Однако в электронных таблицах несколько иные правила записи логических выражений, содержащих логические операции.
В электронных таблицах логические операции (И, ИЛИ, НЕ) рассматриваются как логические функции.
Например, логическое выражение, которое принимает значение ИСТИНА, если выполняется сформулированное выше условие подвоза товара, пишется следующим образом (для второй строки, т. е. для йогурта):
И(Е2=0; Е9>2)
Перед скобками ставится имя логической операции (функции), а в скобках — логические операнды.
Следовательно, теперь условная функция в ячейке G2 должна выглядеть так:
ЕСЛИ(И(Е2=0; Е9>2); "Да"; "Нет")
Но в этой формуле таится опасность. Вам уже известно, что при любых манипуляциях с таблицей, связанных с переносом формул в другие ячейки, происходит изменение адресов переменных. Работает принцип относительной адресации. Однако в данном случае адрес ячейки Е9 не должен изменяться в формуле. Иначе говоря, этот адрес должен быть не относительным, а абсолютным.
Абсолютные адреса
уществует способ «замораживания» адресов в электронных таблицах. На «замороженный» в формуле адрес ячейки не распространяется принцип относительности. Обычно для этой цели используется значок «$». Можно «заморозить» только номер строки или только имя столбца. Чтобы адрес ячейки сделать абсолютным (неизменным при любом переносе формулы в таблице), нужно знак «$» писать дважды: $Е$9.
Теперь должно быть понятно, что условную функцию, решающую вопрос о подвозе товара, следует записать так:
ЕСЛИ(И(Е2=0;$Е$9>2);"Да";"Нет")
Функция времени
Осталось обсудить формулу, вычисляющую количество времени, оставшееся до конца рабочего дня. Можно, посмотрев на часы, вручную вставить это время в ячейку Е9. Но в современных табличных процессорах существуют специальные функции (функции времени), позволяющие получить текущее время. Это возможно благодаря тому, что в состав аппаратной части компьютеров входит таймер — внутренние часы компьютера. Если рабочий день заканчивается в 20 часов, то формула должна быть такой: 20 - ТЕКУЩИЙ ЧАС. Пусть, например, функция определения текущего часа записывается так: ЧАС(ТДАТА()).
После внесения изменений таблица в режиме отображения формул примет вид табл. 4.10, а в режиме отображения значений — табл. 4.11.
Таблица 4.11. Таблица в режиме отображения формул
Таблица 4.12. Таблица в режиме отображения значений
Обратите внимание на то, что из табл. 4.12 следует, что молоко уже закончилось, но подвозить его не следует, так как до конца рабочего дня осталось 2 часа.
Коротко о главном
При записи логических выражений можно пользоваться логическими операциями: И, ИЛИ, НЕ. В электронных таблицах логические операции употребляются как функции.
Возможно «замораживание» адресов ячеек, используемых в формулах. «Замороженный» адрес становится абсолютным, т. е. на него не распространяется принцип относительной адресации.
Практическое задание
1. Разработать таблицу, содержащую следующие сведения о восьми абитуриентах университета: фамилия, оценка за экзамен по математике, оценка за экзамен по физике, сумма баллов за два экзамена. Проходной балл для поступления равен 8.
2. Добавить в таблицу столбец, в котором будет выводиться ИСТИНА, если абитуриент не имеет «троек», и ЛОЖЬ - в противном случае (использовать логическое умножение).
3. Добавить в таблицу столбец, в котором будет выводиться ИСТИНА, если абитуриент имеет хотя бы одну «пятерку», и ЛОЖЬ в противном случае (использовать логическое сложение).
4. Добавить в таблицу столбец, в котором будет выводиться «зачислен», если сумма баллов абитуриента больше или равна проходному баллу, и «нет», если сумма баллов меньше проходного балла (использовать условную функцию).
5. Определить, сколько абитуриентов было зачислено в университет (использовать функцию СЧЁТЕСЛИ).
6. Отсортировать таблицу по возрастанию суммы баллов, полученной абитуриентами.
7. Оформить таблицу с использованием различного типа границ, заливки ячеек и шрифтов.
8. Создать гистограмму, отображающую информацию о сумме баллов, набранной каждым абитуриентом.