Если вам поступил запрос на увеличение штатной численности персонала структурного подразделения; поставлена задача оптимизировать функционал, численность, организационную структуру предприятия; необходимо спрогнозировать численность сотрудников на последующие периоды, а вы ограничены во времени, используйте метод факторного нормирования и пакет прикладных программ MS Excel.
Метод факторного нормирования позволяет выявить ключевые факторы, которые влияют на показатель численности персонала. Эти факторы еще называют драйверами численности. Основа метода — корреляционно-регрессионный анализ. Если говорить упрощенно, то это такой распространенный прием обработки статистической информации.
Метод применяется к отдельным производственным процессам, а также к обособленным подразделениям предприятия.
Рассмотрим его применение на примере.
Задача экономиста по труду крупной торговой компании с развитой филиальной сетью (25 филиалов) — определить оптимальную (минимально необходимую) численность сотрудников Службы управления персоналом.
Типовые функции Службы:
- кадровое делопроизводство;
- подбор персонала;
- обучение и развитие персонала.
Алгоритм действий экономиста по труду:
1. Определил факторы (факторные признаки), предположительно влияющие на численность сотрудников Службы управления персоналом:
X1 — среднесписочная численность работников филиала;
X2 — число принятых работников филиала за год;
X3 — число уволенных работников филиала за год;
X4 — число работников филиала, которым был предоставлен/отменен отпуск любого вида за год;
X5 — число работников филиала, направленных в служебные командировки за год;
X6 — число больничных листов, предъявленных работниками филиала за год;
X7 — число заявок на подбор персонала филиала за год;
X8 — число работников филиала, прошедших внутреннее обучение за год;
X9 — число работников филиала, прошедших процедуру оценки за год.
В качестве результативного признака Y (признака, на который влияют факторные признаки) экономист по труду определил штатную численность Службы управления персоналом на конец года.
Обратите внимание!
Основные требования к факторным признакам:
-
совокупность данных по выбранным признакам должна быть однородной и иметь нормальное распределение;
-
на один выбранный факторный признак должно приходиться не менее 10 единиц изучаемой совокупности;
-
факторные признаки должны оказывать непосредственное влияние на результативный признак.
2. Сформировал таблицу исходных данных (табл. 1).
3. Проверил первичную информацию по факторным признакам (данные табл. 1) на однородность.
Для этого с помощью MS Excel рассчитал среднее арифметическое значение, среднеквадратичное отклонение и коэффициент вариации по каждому факторному признаку (табл. 2).
К сведению
Если коэффициент вариации меньше либо равен 33 %, то совокупность данных считается однородной. Если это условие не соблюдается, то совокупность не однородна.
В нашем примере однородными являются группы данных по факторным признакам X1, X4 (в табл. 2 они выделены цветом).
4. Скорректировал первичную информацию по факторным признакам и привел ее к однородности.
Для этого экономист по каждой группе данных по факторным признакам, не отвечающим условию однородности (коэффициент вариации больше 33 %), определил минимальные и максимальные значения (табл. 4; формулы для расчета — в табл. 5) и исключил эти значения из каждой группы. В итоге он получил новую таблицу исходных данных (табл. 6), по которой заново рассчитал коэффициенты вариации (табл. 7).
По результатам расчета не является однородной группа данных по факторным признакам X5, X6, X7, X8, X9 (в табл. 7 они не выделены цветом). Экономист по труду исключил эти данные из последующих расчетов.
<…>
Порядок действий при построении матрицы коэффициентов в MS Excel для наглядности представлен также на рис. 1–4.
Статья опубликована в журнале «Справочник экономиста» № 1, 2018.
19
Министерство образования Российской
Федерации
Уфимский государственный авиационный
технический университет
кафедра экономической информатики
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ
РАБОТЕ № 4
по курсу «Информационные технологии в
экономике»
Уфа 2004
Составитель: В.Г.Романко
ББК
УДК
Информационные технологии при планировании
численности персонала и оплаты труда
в среде Excel. Методическое
пособие по курсу «Информационные
технологии в экономике» /Уфимск. гос.
авиац. техн.ун-т; Сост.: В.Г.Романко. –
Уфа: УГАТУ, 2004. – 41с.
В методических указаниях даются навыки
математических расчетов в среде Excelпри планировании численности персонала
и оплаты труда, представлены задания
лабораторной работы.
Предназначены для студентов очной формы
обучения по специальности 060800 «Экономика
и управление на предприятии».
Ил. __. Табл. __7. Библиогр.: __ назв.
© Уфимский государственный авиационный
технический университет, 2004
Содержание
2. ЦЕЛЬ РАБОТЫ 4
3. ТЕОРЕТИЧЕСКИЙ
МАТЕРИАЛ 4
3.1. Классификация
персонала 4
3.2. Планирование
численности основных производственных
рабочих 6
3.3. Планирование
численности вспомогательных
производственных рабочих, служащих и
ИТР 8
3.4. Методологические
вопросы планирования оплаты труда 9
3.5. Планирование
зарплаты рабочих-сдельщиков 11
3.6. Планирование
зарплаты рабочих-повременщиков 15
3.7. Планирование
зарплаты ИТР и служащих 16
3.8. Расчет итоговых
показателей по фонду оплаты труда 17
4. Задание к
лабораторной работе 18
4.1. Расчет численности
основных производственных рабочих 18
4.2. Расчет численности
вспомогательных производственных
рабочих, служащих и ИТР 18
4.3. Ввод таблицы
часовых тарифных ставок и окладов 19
4.4. Расчет зарплаты
рабочих-сдельщиков 19
4.5. Расчет зарплаты
рабочих-повременщиков 19
4.6. Расчет зарплаты
ИТР и служащих 19
4.7. Расчет итоговых
показателей по фонду оплаты труда 19
5. Литература 19
-
ЦЕЛЬ РАБОТЫ
Изучение основных возможностей
математических расчетов в табличном
процессоре Excelи получение
навыков профессиональной работы при
планировании и расчетах:
— численности основных производственных
рабочих;
— численности вспомогательных
производственных рабочих, служащих и
ИТР;
— планирование зарплаты рабочих-сдельщиков;
— планирование зарплаты рабочих
повременщиков;
— планирование зарплаты ИТР и служащих;
— итоговых показателей фонда оплаты
труда.
-
ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ
-
Классификация персонала
-
Различают явочную и списочную численность
персонала. В списочную численность
включается общее число всех работников
предприятия (постоянных, сезонных и
временных), в том числе работников,
фактически работающих, находящихся в
командировках, в отпусках, не вышедших
на работу в связи с выполнением
общественных и государственных
обязанностей и по болезни, а также с
разрешения администрации и совершивших
прогулы. Не включаются в списочный
состав учащиеся вузов и техникумов,
проходящие практику на данном предприятии
(если они не получают заработную плату
на рабочих местах), работники, выполняющие
случайные работы продолжительностью
до 5 дней и совместители со стороны (при
этом на выплаченную им зарплату
начисляются суммы взносов во внебюджетные
фонды в обычном размере и порядке).
В явочную численность включают только
работников, явившихся на работу, т.е. из
списочной численности исключаются
работники, находящиеся в командировке,
не явившиеся по болезни и т.д.
Численность персонала планируется в
разрезе групп, категорий и профессий.
В зависимости от участия в
производственно-хозяйственой
деятельности всех работников предприятия
делят на две группы: промышленно-производственный
персонал и непромышленная группа.
К непромышленному персоналу относятся
работники социально-культурных и бытовых
учреждений (база отдыха, дом культуры,
спортивный комплекс, общежитие и т.п.),
находящихся на балансе предприятия.
Промышленно-производственный персонал
подразделяют на следующие группы:
рабочие, инженерно-технические работники,
служащие, младший обслуживающий персонал,
ученики и работники охраны (табл.1).
Рабочие подразделяются на основных и
вспомогательных. К основным производственным
рабочим относят тех рабочих, которые
непосредственно воздействуют на предметы
труда. Вспомогательные рабочие
— это рабочие, обеспечивающие нормальный
ход производственного процесса
(ремонтные, транспортные, складские
работники и т.п.).
Таблица 1
Группа |
Основные функции |
Рабочие |
Работники, которые непосредственно |
Инженерно-технические работники |
Персонал, осуществляющий экономическое, |
Служащие |
Работники, которые выполняют |
Младший обслуживающий персонал |
Работники, обслуживающие |
Ученики |
Лица, |
Работники |
Работники, |
Для целей планирования
производственно-хозяйственной
деятельности удобно использовать
группировку персонала по способу оплаты
труда: сдельная (сдельно-премиальная),
повременная (повременно-премиальная),
оклады. Сдельно (сдельно-премиально)
обычно оплачивается труд основных
производственных рабочих; причем здесь
целесообразно различать рабочих-станочников
и рабочих на ручных операциях.
На практике в настоящее
время ни один из способов классификации
персонала не выдерживается в полном
объеме, что, впрочем, не приводит к
серьезным затруднениям. Классификация
— это всего лишь способ организации
планово-учетной информации, в данном
случае — объектов планирования. Надо
использовать ту классификацию,
которая позволяет
наиболее простым способом вести базу
данных и наиболее простым способом
выполнять расчеты.
Соседние файлы в папке Методички по ИТ
- #
- #
- #
- #
- #
- #
- #
- #
Подсчет является неотъемлемой частью анализа данных, будь то определение численности сотрудников отдела в организации или количества единиц, проданных поквартально. В Excel есть несколько методов для подсчета ячеек, строк или столбцов данных. В этой статье содержится полный обзор методов, загружаемая книга с интерактивными примерами и ссылки на связанные темы для более подробного понимания.
Примечание: Подсчет не следует путать с суммированием. Дополнительные сведения о сумме значений в ячейках, столбцах или строках см. в статье Сумминг способов сложить и подсчитать Excel данных.
Скачивание примеров
Вы можете скачать образец книги, в дополнение к сведениям в этой статье, с примерами. В большинстве разделов этой статьи приводится ссылка на соответствующий таблицу в книге примера, которая содержит примеры и дополнительные сведения.
В этой статье
Простой подсчет
Подсчитать количество значений в диапазоне можно с помощью простой формулы, кнопки или функции.
Excel также можно отобразить количество выбранных ячеек на Excel Строка состояния. Чтобы узнать, как это сделать, посмотрите видеоролик, в котором по этой теме вы можете быстро увидеть, как это сделать. Дополнительные сведения см. в разделе Отображение вычислений и подсчетов в панели состояния. Вы можете ссылаться на значения, показанные в панели состояния, если вам нужно быстро взглянуть на данные и не уходить от времени на ввод формул.
Видео: подсчет ячеек с помощью строки состояния Excel
Просмотрите видео, чтобы узнать, как просмотреть количество в панели состояния.
Использование автосуммирования
Для этого вы можете выбрать диапазон ячеек, содержащий хотя бы одно числовые значения. Затем на вкладке Формулы нажмите кнопку Автоумма > чисел.
Excel возвращает количество числных значений в диапазоне ячейки, смежной с выбранным диапазоном. Как правило, этот результат отображается в ячейке справа для горизонтального диапазона или в ячейке снизу для вертикального диапазона.
Добавление строки «Подытая»
Вы можете добавить строку подытвного Excel данных. Щелкните в любом месте данных и выберите в > данные.
Примечание: Параметр «Подытая» работает только с обычными Excel данными, а не Excel таблицами, сетными таблицами и сетными таблицами.
Кроме того, обратитесь к следующим статьям:
Подсчет ячеек в списке или столбце таблицы Excel с помощью функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Функция SUBTOTAL используется для подсчета количества значений в Excel или диапазоне ячеек. Если таблица или диапазон содержат скрытые ячейки, можно использовать функцию SUBTOTAL, чтобы включить или исключить эти скрытые ячейки, что является самым большим различием между функциями СУММ и ИТОГИ.
Синтаксис SUBTOTAL выглядит так:
Чтобы включить скрытые значения в диапазон, для аргумента function_num следует установить значение 2.
Чтобы исключить скрытые значения в диапазоне, function_num значение 102.
Подсчет на основе одного или нескольких условий
С помощью ряда функций можно подсчитать количество ячеек в диапазоне, удовлетворяющих заданным условиям (критериям).
Видео: использование функций СЧЁТ, СЧЁТЕСЛИ и СЧЁТЗ
В видеоролике ниже показано, как использовать функцию СЧЁТ, а также функции СЧЁТЕСЛИ и СЧЁТЗ для подсчета только тех ячеек, которые удовлетворяют заданным условиям.
Подсчет ячеек в диапазоне с помощью функции СЧЁТ
Чтобы подсчитать количество числовых значений в диапазоне, используйте в формуле функцию СЧЁТ.
В примере выше ячейки A2, A3 и A6 содержат числовые значения в диапазоне, поэтому результат — 3.
Примечание: A7 — это значение времени, но оно содержит текст(a.m.),поэтому COUNT не считает его числом. Если вы удалите a.m. В ячейке счёт будет считать A7 числом и изменит результат на 4.
Подсчет ячеек в диапазоне на основе одного условия с помощью функции СЧЁТЕСЛИ
С помощью функции СЧЁТЕФ можно подсчитать, сколько раз определенное значение отображается в диапазоне ячеек.
Подсчет ячеек в столбце на основе одного или нескольких условий с помощью функции БСЧЁТ
Функция Б СЧЁТ подсчитывают ячейки, содержащие числа в поле (столбце) записей списка или базы данных, которые соответствуют за условиям, за которые вы указываете.
В следующем примере нужно подсчитать количество месяцев, включая или более поздние месяцы марта 2016 г., в которых было продано более 400 единиц товаров. Первая таблица на этом сайте (от А1 до B7) содержит данные о продажах.
В DCOUNT используются условия для определения того, откуда следует возвратить значения. Условия обычно вются в ячейки на самом на этом же самом телефоне, а затем ссылаются на эти ячейки в аргументе условия. В этом примере ячейки A10 и B10 содержат два условия: одно, которое указывает, что возвращаемого значения должно быть больше 400, а другое, которое указывает, что конец месяца должен быть равен или больше 31 марта 2016 г.
Используйте следующий синтаксис:
=БСКП(A1:B7;»Конец месяца»;A9:B10)
DCOUNT проверяет данные в диапазоне A1—B7, применяет условия, заданные в A10 и B10, и возвращает 2, общее количество строк, которые удовлетворяют обоим условиям (строки 5 и 7).
Подсчет ячеек в диапазоне на основе нескольких условий с помощью функции СЧЁТЕФС
Функция СЧЁТЕСЛИМН аналогична функции СЧЁТЕСЛИ с одним важным исключением: СЧЁТЕСЛИМН позволяет применить критерии к ячейкам в нескольких диапазонах и подсчитывает число соответствий каждому критерию. С функцией СЧЁТЕСЛИМН можно использовать до 127 пар диапазонов и критериев.
Синтаксис функции СЧЁТЕСЛИМН имеет следующий вид:
СЧЁТЕСЛИМН(диапазон_условия1; условие1; [диапазон_условия2; условие2]; …)
Подсчет количества вхождений на основе условий с помощью функций СЧЁТ и ЕСЛИ
Предположим, вам нужно определить, сколько продавцов продали определенный товар в определенном регионе или сколько продаж было сделано конкретным продавцом. Функции ЕСЛИ и СЧЁТ можно использовать вместе. то есть сначала для проверки условия используется функция ЕСЛИ, а затем для подсчета ячеек используется функция СЧЁТ, только если функция ЕСЛИ имеет true.
Формулы, приведенные в этом примере, должны быть введены как формулы массива. Если эта книга открыта в приложении Excel для Windows или Excel 2016 для Mac и вы хотите изменить формулу или создать похожую, нажмите клавишу F2, а затем клавиши CTRL+SHIFT+ВВОД, чтобы формула возвращала нужные результаты. В более ранних версиях Excel для Mac используйте +SHIFT+ВВОД.
Чтобы эти примеры формул работали, вторым аргументом функции ЕСЛИ должно быть число.
Подсчет количества вхождений нескольких текстовых и числовых значений с помощью функций СУММ и ЕСЛИ
В следующих примерах функции ЕСЛИ и СУММ используются вместе. Функция ЕСЛИ сначала проверяет значения в определенных ячейках, а затем, если возвращается значение ИСТИНА, функция СУММ складывает значения, удовлетворяющие условию.
Функция выше означает, что если диапазон C2:C7 содержит значения Шашков и Туманов, то функция СУММ должна отобразить сумму записей, в которых выполняется условие. Формула найдет в данном диапазоне три записи для «Шашков» и одну для «Туманов» и отобразит 4.
Функция выше означает, что если ячейка D2:D7 содержит значения меньше 9 000 ₽ или больше 19 000 ₽, то функция СУММ должна отобразить сумму всех записей, в которых выполняется условие. Формула найдет две записи D3 и D5 со значениями меньше 9 000 ₽, а затем D4 и D6 со значениями больше 19 000 ₽ и отобразит 4.
Функция выше говорит, что если в D2:D7 есть счета за сумму менее 9 000 рублей, функция СУММ должна отобразить сумму записей, в которых должно быть выполнены условия. Формула найдет ячейку C6, которая соответствует условию, и отобразит 1.
Важно: Формулы в этом примере должны быть введены как формулы массива. Это означает, что сначала нужно нажать клавишу F2, а затем клавиши CTRL+SHIFT+ВВОД. В более ранних версиях Excel для Mac используйте клавиши +SHIFT+ВВОД.
Дополнительные советы см. в следующих статьях базы знаний:
Подсчет ячеек в столбце или строке в pivotTable
В одной из них можно подвести итоговые данные, а также проанализировать их и проанализировать, а затем выбрать категории, по которым вы хотите просмотреть данные.
Чтобы быстро создать сводную таблицу, выделите любую ячейку в диапазоне данных или таблице Excel, а затем на вкладке Вставка в группе Таблицы щелкните Сводная таблица.
Рассмотрим пример электронной таблицы «Продажи», в которой можно подсчитать количество значений продаж для разделов «Гольф» и «Теннис» за конкретные кварталы.
Примечание: Для интерактивного впечатления вы можете выполнить эти действия с образцом данных, указанным на листе таблицы в книге для скачивания.
Введите данные в электронную таблицу Excel.
Выделите диапазон A2:C8
Выберите Вставка > Сводная таблица.
В диалоговом окне «Создание сводной таблицы» установите переключатель Выбрать таблицу или диапазон, а затем — На новый лист и нажмите кнопку ОК.
Пустая сводная таблица будет создана на новом листе.
В области «Поля сводной таблицы» выполните одно из указанных ниже действий.
Перетащите элемент Спорт в область Строки.
Перетащите элемент Квартал в область Столбцы.
Перетащите элемент Продажи в область Значения.
Повторите третье действие.
Имя поля Сумма_продаж_2 отобразится и в области «Сводная таблица», и в области «Значения».
На этом этапе область «Поля сводной таблицы» будет выглядеть так:
В области Значения щелкните стрелку раскрывающегося списка рядом с полем Сумма_продаж_2 и выберите пункт Параметры поля значений.
В диалоговом окне Параметры поля значений выполните указанные ниже действия.
На вкладке Операция выберите пункт Количество.
В поле Пользовательское имя измените имя на Количество.
Нажмите кнопку ОК.
Сводная таблица отобразит количество записей для разделов «Гольф» и «Теннис» за кварталы 3 и 4, а также показатели продаж.
Подсчет, если данные содержат пустые значения
С помощью функций можно подсчитать количество ячеек, содержащих данные или являющихся пустыми.
Подсчет непустых ячеек в диапазоне с помощью функции СЧЁТ
Функция СЧЁТС используется для подсчета только ячеек в диапазоне, который содержит значения.
Иногда при подсчете ячеек удобнее пропускать пустые ячейки, поскольку смысловую нагрузку несут только ячейки со значениями. Например, вы хотите подсчитать общее количество продавцов, которые сделали продажу (столбец D).
СчётА игнорирует пустые значения в ячейках D3, D4, D8 и D11 и подсчитывают только ячейки, содержащие значения в столбце D. Функция находит шесть ячеек в столбце D, содержащих значения, и выводит 6.
Подсчет непанковых ячеек в списке с определенными условиями с помощью функции БДСУНТА
С помощью функции БСЧЁТА можно подсчитать количество непустых ячеек, которые удовлетворяют заданным условиям, в столбце записей в списке или базе данных.
В следующем примере функция БВАРУТА используется для подсчета количества записей в базе данных, содержащихся в диапазоне A1:B7, которые соответствуют условиям, заданным в диапазоне условий A9:B10. При этом значение «ИД товара» должно быть больше или равно 2000, а значение «Оценки» — больше или равно 50.
Округлта находит две строки, которые соответствуют условиям— строки 2 и 4, и отображает значение 2 в качестве результата.
Подсчет пустых ячеек в смежном диапазоне с помощью функции СЧИТАТЬПУСТОТЫ
Функция СЧИТАТЬПУСТОТЫ возвращает количество пустых ячеек в смешаемом диапазоне (ячейки являются связанными, если они соединены в непрерывной последовательности). Если ячейка содержит формулу, которая возвращает пустой текст («»), эта ячейка включается в подсчет.
Иногда требуется включить в подсчет и пустые ячейки. В следующем примере таблица продаж продуктов. Предположим, вы хотите узнать, сколько ячеек не упомянуты в данных о продажах.
Примечание: Функция СЧИТАТЬПУСТОТЫ — это наиболее удобный способ определения количества пустых ячеек в диапазоне, но это не очень удобно, если интересующие вас ячейки находятся в закрытой книге или не образуют несоединимый диапазон. В статье базы знаний XL: использование функции СУММ(ЕСЛИ()) вместо функции Считатьblank() показывает, как в таких случаях использовать формулу массива СУММ(ЕСЛИ()).
Подсчет пустых ячеек в несмежном диапазоне с помощью сочетания функций СУММ и ЕСЛИ
Используйте сочетание функций СУММ и ЕСЛИ. Как правило, это можно сделать с помощью функции ЕСЛИ в формуле массива, чтобы определить, содержит ли каждая ячейка значение, а затем суммирует количество значений ЛОЖЬ, возвращенных формулой.
См. несколько примеров комбинаций функций СУММ и ЕСЛИ из предыдущего раздела Подсчет количества ветвей нескольких текстовых или числового значений с помощью функций СУММ и ЕСЛИ.
Подсчет частоты вхождения уникальных значений
Для подсчета уникальных значений в диапазоне можно использовать с помощью одновременной работы с помощью функций с помощью стебли с помощью стеблицы, функции СЧЁТЕФИЛЬТР, СУММи ЕСЛИ либо диалоговое окно Расширенный фильтр.
Подсчет количества уникальных значений в столбце списка с помощью расширенного фильтра
С помощью диалогового окна Расширенный фильтр можно найти уникальные значения в столбце данных. Эти значения можно отфильтровать на месте или извлечь их и вставить в другое место. Затем с помощью функции ЧСТРОК можно подсчитать количество элементов в новом диапазоне.
Чтобы использовать расширенный фильтр, на вкладке Данные в группе Сортировка & фильтр нажмите кнопку Дополнительные.
На рисунке ниже показано, как с помощью расширенного фильтра скопировать только уникальные записи в другое место на листе.
На рисунке ниже столбец E содержит значения, скопированные из диапазона в столбце D.
При фильтрации значений на месте они не удаляются с листа, просто одна или несколько строк могут быть скрыты. Чтобы снова отобразить эти значения, на вкладке Данные в группе Сортировка и фильтр нажмите кнопку Очистить.
Если вам нужно только быстро узнать количество уникальных значений, выделите данные после применения расширенного фильтра (фильтрованные или скопированные данные) и взгляните на строку состояния. Значение Количество, показанное в строке состояния, должно совпадать с количеством уникальных значений.
Подсчет количества уникальных значений в диапазоне, которые отвечают одному или несколько условиям, с помощью функций ЕСЛИ, СУММ, ЧАСТОТА, СОВПАДЕНИЕ и LEN
Используйте функции ЕСЛИ, СУММ, ЧАСТОТА, ПОИСКПОЗ и ДЛСТР в разных сочетаниях.
Дополнительные сведения и примеры см. в разделе «Подсчет количества уникальных значений с помощью функций» статьи Подсчет количества уникальных значений среди дубликатов.
Особые случаи (подсчет всех ячеек, подсчет слов)
Используя разные сочетания функций, можно подсчитать количество ячеек или количество слов в диапазоне.
Подсчет общего количества ячеек в диапазоне с помощью функций ЧСТРОК и ЧИСЛСТОЛБ
Предположим, вам нужно определить размер большого листа, чтобы решить, как выполнять вычисления в книге: автоматически или вручную. Чтобы подсчитать количество всех ячеек в диапазоне, используйте формулу, которая умножает возвращаемые значения с помощью функций СТРОКИ и СТОЛБЦЫ. Пример:
Подсчет слов в диапазоне с помощью сочетания функций СУММ, ЕСЛИ, LEN, TRIM и SUBSTITUTE
В формуле массива можно использовать сочетание функций СУММ,ЕСЛИ,LEN,TRIMи SUBSTITUTE. В следующем примере показан результат использования вложенной формулы для поиска количества слов в диапазоне из 7 ячеек (3 из них пустые). Некоторые ячейки содержат ведущие или концевую часть пробелов. Функции СРЕЗ и ПОДСТАВИТЬ удаляют эти лишние пробелы перед подсчетом. См. пример ниже.
Теперь для правильной работы формулы выше необходимо сделать ее формулой массива, иначе формула возвращает #VALUE! ошибку «#ВЫЧИС!». Для этого щелкните ячейку с формулой, а затем в панели формул нажмите CTRL+SHIFT+ВВОД. Excel добавляет фигурную скобку в начале и конце формулы, сделав ее формулой массива.
Дополнительные сведения о формулах массива см. в Excel и Создание формулы массива.
Отображение вычислений и подсчетов в строке состояния
При выделении одной или нескольких ячеек информация о данных в них отображается в строке состояния Excel. Например, если на листе выделены четыре ячейки, которые содержат значения 2, 3, текстовую строку (например, «облако») и 4, то в строке состояния могут одновременно отображаться следующие значения: среднее значение, количество выделенных ячеек, количество ячеек с числовыми значениями, минимальное значение, максимальное значение и сумма. Чтобы отобразить или скрыть все или любые из этих значений, щелкните строку состояния правой кнопкой мыши. Эти значения показаны на приведенном ниже рисунке.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Как посчитать количество сотрудников в excel
Как с помощью Microsoft Excel можно упростить расчет численности офисных работников
К нормированию численности офисного персонала можно подойти прямым или косвенным способом (см. схему). Первый метод мы подробно исследовали в прошлом номере журнала*, а сегодня рассмотрим второй – косвенный.
Косвенные методы характерны тем, что при них устанавливается зависимость численности персонала от какого-либо параметра. При этом прямого исследования трудозатрат не производится.
Для косвенного метода применяют типовые нормы, увязывающие численность какого-либо подразделения с общей численностью персонала компании, либо иные параметры.
Если таковых норм нет или они, по мнению компании, не отражают реального положения вещей, существует возможность установить эту зависимость самостоятельно. Сделать это сегодня под силу любому специалисту, владеющему Microsoft Excel. При этом не нужно досконально вникать в тонкости математического аппарата, главное – иметь представление о сути того, что делаешь.
Рассмотрим возможный вариант применения косвенного варианта планирования (нормирования) численности на примере.
Пример
В ходе анализа изменения численности за последние несколько лет в качестве параметров, оказывающих непосредственное влияние на численность персонала кадровой службы, были выбраны следующие:
• количество обрабатываемых документов;
• количество сотрудников, принятых и уволенных в течение года;
• общая численность персонала компании.
В ходе сбора статистической информации были получены следующие данные (см. таблицу):
Нужно вывести нормативную зависимость и определить численность кадровой службы с учетом предстоящих изменений. Предполагается, что до этого численность кадровой службы была оптимальной.
Для решения задачи нам нужно составить уравнение регрессии, для этого воспользуемся надстройкой Excel «Регрессия», в которую можно перейти по пути: «Данные – Анализ данных»
Справочно:
если надстройки «Анализ данных» вы у себя не обнаружили, ее можно установить самому. Начиная с версии Excel 2007 г., путь установки будет выглядеть так: Файл – Параметры – Надстройки – выбираем «Пакет анализа», нажимаем «Перейти». В открывшемся окошке ставим галочку напротив «Пакет анализа» и нажимаем ОК. Готово.
Жмем на ОК и выделяем ячейки. Ячейки факторов выделяются отдельно от ячеек результатов (ими будут значения численности службы персонала).
Итог после нажатия на ОК будет выведен на другую страницу:
В результате мы получили коэффициенты для линейной зависимости вида ax + bx + cx + d = y, нужные нам ячейки выделены желтым. Первая из них – свободный член d, но его сумма получилась очень маленькой, поэтому будет равна нулю. Остальные значения коэффициентов при переменных идут по порядку. Мы получили следующую функциональную зависимость:
0,002х + 0,021х – 0,003х + 0 = y.
Коэффициенты корреляции (тесноты связи) – это верхние две строки (множественный R и R-квадрат). Они оба равны 1. Чем ближе коэффициенты корреляции к единице, тем теснее связь между результатом и влияющими на него факторами.
Таким образом, в нашем случае численность службы реально зависит от выбранных нами параметров, так как функциональная связь подтверждена.
Теперь рассчитаем норму численности на 2017 г., при учете того, что планируется обработать 2 300 документов, принять и уволить 260 человек, а численность организации вырастет до 1 500 человек. Подставляя указанные числа в наше уравнение, получим:
0,002 × 2 300 + 0,021 × 260 – 0,003 × 1 500 = 6,1 человека.
Таким образом, для выполнения запланированного на 2017 г. объема работ в кадровую службу нужно будет принять еще одного человека.
Практические рекомендации
Как определяется производительность труда руководителей?
Производительность офисных работников часто измеряется количеством документов в день или час. Однако это может быть справедливо для специалистов и технических исполнителей, но не для руководителей. Здесь возможно использование косвенных критериев оценки, поскольку в их работе на первое место выходит результат, объект воздействия, а не количество усилий. То есть результат должен выражаться не в сокращении времени на операцию, а в общем улучшении качества управления. В качестве примера метода оценки труда руководителей можно назвать систему показателей KPI.
Используя приведенный выше метод, а также подходы, описанные в «НиТТ», 2016, № 12, с. 40, в статье «Нормирование труда офисного и управленческого персонала», специалисты должны избавляться от предвзятого отношения к проблеме нормирования в офисе и возможно преодолеть табу на этот процесс, долгое время существовавший в компании. Управленческую работу можно нормировать и получать полезный и нужный для компании результат.
Подсчет отработанных месяцев в EXCEL
Предположим, что по правилам компании месяц считается отработанным, если человек проработал в нем более 15 рабочих дней . Составим формулу для подсчета количества отработанных месяцев в году (см. файл примера ):
Если имеется список сотрудников с датами приема и увольнения на работу, то подсчитать количество отработанных месяцев можно по следующей формуле: =(ЧИСТРАБДНИ(B2; ДАТА(ГОД(B2); МЕСЯЦ(B2)+1;0);Праздники)>=15) +(ЧИСТРАБДНИ(ДАТА(ГОД(C2);МЕСЯЦ(C2);1);C2;Праздники)>=15) +РАЗНДАТ(ДАТА(ГОД(B2);МЕСЯЦ(B2)+1;1);ДАТА(ГОД(C2);МЕСЯЦ(C2); 1);»m»)
Функция ЧИСТРАБДНИ() вычисляет количество рабочих дней между двумя датами. Сначала подсчитывается количество рабочих дней в месяце приема на работу, затем в месяц увольнения. Именованный диапазон Праздники представляет собой ссылку на диапазон праздничных дней, которые нужно исключить из числа рабочих для правильной работы функции ЧИСТРАБДНИ() . Функция РАЗНДАТ() с параметром m подсчитывает количество отработанных полных месяцев.
Если сотрудник еще работает в организации, то исходную таблицу нужно слегка модифицировать.
- Введем в пустую ячейку формулу =СЕГОДНЯ() для отображения текущей даты.
- Создадим служебный столбец, ячейки которого будут содержать дату увольнения (если сотрудник был уволен) или текущую дату (если сотрудник еще работает).
В формуле ссылку на столбец Дата увольнения нужно заменить на столбец Служебный .
Если требуется определить количество полных отработанных месяцев, то читайте одноименную статью Сколько полных месяцев прошло с конкретной даты .
Если вы работаете в отделе кадров, скорее всего, вам часто приходится выполнять множество задач одновременно. Ваши обязанности могут быть очень разнообразными и включать в себя не только поиск и привлечение лучших талантов, но и развитие мотивации сотрудников и управление тренингами и обучением.
Для тех, кто выполняет так много задач одновременно, очень важно построить систему, которая бы позволяла оставаться организованными и не упускать из виду ни одной детали. Для этого можно использовать шаблоны Excel. Но как найти и выбрать самые лучшие шаблоны Excel, которые соответствовали бы вашим целям? Мы просмотрели и изучили ключевые шаблоны Excel для отдела кадров и предлагаем вам небольшое описание каждого из шаблонов, а также ссылку для скачивания.
Мы также расскажем, как использовать шаблоны для отдела кадров в Smartsheet, инструменте для совместной работы на основе электронных таблиц, с помощью которого можно, сотрудничая с коллегами, ещё больше, чем в Excel, упростить процессы управления персоналом.
Средство отбора кандидатов на вакантную должность
Специалисты по управлению персоналом должны отслеживать и держать под контролем многочисленные получаемые резюме, сопроводительные письма, заявления и сведения о лицах, претендующих на открытые вакансии. В зависимости от размера компании и текущего плана привлечения новых сотрудников, это может означать огромный объём работы. Использование средства отбора кандидатов на вакантную должность поможет вам держать ключевые сведения о кандидатах и документацию в порядке, а также обеспечить положительный опыт для кандидатов и других сотрудников, участвующих в процессе найма. С помощью этого шаблона вы можете отслеживать контактные данные кандидатов, указывать заданные им вопросы и полученные ответы телефонных интервью, добавлять текущий статус найма, комментарии, дальнейшие шаги и многое другое.
Загрузить шаблон средства отбора кандидатов на вакантную должность в Excel
Создать средство отбора кандидатов на вакантную должность в Smartsheet
Keep your employees connected, informed, and engaged with Smartsheet
Smartsheet is a cloud-based platform that enables HR teams to easily manage everything from job applicant tracking to new hire onboarding and employee performance reviews. Watch this demo video to see why HR teams around the world rely on Smartsheet.
Start your free 30-day trial today
Учёт посещаемости сотрудников
Большинство компаний имеют свою собственную политику относительно графиков работы сотрудников. Например, компания может предоставлять оплачиваемые отпуска или больничные дни. В любом случае важно отслеживать график посещаемости сотрудников, так как информация о посещаемости может быть полезной при оценке эффективности работы во время проведения ежегодных оценок эффективности сотрудников. Используйте этот простой шаблон учёта посещаемости сотрудников, чтобы документировать, работал ли сотрудник или брал отпуск, отсутствовал по личным причинам или болел. Можно также добавлять вкладки для каждого месяца года и таким образом вести постоянный учёт посещаемости сотрудников.
Загрузить шаблон учёта посещаемости сотрудников в Excel
Создать шаблон учёта посещаемости сотрудников в Smartsheet
Анализ целей и эффективности работы сотрудников
Иметь хорошо продуманный процесс рассмотрения и оценки работы ваших сотрудников важно, чтобы гарантировать отличный уровень работы вашей компании. Сотрудники должны знать, что они правильно и эффективно выполняют свои обязанности, а также, что именно они могут улучшить в своей работы. Такую оценку полезно проводить каждый год, а лучше – два раза в год. Использование шаблона анализа целей и эффективности работы персонала поможет управлять процессом такой оценки. Используйте этот шаблон для документирования результатов работы сотрудника, анализа достижения поставленных целей, оценки сотрудников менеджерами, а также для создания планов профессионального развития на будущий год.
Загрузить шаблон анализа целей и эффективности работы сотрудников в Excel
Создать шаблон анализа целей и эффективности работы сотрудников в Smartsheet
Рабочее расписание сотрудника
Существует множество программных средств для планирования рабочего графика сотрудников, но иногда приятно иметь расписание работы сотрудника в виде простого графика. Отслеживание рабочих расписаний сотрудников гарантирует, что у вас всегда будет нужное соотношение работы и работников для каждого конкретного дня или для целой недели. Вы можете использовать этот шаблон для составления списка расписаний сотрудника в едином месте с удобным доступом, чтобы обеспечивать быстрый визуальный охват и вносить коррективы по мере необходимости.
Загрузить шаблон рабочего расписания сотрудников в Excel
Создать ваше рабочее расписание сотрудника в Smartsheet
Учёт рабочего времени сотрудника
Прошли те дни, когда сотрудники вручную вносили время начала и окончания своей работы. Вот почему наличие у вас системы учёта рабочего времени сотрудника полезно для отслеживания количества отработанных ими часов в течение недели, двух недель или целого месяца. Вы можете ссылаться на имеющиеся у вас данные учёта рабочего времени при начислении заработной платы. Кроме того, вы можете попросить сотрудников вести ежедневный журнал отработанного времени, что может быть полезным для отслеживания их повседневной деятельности. Этот шаблон учёта рабочего времени сотрудника позволит вам создать и использовать один файл для каждого из ваших сотрудников и отслеживать время, отработанное этим сотрудником в течение недели, двух недель или целого месяца. Более того, встроенные формулы позволяют быстро рассчитать общее количество часов, что упрощает процесс начисления заработной платы сотрудников.
Загрузить шаблон учёта рабочего времени сотрудника в Excel
Создать шаблон учёта рабочего времени сотрудника в Smartsheet
План адаптации нового сотрудника
Количество часов, затрачиваемых на обучение новых сотрудников, тесно связано с тем, насколько успешным будет работа нового сотрудника в вашей компании. Хотя время и усилия, необходимые для обучения, могут варьироваться в зависимости от типа и размера компании, иметь план обучения нового персонала в целях обеспечения быстрого и эффективного периода адаптации, — всегда хорошая идея. С помощью шаблона расписания обучения сотрудников вы можете создавать списки учебных мероприятий, добавлять сведения о том, с кем сотрудник должен работать для выполнения каждой задачи, указывать статус каждой задачи и добавлять комментарии, полученные от нового сотрудника и его менеджера.
Загрузить шаблон плана адаптации нового сотрудника в Excel
Создать план адаптации нового сотрудника в Smartsheet
Рабочее расписание по месяцам
Отслеживание важных дат, таких как праздники, запланированные закрытия офиса, сроки выплаты заработной платы и других выплат, позволит вам оставаться максимально организованными. Кроме того, создав рабочее расписание по месяцам в начале года, вы будете иметь полноценное представление о том, что ожидать в течение года и сможете распланировать свои действия. В этом простом шаблоне рабочего расписания вы можете настроить отдельные вкладки для каждого месяца, указывать важные события в календаре, а также добавлять заметки, предоставляющие подробные сведения о каждом событии.
Загрузить шаблон рабочего расписания по месяцам на 2016 год в Excel
Создать шаблон рабочего расписания по месяцам на 2016 год в Smartsheet
Список документов для приёма на работу
После того, как кандидат принимает предложение на работу, начинается процесс его адаптации. Количество необходимой документации, необходимой для окончательного приёма нового сотрудника в компанию может быть просто огромным. Именно поэтому использование списка документов для приёма на работу поможет убедиться, что все действия были предприняты вовремя. Применяйте этот шаблон для создания списка документов, необходимых для отслеживания процесса сбора и систематизации всех данных. Шаблон также поможет держать менеджеров по найму в курсе происходящего.
Загрузить список документов для приёма на работу в Excel
Создать список документов для приёма на работу в Smartsheet
Расчётная ведомость
Предоставление сотрудникам расчётной ведомости, в электронном виде или бумажной, даёт неоспоримые преимущества как для работника, так и для работодателя. Работнику расчётная ведомость помогает отслеживать размер компенсаций и вычетов, в то время как для работодателя расчётная ведомость важна, так как выступает доказательством правильного начисления заработной платы. Используйте этот шаблон, чтобы ускорить процесс выдачи расчётных ведомостей сотрудникам и сделать учёт выплат более аккуратным. Так как шаблон содержит встроенные формулы, вам достаточно только ввести данные о ставке работника и его вычетах, после чего общая сумма к оплате будет рассчитана автоматически.
Загрузить шаблон расчётной ведомости в Excel
Создать шаблон расчётной ведомости в Smartsheet
Справка о заработной плате
В зависимости от того, сколько сотрудников работает в вашей компании, оформление справок о заработной плате может быть очень трудной задачей. С помощью этого простого в использовании шаблона вы сможете быстро и без труда добавлять данные сотрудника, включая данные о его зарплате, сверхурочных часах, положенных ему льготах и т.д., для каждого периода начисления заработной платы. Кроме того, создавая вкладки для каждого периода начисления заработной платы, вы сможете сохранить обновляющуюся историю выплаты заработной платы на месяц, квартал и год.
Скачать шаблон справки о заработной плате в Excel
Создать шаблон справки о заработной плате в Smartsheet
План привлечения новых сотрудников
Привлечение новых сотрудников является одной из главных обязанностей любого отдела кадров. Поиск, проверка и найм профессионала, подходящего для вашей команды, – крайне важные действия для обеспечения успешной работы всей вашей организации. Именно поэтому наличие проработанного плана привлечения новых сотрудников даст вашему отделу кадров необходимые знания о доступных источниках, целях и типах найма. Этот шаблон плана привлечения новых сотрудников организовать весь процесс с помощью имеющихся столбцов для бюджета, целей найма, статуса и комментариев.
Загрузить шаблон плана привлечения новых сотрудников в Excel
Создать план привлечения новых сотрудников в Smartsheet
План переходного периода
Иногда в компании возникает необходимость перевода сотрудника с одной должности на другую или с одного проекта на другой, в зависимости от имеющихся ресурсов. Тем не менее, даже найдя нового сотрудника для первоначальной должности, скорее всего, вы не хотите потерять знания и информацию, которые накопил предыдущий сотрудник. План переходного периода при переходе сотрудника с одной должности на другую внутри компании помогает уменьшить объём утерянной информации. Используйте этот шаблон плана переходного периода, чтобы помочь сотруднику, ранее занимавшему должность, обучить и передать знания новому сотруднику. Шаблон позволяет указывать задачи, цели, предположения, даты начала, сроки выполнения и многое другое.
Загрузить шаблон плана переходного периода в Excel
Создать шаблон плана переходного периода в Smartsheet
Расписание отпусков сотрудников
На протяжении всего года вашим сотрудникам понадобятся отпускные дни, чтобы восстановить силы и оставаться продуктивными. Однако, как же вам убедиться, что все ваши задачи продолжают выполняться, даже когда кто-то из сотрудников находится вне офиса? Используйте простой шаблон расписания отпусков, чтобы отслеживать, когда сотрудники будут находится в отпуске, сколько отпускных дней они будут брать, а также иметь под рукой подробные сведения о том, будут ли эти сотрудники доступны во время отпуска.
Загрузить шаблон расписания отпусков сотрудников в Excel
Создать шаблон графика расписания отпусков сотрудников в Smartsheet
Рабочее расписание на неделю
Независимо от размера или направления вашего бизнеса, имея еженедельный график работы, вы сможете способствовать тому, чтобы ваши сотрудники всегда были в курсе задач на ближайшую неделю и представляли, какое количество времени необходимо для завершения каждой задачи. Составление рабочего расписания поможет вашей команде не упускать из виду важные текущие задачи и гарантирует, что работа будет завершена вовремя. Используйте шаблон рабочего расписания на неделю, чтобы указывать еженедельные задачи и систематизировать их по дням недели и времени суток.
Загрузить шаблон рабочего расписания на неделю в Excel
Создать шаблон рабочего расписания на неделю в Smartsheet
Рабочее расписание
Создание рабочего расписания для вашей команды способствует прозрачности рабочего процесса, так как сотрудники всего в курсе происходящего. Расписание позволит вам убедиться, что у вас есть запасной вариант, когда это необходимо, и задачи продолжают выполняться. Кроме того, члены вашей команды будет знать, когда они должны работать. Кроме того, если сотрудник не может работать в определённый день из-за конфликта расписаний, он или она может быстро получить доступ к рабочему расписанию всей команды и назначить себе замену. Предлагаемый шаблон рабочего расписания упорядочивает этот процесс и всегда доступен для всей команды. Указывайте имена сотрудников для часов и дней, когда они будут работать, и создавайте непрерывную историю предыдущих недель путем добавления новой вкладки для каждой недели.
Загрузить шаблон рабочего расписания в Excel
Создать шаблон рабочего расписания в Smartsheet
Узнайте, как работают шаблоны для отдела кадров в Smartsheet
Smartsheet представляет собой надёжный инструмент на основе электронных таблиц для совместной работы и сотрудничества. Заранее отформатированные шаблоны Smartsheet для управления персоналом позволяют быстрее создавать расписания, отслеживать прогресс, управлять документацией и систематизировать детали. Кроме того, шаблоны Smartsheet очень надёжны, поэтому с их помощью легко и просто выполнять работу и предоставлять доступ к данным всей вашей команде.
Диаграммы Ганта автоматически создаются и изменяются, когда вы вносите изменения в данные, поэтому вам не требуется выполнять особую настройку каждый раз, когда вы хотите визуально отобразить процесс выполнения задач. Вы можете легко переключаться между представлением сети, диаграммы Ганта и календаря, предоставляя доступ членам команды или внешним сотрудникам без необходимости отправлять письма по электронной почте со сложными статическими таблицами.
Мощные функции Smartsheet для совместной работы позволяют вам начинать обсуждения, прикреплять вложения, настраивать напоминания и предоставлять доступ к документам заинтересованным лицам, чтобы они могли без труда просматривать их и вносить изменения.
Найдите лучший шаблон для отдела кадров в Smartsheet
Выбор правильного шаблона для управления персоналом имеет крайне важное значение, так как именно эти шаблоны помогут вам оптимизировать процессы и гарантировать, что вы не упустите из виду ни одной детали. С помощью заранее отформатированного шаблона вы можете повторно использовать одни и те же процессы для следующего проекта, что существенно упростит планирование управления персоналом и создаст журнал предыдущих проектов.
Узнайте, как без труда использовать шаблон для отдела кадров. Попробуйте бесплатную 30-дневную версию Smartsheet.
Попробуйте SmartSheet бесплатно
В этой статье мы рассмотрим создание автоматизированной книги, которая позволит организовать участок работы, связанный с кадровым учетом в организации. На рис. 3.23 показан один из листов этой книги, содержащий штатное расписание. Здесь каждая строка информирует сотрудника кадровой службы о конкретной должности в определенном подразделении. Например, в пятой строке указана должность одного переводчика в административном отделе. Третий столбец на листе содержит информацию о количестве ставок.
Учитывая постановку задачи, нам в дальнейшем понадобится учитывать уже занятые ставки, чтобы отличить их от вакантных. Для этого мы воспользуемся шестым столбцом на листе Штатное расписание. Его мы будем программно использовать для фиксации занятости ставок. Скажем, если на место секретаря в административный отдел будет принят один человек, то в шестом столбце данной строки это будет отмечено цифрой 1. Наоборот, при переводе или увольнении сотрудника единица будет вычитаться из соответствующей ячейки. Разумеется, нам в процессе работы понадобится справочный лист, который представлен на рис. 3.24. Видно, что здесь в каждом столбце листа содержится перечень данных, который будет программно использоваться для подстановки в различные списки для исключения неоднозначности выбора.
Рис. 3.23. Лист Штатное расписание
Лист Основной (рис. 3.25) будет играть роль регистра текущих данных. На этом листе мы будем фиксировать всю информацию о конкретных сотрудниках. Все данные на рис. 3.25 не видны, поэтому приведем названия тех столбцов, которые скрыты:
- приказ о приеме №;
- дата приказа о приеме;
- оклад;
- приказ об увольнении №;
- дата приказа об увольнении.
Разумеется, ручное заполнение листа Основной не предусматривается (или не является основным в процессе работы), и мы специально разработаем удобный интерфейс, который позволит с листа Управление (рис. 3.26) воспользоваться специально разработанными формами ввода.
Рис. 3.24. Содержание справочного листа книги
Рис. 3.25. Организация листа с информацией по сотрудникам
На листе Управление три кнопки, каждая из которых реализует определенное функциональное действие. Значения свойства Name у этих элементов управления относительно варианта «по умолчанию» мы изменим, и они (слева направо) выглядят следующим образом:
- Add_People
- Del_People
- Tr_People
Рис. 3.26. Организация листа Управление
Наша задача заключается в том, чтобы последовательно рассмотреть функциональные действия, связанные с каждой из трех данных кнопок. Первая цель — обеспечить зачисление нового сотрудника щелчком на кнопке Принять. В этом случае будет открываться форма, показанная на рис. 3.27.
Рис. 3.27. Форма Включение нового сотрудника
В плане программирования первая процедура, которая нам понадобится, вызывается щелчком на кнопке Принять на листе Управление. Ее программный код состоит из единственной строки (листинг 3.19).
1 2 3 4 |
' Листинг 3.19. Процедура, выполняемая при щелчке на кнопке Принять Private Sub Add_People_Click() AddNewSotr.Show End Sub |
Таким образом, перед пользователем открывается форма, представленная на рис. 3.27. После ее заполнения щелчком на кнопке Записать информация переносится на лист с названием Основной. Перед дальнейшими программными процедурами приведем в табл. 3.2 значения свойства Name элементов управления.
Таблица 3.2. Элементы управления на форме AddNewSotr
Тип элемента управления | Подпись | Name |
---|---|---|
TextBox | Табельный номер | TabNum |
TextBox | Дата приема | DatePriem |
TextBox | Фамилия | Fam |
TextBox | Имя | Ima |
TextBox | Отчество | Otch |
ComboBox | Подразделение | Podrazdel |
ComboBox | Должность | Dolznost |
ComboBox | Вид работы | VidRab |
ComboBox | Пол | Pol |
ComboBox | Вид договора | VidDog |
TextBox | Дата приказа | DatePrikaz |
TextBox | Номер приказа | NumPrikaz |
TextBox | Оклад | Oklad |
CommandButton | Записать | OK |
Пять полей со списками должны при открытии формы должны быть заполнены данными с листа Справочный. Для этого процедуру UserForm_Activate необходимо оформить в соответствии с листингом 3.20.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
' Листинг 3.20. Процедура, выполняемая при активизации формы AddNewSotr Private Sub Userform_Activate() ' Подсчет и заполнение списка подразделений N = 0 While Worksheets("SPRAV").Cells(N + 2, 4).Value <> "" N = N + 1 Wend Podrazdel.Clear For i = 1 To N Podrazdel.AddItem Worksheets("SPRAV").Cells(i + 1, 4).Value Next ' Очистка списка должностей Dolznost.Clear ' Подсчет и заполнение списка вариантов работы N = 0 While Worksheets("Справочный").Cells(N + 2, 2).Value <> "" N = N + 1 Wend VidRab.Clear For i = 1 To N VidRab.AddItem Worksheets("Справочный").Cells(i + 1, 2).Value Next N = 0 While Worksheets("Справочный").Cells(N + 2, 1).Value <> "" N = N + 1 Wend ' Заполнение списка указания пола Pol.Clear For i = 1 To N Pol.AddItem Worksheets("Справочный").Cells(i + 1, 1).Value Next N = 0 While Worksheets("Справочный").Cells(N + 2, 3).Value <> "" N = N + 1 Wend ' Подсчет и заполнение списка вариантов договора VidDog.Clear For i = 1 To N VidDog.AddItem Worksheets("Справочный").Cells(i + 1, 3).Value Next ' Подсчет числа сотрудников на основном листе N = 0 While Worksheets("Основной").Cells(N + 2, 1).Value <> "" N = N + 1 Wend ' Извлечение табельного номера последней записи Kod = Worksheets("Основной").Cells(N + 1, 1).Value If N <> 0 Then ' Внесение значения нового табельного номера TabNum.Text = Kod + 1 End If End Sub |
Кроме заполнения полей со списками, процедура, представленная в листинге 3.20, позволяет выполнить еще одно функциональное действие. Поле Табельный номер на рис. 3.27, разумеется, должно быть при открытии формы автоматически заполнено исходя из табельного номера предыдущего сотрудника. Для этого мы в строке Kod = Worksheets("Основной").Cells(N + 1, 1).Value
извлекли значение из первого столбца последней заполненной строки. После этого увеличили на единицу извлеченное значение и внесли результат в текстовое окно TabNum.
Наоборот, при увольнении единица вычитается (тем самым показывается освобождение ставки).
Перейдем теперь к рассмотрению действий пользователя при работе с формой. Так, после выбора подразделения в элементе управления Podrazdel элемент управления Dolznost должен заполняться только должностями из штатного расписания (для каждого подразделения они свои). В листинге 3.21 показана необходимая для этого процедура.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
' Листинг 3.21. Обработка щелчка на поле со списком подразделений Private Sub Podrazdel_Click() Dolznost.Clear ' Подсчет числа записей в штатном расписании N = 0 While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> "" N = N + 1 Wend Next For i = 1 To N If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value Then ' Если подразделение совпадает с указанным, то ' должность заносится в список Dolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value End If Next End Sub |
Заполнив остальные поля на рис. 3.27, пользователь может щелчком на кнопке Записать внести информацию на лист Основной. Текст необходимой для этого программной процедуры представлен в листинге 3.22.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
' Листинг 3.22. Обработка щелчка на кнопке Записать на форме Private Sub OK_Click() ' Подсчет числа записей на листе Основной N = 0 While Worksheets("Основной").Cells(N + 2, 1).Value <> "" N = N + 1 Wend Worksheets("Основной").Cells(N + 2, 1).Value = TabNum.Text Worksheets("Основной").Cells(N + 2, 2).Value = Fam.Text Worksheets("Основной").Cells(N + 2, 3).Value = Ima.Text Worksheets("Основной").Cells(N + 2, 4).Value = Otch.Text Worksheets("Основной").Cells(N + 2, 5).Value = DatePriem.Text Worksheets("Основной").Cells(N + 2, 6).Value = Dolznost.Text Worksheets("Основной").Cells(N + 2, 7).Value = Podrazdel.Text Worksheets("Основной").Cells(N + 2, 8).Value = Pol.Text Worksheets("Основной").Cells(N + 2, 9).Value = VidRab.Text Worksheets("Основной").Cells(N + 2, 10).Value = NumPrikaz.Text Worksheets("Основной").Cells(N + 2, 11).Value = DatePrikaz.Text Worksheets("Основной").Cells(N + 2, 12).Value = Oklad.Text ' Фрагмент коррекции штатного расписания N = 0 While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _ Dolznost.Text Then ' Шестой столбец листа используется для учета занятых должностей Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) + 1 End If Next MsgBox ("Информация внесена") Hide End Sub |
Кроме внесения новой информации на лист Основной, процедура, представленная в листинге 3.22, отмечает заполнение ставки на листе Штатное расписание. Для этого используется шестой столбец листа Штатное расписание. И при принятии нового человека на конкретную должность в определенной строке шестого столбца производится добавление единицы. Результат продемонстрирован на рис. 3.28.
Рис. 3.28. Отметка занятых должностей
Учитывая рассмотренную возможность учета занятых ставок, следует скорректировать процедуру (см. листинг 3.21), выполняемую по щелчку на поле со списком подразделений. Этот модернизированный вариант представлен в листинге 3.23, и он позволяет исключать уже занятые должности (в списке остаются только вакантные ставки).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
' Листинг 3.23. Обработка щелчка на списке подразделений на форме (вариант 2) Private Sub Podrazdel_Click() Dolznost.Clear N = 0 While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And (Worksheets("Штатное расписание").Cells(i + 1, 3).Value) - _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6)) > 0 Then Dolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value End If Next End Sub |
Здесь вместе с проверкой подразделения еще проверяется условие наличия ставки в указанном подразделении:
1 2 |
(Worksheets("Штатное расписание").Cells(i + 1, 3).Value) - _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6)) > 0 |
Таким образом, необходимый «функционал» для внесения новых сотрудников обеспечен; перейдем к другой форме, Yvolnenie (рис. 3.29), которая позволит производить необходимые технические действия для увольнения сотрудников.
Рис. 3.29. Форма для реализации удаления сотрудников
Технически форма для увольнения открывается по щелчку на кнопке Уволить, расположенной на листе Управление. В этом случае необходимо оформить процедуру Del_People_Click() в виде, представленном в листинге 8.24.
1 2 3 4 |
' Листинг 3.24. Обработка щелчка на кнопке Уволить на листе Управление Private Sub Del_People_Click() Yvolnenie.Show End Sub |
На форме (рис. 3.29) расположено семь элементов управления, при этом два из них являются чисто пояснительными и представляют надписи (Label). В верхней части формы расположено поле со списком (Name — Spk), в которое заносятся все имеющиеся сотрудники. Пользователю после выбора конкретного специалиста требуется указать в текстовых окнах номер приказа на увольнение (Name — NumPrikaz) и его дату (Name — DatePrikaz). После этого щелчком на кнопке Внести информацию (Name — OK) на листе Основной фиксируется факт увольнения. Также изменения производятся и на листе Штатное расписание — одна из должностей переходит в категорию вакантных. В плане рассмотрения описанных функциональных действий первая процедура, которая нам понадобится, выполняется при активизации формы (листинг 3.25).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
' Листинг 3.25. Процедура, выполняемая при активизации формы на рис. 3.29 Private Sub UserForm_Activate() N = 0 While Worksheets("Основной").Cells(N + 2, 1).Value <> "" N = N + 1 Wend Spk.Clear For i = 1 To N ' Извлечение фамилии, имени и отчества сотрудника a = Worksheets("Основной").Cells(i + 1, 2).Value + " " + _ Worksheets("Основной").Cells(i + 1, 3).Value + " " + _ Worksheets("Основной").Cells(i + 1, 4).Value ' Добавление ФИО в список Spk.AddItem a Next End Sub |
Теперь сотрудник, работающий с данной разработкой, может щелчком на поле со списком выбрать одного из сотрудников и далее внести номер и дату приказа.
Технический момент связан с тем, что мы можем таким образом выбрать уже ранее уволенного сотрудника (его данные не пропадают из базы). Здесь можно предложить несколько вариантов программной реализации для исключения подобной ситуации. Мы используем один из наиболее несложных. Так, мы обеспечим, чтобы при выборе фамилии сотрудника в поле со списком в текстовые поля NumPrikaz и DatePrikaz заносилась информация из 13-го и 14-го столбцов листа Основной. В этих столбцах и размещается информация об увольнении. В листинге 3.26 приведена процедура, необходимая для выполнения данного функционального действия.
1 2 3 4 5 |
' Листинг 3.26. Обработка щелчка на поле со списком на рис. 3.29 Private Sub Spk_Click() NumPrikaz.Text = Worksheets("Основной").Cells(Spk.ListIndex + 2, 13).Value DatePrikaz.Text = Worksheets("Основной").Cells(Spk.ListIndex + 2, 14).Value End Sub |
Теперь при попытке повторного увольнения сотрудника мы это увидим — увидим номер и дату приказа об увольнении. На данном листе осталось разработать процедуру, которая позволила бы вносить информацию об увольнении на лист Основной, а также корректировать штатное расписание (листинг 3.27).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
' Листинг 3.27. Обработка щелчка на кнопке Внести информацию Private Sub OK_Click() ' Вычисляется номер строки, где расположена информация о сотруднике NomStr = Spk.ListIndex + 2 ' Внесение информации о номере приказа и дате увольнения Worksheets("Основной").Cells(NomStr, 14).Value = DatePrikaz.Text Worksheets("Основной").Cells(NomStr, 13).Value = NumPrikaz.Text ' Извлечение информации о подразделении и должности сотрудника Podrazdelenie = Worksheets("Основной").Cells(NomStr, 7).Value Dolznost = Worksheets("Основной").Cells(NomStr, 6).Value ' Подсчет числа записей в штатном расписании N = 0 While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N If Podrazdelenie = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _ Dolznost Then ' Коррекция штатного расписания Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) - 1 End If Next MsgBox ("Информация введена") End Sub |
Во второй части процедуры OK_Click() производится коррекция штатного расписания. На рис. 3.28 это отражено в уменьшении на единицу количества занятых должностей.
Рис. 3.30. Форма Perevod для перевода сотрудников
Таким образом, мы обеспечили прием и увольнение с работы. На листе Управление последним нерассмотренным сервисом является перевод сотрудников с одной должности на другую. Для этого мы разработаем форму, представленную на рис. 3.30. Отображение ее на экране обеспечивает процедура (листинг 3.28) обработки щелчка на кнопке Перевод на листе Управление.
1 2 3 4 |
' Листинг 3.28. Обработка щелчка на кнопке Перевод листа Управление Private Sub Tr_People_Click() Perevod.Show End Sub |
На форме Perevod три элемента управления типа ComboBox (поле со списком) с соответствующими надписями (элементы Label). Два элемента управления типа Label используются в дальнейших программных процедурах. Они выделены более светлым оттенком и снабжены соответствующими надписями (которые также представляют элементы типа Label). И еще один элемент управления — CommandButton. В табл. 3.3 приведены значения свойства Name данных элементов на форме. Первая процедура, которую мы рассмотрим, выполняется при активизации формы. Ее действия сводятся к заполнению полей со списками, а сам текст приведен в листинге 3.29.
Таблица 3.3. Элементы управления на форме Perevod
Тип элемента управления | Подпись | Name |
---|---|---|
ComboBox | ФИО | Spk |
ComboBox | Новое подразделение | NewPodrazdel |
ComboBox | Новая должность | NewDolznost |
Label | Подразделение | StPodr |
Label | Должность | StDolznost |
CommandButton | Перевести | OK |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
' Листинг 3.29. Процедура, выполняемая при активизации формы Private Sub UserForm_Activate() ' Подсчет числа сотрудников N = 0 While Worksheets("Основной").Cells(N + 2, 1).Value <> "" N = N + 1 Wend ' Очистка и последующее заполнение списка сотрудников Spk.Clear For i = 1 To N a = Worksheets("Основной").Cells(i + 1, 2).Value + " " + _ Worksheets("Основной").Cells(i + 1, 3).Value + " " + _ Worksheets("Основной").Cells(i + 1, 4).Value Spk.AddItem a Next ' Заполнение списка подразделений N = 0 While Worksheets("Справочный").Cells(N + 2, 4).Value <> "" N = N + 1 Wend NewPodrazdel.Clear For i = 1 To N NewPodrazdel.AddItem Worksheets("Справочный").Cells(i + 1, 4).Value Next ' Заполнение списка должностей While Worksheets("Справочный").Cells(N + 2, 5).Value <> "" N = N + 1 Wend NewDolznost.Clear For i = 1 To N NewDolznost.AddItem Worksheets("Справочный").Cells(i + 1, 5).Value Next End Sub |
Таким образом, при открытии формы перевода элементы управления «Поле со списком» заполнены. Пользователь, работающий с данной книгой, должен выбрать в поле со списком интересующего его сотрудника. Выполняемая при этом процедура осуществляет внесение информации о подразделении и должности сотрудника в элементы управления на форме. Если же сотрудник уволен, то сообщение об этом факте выводится в надпись, предназначенную для подразделения. Необходимый программный код данной процедуры представлен в листинге 3.30.
1 2 3 4 5 6 7 8 9 10 11 |
' Листинг 3.30. Обработка щелчка на поле со списком сотрудников Private Sub Spk_Click() If Worksheets("Основной").Cells(Spk.ListIndex + 2, 14).Value = "" Then ' Внесение информации о старом подразделении StPodr.Caption = Worksheets("Основной").Cells(ListIndex + 2, 7).Value ' Внесение информации о старой должности StDolznost.Caption = Worksheets("Основной").Cells(Spk.ListIndex + 2, 6).Value Else StPodr.Caption = "Уволен" End If End Sub |
Следующая процедура (листинг 3.31) позволяет внести в поле со списком NewDolznost только вакантные должности в указанном подразделении.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
' Листинг 3.31. Обработка щелчка на поле со списком подразделений Private Sub NewPodrazdel_Click() ' Очистка поля со списком должностей NewDolznost.Clear ' podschet N = 0 While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N If NewPodrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And (Worksheets("Штатное расписание").Cells(i + 1, 3).Value - _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value)) > 0 Then ' Добавление в список вакантной должности NewDolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value End If Next End Sub |
На рис. 3.31 продемонстрирован вариант заполнения формы благодаря разработанным процедурам.
Рис. 3.31. Заполненная форма перевода сотрудника
Теперь ключевая процедура (листинг 3.32), которая выполняется по щелчку на кнопке Перевести. Она производит изменения на листах Основной и Штатное расписание.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
' Листинг 3.32. Обработка щелчка на кнопке Перевести на рис. 3.31 Private Sub OK_Click() ' Вычисление номера строки, где располагается информация по сотруднику Nom = Spk.ListIndex + 2 ' Подсчет числа записей на листе Основной N = 0 While Worksheets("Основной").Cells(N + 2, 1).Value <> "" N = N + 1 Wend ' Внесение информации о новых должности и подразделении Worksheets("Основной").Cells(Nom, 6).Value = NewDolznost.Text Worksheets("Основной").Cells(Nom + 2, 7).Value = NewPodrazdel.Text ' Подсчет числа строк в штатном расписании NN = 0 While Worksheets("Штатное расписание").Cells(NN + 2, 1).Value <> "" NN = NN + 1 Wend For i = 1 To NN If StPodr.Caption = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _ StDolznost.Caption Then ' Фиксирование освобождаемой должности Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) - 1 Exit For End If Next For i = 1 To NN If NewPodrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _ And Worksheets("SHTAT").Cells(i + 1, 2).Value = NewDolznost.Text Then ' Фиксирование занимаемой должности Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _ CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) + 1 Oklad = Worksheets("Штатное расписание").Cells(i + 1, 4).Value Worksheets("Основной").Cells(Nom, 12).Value = Oklad Exit For End If Next MsgBox ("Перевод выполнен") End Sub |
Результат работы рассмотренных процедур показан на рис. 3.32.
Рис. 3.32. Результат изменений в штатном расписании