Итог: Изучите 3 различных способа добавления или вычитания дней к датам в Excel с помощью формул, копирования и вставки и макросов VBA. Включает видеоурок.
Уровень мастерства: Начинающий
Как добавить дни к дате?
Майкл задал отличный вопрос, как добавить дни в существующие ячейки, содержащие даты. У него есть набор данных со столбцом дат, и он хочет иметь возможность легко добавлять или вычитать дни из дат.
Это полезно, если в вашей системе заданы неправильные настройки даты или времени или если вы пытаетесь создать прогнозные данные на определенное количество дней в будущем.
Итак, давайте посмотрим на три метода, чтобы сместить даты на определенное количество дней.
Метод № 1: Используйте формулу
Самый простой вариант — использовать простую формулу, чтобы добавить или вычесть количество дней в ячейке, содержащей дату.
В Excel даты на самом деле являются числами, отформатированными как дата. Если вы измените форматирование числа ячейки, содержащей дату, на Общее или Число, вы увидите число от 1 до 40 000+. Это количество дней, прошедших с 1 января 1900 года, дня, когда календарь начинается в Excel.
Ознакомьтесь с моей статьей и видео о том, как система дат работает в Excel, чтобы узнать больше об этом.
Один день в Excel представлен одним целым числом. Следовательно, мы можем легко сместить дату, сложив или вычтя целое число (количество дней).
В приведенном ниже примере мы создаем простую формулу, которая ссылается на ячейку с датой (A2) и добавляем к ней 1. Скопируйте формулу вниз, чтобы создать столбец с новой датой, к которому добавлен один день.
Затем вы можете скопировать и вставить значения в существующий столбец даты, чтобы завершить обновление. Этот метод отлично работает, если ваши данные являются источником сводной таблицы и вы хотите, чтобы ваши отчеты использовали существующее поле даты.
Метод № 2: Специальная вставка
Специальная вставка — это еще одна опция, когда вы не хотите создавать отдельный столбец формул.
Специальная вставка имеет операции, которые позволяют нам добавлять, вычитать, умножать или делить существующие значения на число.
Вот инструкции, как использовать Специальную вставку для добавления или вычитания дат:
- Введите количество дней, которое вы хотите добавить или вычесть в пустой ячейке. Для этого примера я ввел 1 в ячейку C2.
- Скопируйте ячейку (щелкните правой кнопкой мыши> Копировать или Ctrl + C).
- Выберите ячейки, которые содержат даты.
- Щелкните правой кнопкой мыши и выберите «Специальная вставка» (сочетание клавиш: Alt, E, S).
- Выберите переключатель «Значения» в разделе «Вставка» в меню «Специальная вставка» (сочетание клавиш: V).
- Выберите переключатель «Добавить» в разделе «Операция» (сочетание клавиш: D).
- Нажмите OK или нажмите Enter.
Скопированное число (1) будет добавлено к значениям в каждой ячейке.
Полный набор клавиш для вставки Special> Add> Values:
Alt, E, S, V, D, Enter (нажмите и отпустите каждую клавишу по порядку)
Как специальная вставка работает?
Специальная вставка изменит значение в ячейке, если ячейка содержит значения.
Если ячейка содержит формулу, то формула будет изменена, и +1 будет добавлен в конец каждой формулы. Я объясняю это более подробно в видео выше.
Операция «Вычитание» может использоваться для вычитания дней из существующих дат. Если вы хотите добавить или вычесть другое количество дней, поместите другое число в пустую ячейку на шаге 1.
Это быстрый способ добавлять или вычитать дни без необходимости создавать новый столбец формул.
Метод № 3: Макрос VBA
Если это задача, которую вы часто выполняете или хотите, чтобы пользователи вашей электронной таблицы могли добавлять и вычитать даты, то макрос — отличное решение. Макрос может использоваться для изменения существующего значения в ячейке(-ах) на любое количество дней, указанное в коде.
Вот несколько простых примеров кода макроса VBA, которые добавляют или вычитают дни к активной (выбранной) ячейке.
Sub Add_Day_To_Date()
' Добавляет 1 к активной ячейке
ActiveCell.Value = ActiveCell.Value + 1
End Sub
Sub Subtract_Day_From_Date()
' Вычитает 1 из активной ячейки
ActiveCell.Value = ActiveCell.Value - 1
End Sub
Если вы хотите изменить даты в нескольких ячейках, то мы можем использовать цикл For Next Loop для циклического прохождения диапазона и изменения каждой ячейки.
Sub Add_Day_To_Range()
' Добавляет 1 к каждой ячейке в выбранном диапазоне
Dim c As Range
For Each c In Selection.Cells
c.Value = c.Value + 1
Next c
End Sub
Файл примера (скачать выше) также содержит лист с кнопками в ячейке заголовка. Эти кнопки представляют собой треугольные формы, которые назначаются макросам «Добавить» и «Вычесть».
Это позволяет пользователям легко изменять даты в выбранной ячейке, не вводя ничего. Существует множество возможностей для решения на основе макросов.
Другие методы для добавления дней к дате?
Есть много способов выполнить эту задачу в Excel. Пожалуйста, оставьте комментарий ниже и поделитесь техникой, которую вы используете, чтобы добавить дни к датам. Я с нетерпением жду, чтобы узнать что-то новое.
Спасибо! 🙂