Note: The other languages of the website are Google-translated. Back to English

Как перечислить все даты между двумя датами в Excel?

В некоторых случаях, если у вас есть конкретная дата начала и дата окончания, вам может потребоваться перечислить все даты между этими двумя заданными датами в Excel. Теперь в этом руководстве рассказывается о методах перечисления всех дат между двумя датами в Excel.

Список всех дат между двумя датами по формулам

Перечислить все даты между двумя датами по VBA

Список всех дат между двумя датами Kutools for Excel хорошая идея3


Здесь я представляю формулы, которые могут быстро перечислить все даты между двумя заданными датами для вас в Excel.

1. Введите даты начала и окончания в две ячейки, здесь я ввожу их в ячейки A1 и A2. Смотрите скриншот:
документ-список-все-даты-между-двумя-датами-1

2. Затем перейдите в ячейку C1 и введите эту формулу. = A1 + 1 в него, затем нажмите Enter ключ. Смотрите скриншот:
документ-список-все-даты-между-двумя-датами-2

3. Затем в ячейке C2 введите эту формулу =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) в него, затем перетащите дескриптор автозаполнения вниз к ячейкам, пока не появится пустая ячейка. Смотрите скриншоты:

документ-список-все-даты-между-двумя-датами-3       документ-список-все-даты-между-двумя-датами-4

Затем вы можете увидеть, что все даты между двумя заданными датами перечислены в столбце.
документ-список-все-даты-между-двумя-датами-5

Примечание:

В приведенных выше формулах A1 - это дата начала, A2 - дата окончания, а C1 - первая дата в диапазоне дат.


Если вас интересует код макроса, вы можете использовать приведенный ниже VBA, чтобы перечислить все даты между двумя заданными датами в Excel.

1. Введите дату начала и дату окончания в две ячейки, здесь я ввожу ячейки A1 и B1. Смотрите скриншот:
документ-список-все-даты-между-двумя-датами-6

2. Нажмите Alt + F11 ключи для открытия Microsoft Visual Basic для приложений окно.

3. Затем нажмите Вставить > Модули и скопируйте и вставьте ниже кода VBA во всплывающий Модули окно.

VBA: перечислить все даты между двумя датами.

Sub WriteDates()
	'Updateby20150305
	Dim rng As Range
	Dim StartRng As Range
	Dim EndRng As Range
	Dim OutRng As Range
	Dim StartValue As Variant
	Dim EndValue As Variant
	xTitleId     = "KutoolsforExcel"
	Set StartRng = Application.Selection
	Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type: = 8)
	Set EndRng   = Application.InputBox("End Range (single cell):", xTitleId, Type: = 8)
	Set OutRng   = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
	Set OutRng   = OutRng.Range("A1")
	StartValue   = StartRng.Range("A1").Value
	EndValue     = EndRng.Range("A1").Value
	If EndValue - StartValue <= 0 Then
		Exit Sub
		End If
		ColIndex = 0
		For i = StartValue To EndValue
			OutRng.Offset(ColIndex, 0) = i
			ColIndex = ColIndex + 1
		Next
	End Sub

4. Нажмите Run or F5 для запуска VBA, и появится диалоговое окно, в котором вы можете выбрать дату начала, затем нажмите OK, затем выберите дату окончания во втором диалоговом окне. Смотрите скриншот:

документ-список-все-даты-между-двумя-датами-7          документ-список-все-даты-между-двумя-датами-8

5. Нажмите OK, затем выберите ячейку для отображения дат и нажмите OK. Теперь вы можете видеть, что перечислены все даты между двумя датами. Смотрите скриншоты:

документ-список-все-даты-между-двумя-датами-9         документ-список-все-даты-между-двумя-датами-10

Внимание: Список, созданный этим VBA, включает дату начала и дату окончания.


Собственно, если вы установили Kutools for Excel - удобный инструмент для добавления, вы также можете использовать Вставить случайные данные Для решения этой проблемы.

Kutools for Excel, с более чем 300 удобные функции Excel, повысьте эффективность работы и сэкономьте рабочее время.

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Выберите столбец, в котором должны быть указаны даты между двумя датами, и щелкните Кутулс > Вставить > Вставить случайные данные. Смотрите скриншот:
документ вставить случайные данные 1

2. Затем в Вставить случайные данные диалоговое окно, нажмите Время вкладка, затем выберите начальную и конечную даты из от и To список, затем не забудьте проверить Рабочий день, Выходные и Уникальные ценности флажки. Смотрите скриншот:
документ-список-все-даты-между-двумя-датами-12

3. Нажмите Ok чтобы закрыть диалог, а другой Kutools for Excel появляется диалоговое окно, просто нажмите Да. Затем вы можете увидеть даты между датой начала и датой окончания. Смотрите скриншоты:

документ-список-все-даты-между-двумя-датами-13           документ-список-все-даты-между-двумя-датами-14

4. Теперь вам нужно отсортировать список дат в нужном вам порядке. Нажмите Данные > Сортировать от старых к новым. Затем вы можете увидеть, что даты отсортированы от самой старой к самой новой. Смотрите скриншоты:

документ-список-все-даты-между-двумя-датами-15          документ-список-все-даты-между-двумя-датами-16

Работы С Нами Вставить случайные данные утилита, вы также можете вставить случайное целое число, случайную строку и случайное время и т. д. Щелкните здесь, чтобы узнать больше о вставке случайных данных.


Относительные статьи:



Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (9)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Можем ли мы использовать текстовое поле вместо поля в макросе
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, спасибо, что поделились отличным кодом. Я все же хотел бы задать один вопрос. Я использую этот код VBA, которым вы поделились. 1) Могу ли я перечислить все остальные ячейки в той же строке с датами? 2) Можем ли мы определить ячейку начальной даты и ячейку конечной даты, а также ячейку, в которую будет записана новая информация? Я задаю эти вопросы, потому что у меня 30 строк. Каждая строка содержит данные для разных людей. Ячейка G — это начальная дата, а ячейка H — конечная дата. Другие ячейки содержат некоторую информацию. Я хотел бы, чтобы это было указано в новой ячейке как все даты между этими ячейками. Например (только демонстрация, поэтому только ячейки G и H, написанные ниже — I — это место, где отображается список): Строка 2 Лицо A 28/05/2017 05/06/2017 28/05/2017 Строка 3 Лицо A 28/05 /2017 05 06 Ряд 2017 Лицо А 29 05 2017 Ряд 4 Лицо А 28 05 2017 Ряд 05 Лицо A 06 2017 30 Ряд 05 Лицо A 2017 5 28 Ряд 05 Лицо A 2017 05/06 /2017 31 Ряд 05 Лицо А 2017 6 28 Ряд 05 Лицо А 2017 05 06 Ряд 2017 Лицо Б 01 /06/2017 7/28/05 2017/05/06 Ряд 2017 Лицо B 02/06/2017 8/28/05 2017/05/06 Ряд 2017 Лицо B 03/06/2017 9/28/05 2017/05 /06 Ряд 2017 Лицо Б 04 06 2017 и так далее...
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал код VBA, он сработал. Спасибо, что поделились. Точно так же можно ли перемещать его по столбцам/по горизонтали?
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, если вы хотите перечислить даты в строке по горизонтали, вам просто нужно использовать код vba для перечисления дат, скопировать результаты и вставить транспонирование.
Этот комментарий был сведен к минимуму модератором на сайте
Фират, ты решил свою проблему? У меня точно такая же проблема, и я не могу получить результат в строке вместо столбца.
Этот комментарий был сведен к минимуму модератором на сайте
Почему бы не попытаться перенести результат столбца в строку?
Этот комментарий был сведен к минимуму модератором на сайте
Если вы инвертируете эту строку, вы можете заставить ее работать:


OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
Этот комментарий был сведен к минимуму модератором на сайте
Как зациклить этот код vba (например, 1000 строк)?
Этот комментарий был сведен к минимуму модератором на сайте
Извините за такой поздний ответ, но я не понимаю вашего вопроса, VBA только для перечисления дат между диапазоном дат, зачем зацикливать код?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL