Сортировка дней рождений
Во многих компаниях принято отмечать дни рождения сотрудников или поздравлять с ДР клиентов, предлагая скидки именинникам. И тут же возникает проблема: если в компании ощутимо большое количество сотрудников/клиентов, то сортировка их списка по дате рождения дает не совсем желательный результат:
Поскольку Microsoft Excel воспринимает любую дату как числовой код (количество дней с начала века до текущей даты), то сортировка идет, на самом деле, по этому коду. Таким образом мы получаем на выходе список по порядку «старые-молодые», но из него совсем не видно у кого в каком месяце день рождения.
Способ 1. Функция ТЕКСТ и дополнительный столбец
Для решения задачи нам потребуется еще один вспомогательный столбец с функцией ТЕКСТ (TEXT), которая умеет представлять числа и даты в заданном формате:
В нашем случае формат «ММ ДД» означает, что нужно отобразить из всей даты только двузначные номер месяца и день (без года).
Теперь простая сортировка по вспомогательному столбцу (вкладка Данные — Сортировка) как раз и даст нужный результат:
Вуаля!
Для полноты ощущений можно добавить к отсортированному списку еще автоматическое отчеркивание месяцев друг от друга горизонтальной линией. Для этого выделите весь список (кроме шапки) и выберите на вкладке Главная команду Условное форматирование — Создать правило (Home — Conditional formatting — Create Rule). В открывшемся окне выберите нижний тип правила Использовать формулу для определения форматируемых ячеек и введите следующую формулу:
Эта формула проверяет номер месяца для каждой строки, и если он отличается от номера месяца в следующей строке, то срабатывает условное форматирование. Нажмите кнопку Формат и включите нижнюю границу ячейки на вкладке Границы (Borders). Также не забудьте убрать лишние знаки доллара в формуле, т.к. нам нужно закрепить в ней только столбцы.
После нажатия на ОК к нашей таблице добавятся симпатичные разделительные линии по месяцам:
Способ 2. Сводная таблица с группировкой
Этот способ вместо дополнительных столбцов и функций задействует супермощный инструмент Excel — сводные таблицы. Выделите ваш список и на вкладке Вставка (Insert) нажмите кнопку Сводная таблица (Pivot Table), а затем ОК в появившемся окне. Перетащите поле с датой в область строк — Excel выведет на листе список всех дат в первом столбце:
Щелкните правой кнопкой мыши по любой дате и выберите команду Группировать (Group). В следующем окне убедитесь, что выбран шаг группировки Месяцы и нажмите ОК. Получим список всех месяцев, которые есть в исходной таблице:
Теперь, чтобы увидеть у кого именно из сотрудников день рождения приходятся на конкретный месяц, перетащите поле с именем сотрудника и бросьте его под поле с датой в область строк:
Задача решена, и не нужно возиться с формулами. Единственный минус этого варианта в том, что Excel не умеет группировать столбцы с пустыми ячейками, т.е. вы должны иметь полностью заполненный датами столбец в исходной таблице.
Ну, вот — можно идти собирать деньги с коллег на очередной тортик или закупать подарки для любимых клиентов
Ссылки по теме
- Хитрости сортировки
- Как Excel на самом деле работает с датами
- Как сделать всплывающий календарь в ячейке листа Excel
Календарь дней рождения с выделениями
Вы никогда не пропустите день рождения благодаря этому шаблону календаря напоминания о дне рождения в Excel. Введите даты в верхней части шаблона календаря дней рождения, и документ автоматически выделит их, чтобы вы никогда не пропустили ни один день рождения. Это шаблон со специальными возможностями.
Excel
Скачать
Открыть в браузере
Поделиться
Функция СЕГОДНЯ автоматически определяет и возвращает числовое значение текущей даты в коде времени Excel при каждом открытии файла.
Примеры использования функции СЕГОДНЯ в Excel
Пример 1. Компания ведет учет данных о своих сотрудниках и хранит соответствующие данные в таблицах Excel. В одной из таблиц хранятся даты рождения сотрудников. Необходимо добавить столбец, в котором будут отображаться динамически обновляемые данные о текущем возрасте сотрудников.
Исходная таблица данных:
Определим возраст первого сотрудника с помощью следующей формулы:
Функция ГОД возвращает числовое значение года из указанной даты. Например, запись ГОД(СЕГОДНЯ()) вернет значение 2018, а ГОД(B3) – 1982. Для корректного отображения результатов необходимо отформатировать ячейки С3:C12 в Числовой формат. Результаты вычислений для всех сотрудников:
В отличие от ручного способа ввода текущего возраста сотрудника, представленные выше данные будут автоматически обновляться.
Автоматизированный график дней рождений сотрудников в Excel
Пример 2. Используя таблицу из первого примера добавить столбец, в котором будет отображаться количество дней до дня рождения каждого сотрудника. Если день рождения сотрудника сегодня – отображать соответствующую запись.
Исходная таблица:
Для вычислений используем следующую формулу:
Функция РАЗНДАТ вычисляет разницу двух указанных дат и представляет полученное значение в зависимости от вида третьего аргумента, используемого для форматирования результатов. Например, для получения количества лет используется символ “y”, соответствующий первой букве слова «year» (год), “d” – для расчета количества дней (days – дни).
Выражение ДАТА(ГОД(B3)+РАЗНДАТ(B3;СЕГОДНЯ();»y»)+1;МЕСЯЦ(B3);ДЕНЬ(B3)) определяет дату следующего дня рождения сотрудника. Таким образом функция РАЗНДАТ находит количество дней между датой на сегодняшний день и датой следующего дня рождения и возвращает количество дней (“d”).
Результаты вычислений для остальных сотрудников:
Для отображения записи о том, что день рождения сотрудника сегодня, используем следующую формулу:
Данная формула является немного модифицированным вариантом предыдущей формулы. В частности, выполняется проверка двух условий: И(МЕСЯЦ(B13)=МЕСЯЦ(СЕГОДНЯ());ДЕНЬ(СЕГОДНЯ())=ДЕНЬ(B13)), то есть, соответствуют ли номера месяцев и дней в дате рождения в сравнении с текущей датой. Если результат вычислений – ИСТИНА, будет возвращена текстовая строка «ДР», если ЛОЖЬ – производится расчет количества дней до следующего дня рождения.
Например, произведем расчет для сотрудника, у которого сегодня день рождения:
Анализ дебиторской задолженности до текущей даты в Excel
Пример 3. Предприятию был выставлен долг со следующими условиями:
- За каждый день просрочки начисляются штрафы по ставке 5% от текущей суммы долга плюс начисленные проценты в день.
- По истечению 20-дневного срока с момента первого начисления штрафа будет проведено слушание в суде, проценты начисляться не будут.
Необходимо ввести формулу, которая будет рассчитывать ежедневно актуальную сумму долга.
Исходная таблица данных:
Для расчета текущей задолженности используем формулу:
Данная формула является видоизмененным вариантом формулы для расчета доходности при известных начальной сумме и числа периодов капитализации:
В качестве показателя степени используется выражение ДНИ(СЕГОДНЯ();B4), которое определяет количество прошедших дней от даты выставления долга до сегодняшней даты.
Поскольку сумма задолженности будет расти на протяжении 20 дней, используем следующий вариант записи:
Таким образом, была добавлена проверка условия, прошло ли 20 и более дней с момента выставления долга. Если да, сумма долга будет фиксированной и рассчитана по формуле B2*СТЕПЕНЬ((1+B3);20).
Результат вычислений:
Особенности использования функции СЕГОДНЯ в Excel
Функция имеет синтаксис без аргументов:
=СЕГОДНЯ()
Данная функция не принимает аргументов.
Примечания:
- В Excel используется специальный формат представления дат для упрощения операций по расчету промежутков времени и дат. Excel работает с датами от 00.01.1900 (нулевой день был введен специально, поскольку отсчет начинается с нуля) до 31.12.9999, при этом каждая дата из данного промежутка представлена в виде количества дней, прошедших от начала отсчета – 00.01.1900.
- Если в результате выполнения функции СЕГОДНЯ требуется получить значение в форме записи дат, необходимо настроить соответствующий формат данных, отображаемых в ячейке. Если необходимо получить число в коде времени Excel, следует выбрать Числовой формат данных.
- Функция СЕГОДНЯ предоставляет динамически обновляемый результат в зависимости от даты открытия книги или обновления ее данных.
- Автоматическое обновление возвращаемого данной функцией результат может не происходить, если в пункте меню Параметры категории Формулы разделе Параметры вычислений не выбран вариант автоматического вычисления введенных формул.
- Данная функция сама по себе используется достаточно редко, однако часто применяется для вычисления разницы дат совместно с другими функциями для работы со временем и датами.
Таблица Дней Рождений |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Как отсортировать сотрудников по дням рождения в Excel
Актуальная задача для любого коллектива — не пропустить день рождения каждого сотрудника.
Стандартная сортировка списка сотрудников в Excel по дате их рождения не решает поставленной задачи, поскольку такая сортировка выстраивает их в хронологическом порядке, с учетом не только дня и месяца, но и года рождения.
В результате такой сортировки мы будем видеть, кто из сотрудников старше или моложе. А вот, чтобы сказать, у кого скоро будет день рождения — для этого придется вручную просматривать от начала до конца весь список, что неудобно.
Видеоурок по данной теме «Как отсортировать сотрудников по дням рождения в Excel» можно найти на нашем канале «Учите компьютер вместе с нами».
Идеальная сортировка для такого случая — это упорядочивание людей по возрастанию их месяца рождения, а в пределах каждого месяца — по дате. Этим мы сейчас и займемся.
Но прежде всего, какой вид будут иметь исходные данные? Пусть, в колонке «А» располагается порядковый номер сотрудника, в колонке «В» — его фамилия и инициалы, а в колонке «С» — дата рождения, как показано на рисунке ниже.
Численность сотрудников может быть любой, до нескольких сотен или даже десятков тысяч человек.
Первоочередная наша задача — это выделить из даты рождения каждого сотрудника отдельно месяц и день. Для этого будем использовать вспомогательные колонки «D» и «E«.
Введем в ячейку D2 формулу =МЕСЯЦ(C2), а в ячейку Е2 — формулу =ДЕНЬ(C2).
Далее, выделяем ячейки D2:Е2 и за правый нижний угол растягиваем введенные формулы вниз, до конца списка. В результате мы получим таблицу вида:
Ну а теперь, заключительный штрих. Нам осталось выполнить сортировку всех сотрудников по двум последним колонкам.
Для этого, выделяем область сортировки, протягивая левой кнопкой мыши по заголовкам колонок А:Е. Затем переходим во вкладку «Данные» и в секции «Сортировка и фильтр» нажимаем кнопку «Сортировка«.
В появившемся окне «Сортировка» из выпадающего списка «Сортировать по» выбираем поле «Месяц«. Далее нажимаем кнопку «Добавить уровень» и в списке «Затем по» выбираем поле «День«.
Все остальные параметры сортировки оставляем без изменений и нажимаем кнопку «ОК«. В результате, получим как раз то, что и требовалось:
Как видим, теперь все сотрудники упорядочены по возрастанию месяца их рождения. Если в течение месяца день рождения наступает сразу у нескольких человек, тогда они упорядочены по возрастанию дней.
Зная текущую дату, теперь не сложно определить, у кого из них скоро будет день рождения и в какой последовательности.
Как сообщалось на нашем сайте ранее, с помощью VBA в приложении Microsoft Excel можно имитировать эксперимент по выбрасыванию игральной кости.
Популярные сообщения из этого блога
Куда пропал редактор формул Microsoft Equation?
Работая в Microsoft Word , мне часто приходится набирать формулы. На протяжении многих лет, для этих целей я использовал встроенный в Word редактор формул Microsoft Equation . И даже, когда Microsoft добавил в свой Office новый инструмент » Формулы «, я все равно, по привычке, продолжал использовать Microsoft Equation . Для работы я использую два разных ноутбука с абсолютно одинаковым софтом. Microsoft Office 2010 у меня устанавливался на обоих компьютерах с одного дистрибутива. Каково же было мое удивление, когда однажды, открыв созданный ранее документ Word на втором ноутбуке, я не смог войти в режим редактирования формулы! То есть, документ открылся без проблем и все набранные ранее формулы отобразились корректно. Но когда мне понадобилось одну из них отредактировать, то оказалось, что Word этого сделать не может по причине отсутствия Microsoft Equation .
Что делать, если копируемый из Интернета текст не выравнивается по ширине
Каждый когда-либо сталкивался с ситуацией, когда скопированный из Интернета и вставленный в Word текст не удается выровнять по ширине: по левому краю выравнивает, по правому — тоже, а вот по ширине — ни в какую. Еще хуже обстоят дела, если вы захотите увеличить размер шрифта: выравнивание текста окончательно откажется работать. Разбираемся в причинах и ищем способ, как это исправить.