| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
День недели прописьюExcel предоставляет в распоряжение пользователя множество числовых форматов и функций. Однако встроенные средства, позволяющие написать дату и число прописью, в программе отсутствуют. Давайте попытаемся устранить эти недостатки. В процессе работы вы научитесь применять новые функции и реализовать сложные алгоритмы. Предположим, вам необходимо определить, какому дню недели соответствует дата, находящаяся в интервале от 1900 до 9999 года. Сделать это в Excel довольно просто, но в качестве ответа вы получите порядковый номер дня недели. К тому же в зависимости от установок номеру могут отвечать разные дни. Конечно, это не очень удобно. Поэтому давайте составим модуль, который будет определять по дате день недели и возвращать не его порядковый номер, а название. День недели позволяет определить функция ДЕНЬНЕД, которую можно ввести, вызвав мастер функций и выделив в списке Категория элемент Дата и время (рис. 6.1). Синтаксис функции следующий: ДЕНЬНЕД (дата_в_числовом_формате; тип) Она возвращает день недели, соответствующий первому аргументу дата_в_чи-словом_формате. День недели будет представлен как целое число в интервале от 1 (воскресенье) до 7 (суббота). Аргумент дата_в_числовом_формате - это код дата-время, который Excel
применяет для операций в датами. Данный аргумент можно задавать и в текстовом
виде, заключив строку в кавычки. Тип - это число, определяющее нумерацию дней
недели. Аргумент Тип может принимать следующие значения: Таким образом, в зависимости от типа, указанного в функции ДЕНЬНЕД, 5-й день недели может быть четвергом, пятницей или субботой. Чтобы не задавать второй аргумент, будем считать, что 5-й день недели - это четверг.
Рис. 6.1. Мастер функций: категория Дата и время Введите в ячейку А1 любую догу, например 6.01.2002 г. Для наглядности задайте для этой ячейки формат даты. Перейдите в ячейку А2 и вызовите панель функции ДЕНЬНЕД (рис. 6.2). В поле Дата_как_число введите адрес ячейки А1.
Рис. 6.2. Панель функции ДЕНЬНЕД После этих действий ячейка А2 будет содержать следующую формулу: =ДЕНЬНЕД(А1) Эта формула вернет результат, равный 1. Значит, интересующий нас день - воскресенье. Теперь приступим к реализации алгоритма, позволяющего написать прописью название этого дня недели. Введите в ячейку A3 формулу, созданную на основе логической функции ЕСЛИ: =ЕСЛИ(А2=1;"Воскресенье";А4) Формула сравнивает номер дня недели со значением 1. Если результатом сравнения является ИСТИНА, то в ячейке A3 появится текст Воскресенье. В противном случае значение ячейки A3 будет определяться содержимым ячейки А4. В ячейке А4 должна находиться аналогичная формула: =ЕСЛИ(А2=2;"Понедельник";А5) Если номер дня недели отвечает понедельнику (равен 2), то в этой ячейке появится текст Понедельник. Данное значение затем передается в ячейку A3. Заполните аналогичными формулами для других дней недели ячейки А5:А7. А вот в ячейку А8 поместите следующую формулу: =ЕСЛИ(А2=6;"Пятница";"Суббота") Она не содержит ссылок на другие ячейки, поскольку мы уже перечислили все дни недели. Алгоритм, реализованный при помощи этих формул, представлен на рис. 6.3.
Рис. 6.3. Алгоритм работы таблицы, формирующей название дня недели Разработанная нами таблица располагается в диапазоне ячеек А1:А8, ее входом является ячейка А1, выходом - ячейка A3. На рис. 6.4 показана таблица с формулами, а на рис. 6.5 - с числовыми значениями. Воспользуемся методом вложения формул и минимизируем эту таблицу. На ее базе можно создать модуль, состоящий всего из двух ячеек. Ячейка А1 будет служить входом модуля, а ячейка А2, в которой производятся вычисления, - выходом. Ячейка А2 должна содержать следующую формулу: =ЕСЛИ(ДЕНЬНЕД(А1)=1;"Воскресенье"; ЕСЛИ(ДЕНЬНЕД(А1)=2;"Понедельник"; ЕСЛИ(ДЕНЬНЕД(А1)=3;"Вторник"; ЕСЛИ(ДЕНЬНЕД(А1)=4;"Среда"; ЕСЛИ(ДЕНЬНЕД(А1)=5;"Четверг"; ЕСЛИ(ДЕНЬНЕД(А1)=6;"Пятница","Суббота"))))))
Рис. 6.4. Таблица, формирующая название дня недели (с формулами)
Рис. 6.5. Таблица, формирующая название дня недели (с числовыми значениями) Данный модуль можно перемещать по рабочему листу и копировать в другие книги (файлы) и рабочие листы. Подкорректировав ссылку в формуле, вы можете изменить расположение ячеек входа и выхода: разместить их не в одной строке, а в одном столбце (рис. 6.6).
Рис. 6.6. модули, формирующие название дня недели (с числовыми данными и формулами) Рубрика: Написание числовых данных прописью
Google Developer Day 2008 в Москве.
Дата проведения: 28 октября 2008 г.; Место проведения: Амбер Плаза, Москва, Россия. Конференция для веб-разработчиков и разработчиков мобильных приложений в Москве. Узнайте, как наилучшим образом использовать инструменты разработки и API от Google, чтобы создавать социальные, мобильные и картографические приложения, как использовать AJAX/JavaScript инструменты и библиотеки от Google и многое другое из первых уст.
Подробнее... |
Рубрика: Мероприятия
| Добавлено: 05.09.2008
ТОП 10 самых раздражающих факторов для программиста.
Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее раздражающих вещей для программиста. Поскольку он был на английском — решил перевести текст и несколько адаптировать к нашим реалиям…
Подробнее... |
Рубрика: Разное
| Добавлено: 03.09.2008
Windows Server 7, 8 и 9.
Подробнее... |
Рубрика: Windows Server 2003
| Добавлено: 03.09.2008
Остальные статьи:
jQuery для JavaScript-программистов
Инновационный веб-броузер Google Chrome стартует уже сегодня
Windows 7: подход к производительности системы
Trac + Subversion @ Ubuntu: Revisited
[g]Vim в режиме Python: Рекомпиляция в Windows
Java + JSON. Пути к дружбе
Драйвер SQL Server 2005 для PHP
Типы данных в MySQL (сжатый справочник для PHP программиста)
PHP класс для работы с Яндекс.XML
Ошибки начинающих PHP разработчиков
Наследование шаблонов в Smarty
Особенности хранения сессий PHP в memcached
Internet Explorer 8 beta 2
9 правил для начинающего Ajax-разработчика
ExtJS 2.2 - полная поддержка Firefox 3, новые виджеты и другие нововведения
Windows 7: под покровом тайны |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|