Работа с математическими и статистическими функциями. Расчёт зарплаты сотрудникам кафедры с помощью формул. Анализ данных. Автоматизация процесса подготовки документа, страница 14

Справку разместите на рабочем листе (где находятся таблицы с исходными данными), для чего требуется ввести формулы. Чтобы составить формулы, достаточно использовать функции ЕСЛИ(), ИНДЕКС(), СЦЕПИТЬ(), ПРАВСИМВ(), ЛЕВСИМВ(), ДЛСТР().

Сначала нужно ввести формулы, изменяющие окончания в фамилии, имени и отчестве.

Например, напишем формулу, изменяющие окончание в фамилии на –а (женские фамилии).

Введем сложную формулу в ячейку F33:

=СЦЕПИТЬ(ЛЕВСИМВ(ИНДЕКС(Фамилии;A23);ДЛСТР(ИНДЕКС(Фамилии;A23))-1);"ой");

Функция ИНДЕКС определяет фамилию в ячейке А23, где находится номер фамилии по списку, ДЛСТР возвращает количество символов в ячейке А23, то есть показывает, сколько букв в фамилии, ЛЕВСИМВ возвращает левые символы в фамилии, опустив 1 символ в её конце (то есть убирает окончание в фамилии), СЦЕПИТЬ «приклеивает» к фамилии без окончания новое окончание.

Аналогично пишутся формулы для других фамилий, имён, отчеств.

В ячейку F31 введем формулу, возвращающую окончание фамилии, содержащейся в ячейке А23:

=ПРАВСИМВ(ИНДЕКС(Фамилии;A23));

В ячейку D28 запишем формулу:

=ЕСЛИ(ИНДЕКС(A3:D13;A23;4)=1;"ом";"кой")), здесь функция ИНДЕКС в области таблицы A3:D13 в строке А23 (здесь указан номер фамилии студента  по списку ) и столбце 4 указанной области определяет пол студента. От пола зависит формирование окончания в слове “студент…”;

В ячейку D27 формулу:

=ЕСЛИ(ИНДЕКС(A3:D13;A23;4)=1;"он";"она")), здесь функция ИНДЕКС в области таблицы A3:D13 в строке А23 (здесь указан номер фамилии студента  по списку ) и столбце 4 указанной области определяет пол студента. От пола зависит, что записывается в фразе “удостоверяет, что …” он или она.

После этого можно заняться конкретно справкой.

Первая строчка справки содержит текст «Выдана [Ф.И.О. студента] и удостоверяет, что [он/она]».

Значит, в ячейку В50 введем формулу:

=СЦЕПИТЬ("Выдана ";ЕСЛИ(F31="а";F33;ЕСЛИ(F31="о";F34;ЕСЛИ(F31="й";F35;

ЕСЛИ(F31="ц";F36;F33))));" ";A31;" ";B31;"и удостоверяет, что ";D27);

Вторая строчка справки – «является студент[ом/кой] НГТУ факультета [какого] группы [какой].».

В ячейку В51 формулу:

=СЦЕПИТЬ("является студент";D28;" НГТУ факультета "; ИНДЕКС(A3:G13;A23;7);" группы ";ИНДЕКС(A3:G13;A23;5);".")

Третья строчка справки – «Справка дана для предъявления [куда].».

В ячейку В52 формулу:

=СЦЕПИТЬ("Справка дана для предъявления ";ЕСЛИ(A26=1;"по месту жительства";ЕСЛИ(A26=2;"в военкомат";ЕСЛИ(A26=3;"в райсобес";"по месту требования")));".");

В ячейку С55 формулу:

=СЦЕПИТЬ("зам. декана: ";ИНДЕКС(A17:A19;A22));

В ячейку С57 ввести текст «дата»;

В ячейку D57 ввести функцию:

=СЕГОДНЯ().

Функции в качестве исходных данных используют, прежде всего, данные, введённые с помощью диалогового окна «Справка».

6.  Запуск диалога

Вводить данные для формирования текста справки можно после запуска диалога. Для запуска диалога активизируйте лист «Диалог1», нажмите на кнопку «Отобразить окно» панели «Формы». В появившемся диалоговом окне (не макете) выберите необходимые данные для формирования текста справки и нажмите кнопку «ОК».

Проверьте на рабочем листе (лист «Справка») правильность выбранных данных. Справка должна иметь вид:

Рис.7. Готовая справка для студента Петрова

7.  Создание макроса для запуска диалога

§  Запуск диалога требует переключения с рабочего листа «Справка» на лист «Диалог 1» и обратно. Для упрощения работы автоматизируем эту процедуру, для чего создаём макрос «Справка», который выполняет переход с листа «Справка» на лист «Диалог1», затем запускает диалог «Справка», переходит на лист «Справка» и заканчивает свою работу.

Если перед щелчком мыши на кнопке «Диалог» курсор мыши трансформируется (видоизменяется) в ладошку, то за кнопкой закреплён макрос.

Рис.8. Назначение кнопкам «Диалог» и «Печать» макросов

3-й уровень помощи (подробный)