На этом шаге мы рассмотрим особенности создания такого журнала.
Основным элементом приложения, на основании данных которого будут генерироваться командировочные удостоверения, является журнал регистрации.
Для создания приложения откройте новую книгу Excel и присвойте ей имя, например, Генератор Командировочных Удостоверений, и сохраните файл на жестком диске компьютера.
В новой книге будут находиться два рабочих листа:
Остановимся более подробно на журнале регистрации командировочных удостоверений.
Журнал регистрации представляет обыкновенную табличную базу данных, или с позиции Excel - список. Поля базы данных расположите в любом, удобном для пользователя порядке, например, как показано на рисунках 1 и 2.
Рис.1. Левая область журнала регистрации командировочных удостоверений на рабочем листе ЖурналРегистрацииКУ
Рис.2. Правая область журнала регистрации командировочных удостоверений на рабочем листе ЖурналРегистрацииКУ
Наименование предприятия введите в ячейку А1.
Данные по каждому командировочному удостоверению размещены горизонтально в ячейках одной строки (запись базы данных), количество ячеек которой ограничена столбцами <B>А:М</B> (поля базы данных). По усмотрению пользователя можно вводить дополнительные поля, в зависимости от необходимости. Количество записей в списке ограничивается размерами самого рабочего листа, то есть может содержать несколько десятков тысяч. В нашем примере заполнено только несколько строк. При проектировании зададимся условием, что разрабатываемое приложение будет содержать до 200 записей. Поэтому ограничьте вертикальное расположение таблицы 200-й строкой.
Следует заметить, что применение подобного приложения на практике представляет интерес для пользователя при количестве оформляемых документов (командировок) до двух-трех тысяч в год, когда руководство предприятия считает, что данный рабочий процесс еще не нуждается в автоматизации, но тем не менее уже занимает значительную часть рабочего времени.
Один из методов ввода записей в журнал регистрации - это копирование заполненных строк с наиболее подходящими данными, вставку их в конец списка и последующее редактирование находящегося в ячейках этой строки текста. Это не самый оптимальный способ, но далее будут предложены и другие возможные варианты, которые можно применять по мере освоения материала.
Для удобства в работе со списком желательно использовать некоторые сервисные возможности Excel, например, закрепление областей рабочей таблицы.
Закрепление областей позволяет видеть одновременно на экране строку заголовков и, например, два левых столбца, с расположенными в них порядковым номером и фамилией. Для закрепления областей рабочей таблицы в рассматриваемом примере поместите табличный курсор в ячейку С4 и выполните команду Окно |Закрепить области.
При подобном заполнении журнала регистрации все-таки присутствует довольно большая доля ручного труда по вводу новых и редактированию данных, введенных методом копирования. Но если приложить некоторые усилия, можно заставить Excel выполнять часть этих операций автоматически. Для этого введите в журнал регистрации формулы, рассмотренные ниже.
Копирование этой формулы в ячейки столбца А, расположенные ниже ячейки А5 позволит не допустить ввода ошибок с нумерацией командировочных удостоверений. При указании диапазона в формуле применена абсолютная ссылка на ячейку А4 и поэтому при копировании ее, диапазон определения максимального номера будет изменяться - от ячейки А4 до соседней ячейки, находящейся выше ячейки, в которую будет осуществляться вставка.
=СЦЕПИТЬ(ЛЕВСИМВ(G4;14);A4)
Функция ЛЕВСИМВ из текста 19.01.2003г. № 01-К, введенного в ячейку G4, возвращает левые 14 символов (в том числе и пробелы). Функция СЦЕПИТЬ производит соединение выделенного текста с порядковым номером, находящимся в ячейке А4.
Но данная формула имеет существенный недостаток - предполагается, что текст даты и номера приказа в ячейку G4 введен правильно и из этого текста нужно выделить только 14 левых символов. Если же при наборе текста с клавиатуры введены лишние пробелы, то формула возвратит совсем не ту текстовую строку, которая предполагалась. И второй недостаток -значение 14 (номер позиции символа № в тексте) введено в формулу в виде константы.
Недостатки устраняются вводом в формулу функции СЖПРОБЕЛЫ, которая удаляет лишние пробелы в тексте, введенном в ячейку G4, после чего функция НАЙТИ производит поиск номера позиции символа №. Возвращенный номер позиции и является тем количеством символов, которые будут возвращены далее функцией ЛЕВСИМВ. Полученная усовершенствованная формула:
=СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(G4);НАЙТИ("№";СЖПРОБЕЛЫ(G4)));A4)
Таким образом, текст 19.01.2003г. №1 в ячейке Н4, содержащий дату и номер командировочного удостоверения, формируется в полуавтоматическом режиме.
Автоматизация этого процесса избавит специалиста от расчета количества дней на пальцах или с помощью подсчета количества дней в настольном календаре.
В первом случае для автоматического определения продолжительности командировки в ячейку К5 (Срок командировки) введите формулу:
=J5-I5+1
Во втором случае в ячейке J6 может находиться формула:
=I6+K6-1
На следующем шаге мы перейдем к командировочным удостоверениям.