Przejdź do głównej zawartości

Jak wyświetlić wszystkie daty między dwiema datami w programie Excel?

W niektórych przypadkach, jeśli masz określoną datę początkową i datę końcową, może być konieczne wyświetlenie wszystkich dat między tymi dwoma podanymi datami w programie Excel. W tym samouczku omówiono metody wyświetlania wszystkich dat między dwiema datami w programie Excel.

Wypisz wszystkie daty między dwiema datami według formuł

Wyświetl wszystkie daty między dwiema datami według VBA

Wyświetl wszystkie daty między dwiema datami przez Kutools for Excel dobry pomysł 3


Tutaj przedstawiam formuły, które mogą szybko wyświetlić wszystkie daty między dwiema podanymi datami w programie Excel.

1. Wpisz daty początkową i końcową w dwóch komórkach, tutaj wpisuję je w komórkach A1 i A2. Zobacz zrzut ekranu:
lista-dokumentów-wszystkie-daty-między-dwiema-datami-1

2. Następnie przejdź do komórki C1, aby wpisać tę formułę = A1 + 1 do niego, a następnie kliknij Wchodzę klucz. Zobacz zrzut ekranu:
lista-dokumentów-wszystkie-daty-między-dwiema-datami-2

3. Następnie w komórce C2 wpisz tę formułę =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) do niego, a następnie przeciągnij uchwyt autouzupełniania w dół do komórek, aż pojawi się pusta komórka. Zobacz zrzuty ekranu:

lista-dokumentów-wszystkie-daty-między-dwiema-datami-3       lista-dokumentów-wszystkie-daty-między-dwiema-datami-4

Następnie możesz zobaczyć, że wszystkie daty między dwiema podanymi datami są wymienione w kolumnie.
lista-dokumentów-wszystkie-daty-między-dwiema-datami-5

Uwaga:

W powyższych wzorach A1 to data początkowa, A2 to data końcowa, a C1 to pierwsza data w zakresie dat.


Jeśli jesteś zainteresowany kodem makr, możesz użyć poniższego VBA, aby wyświetlić wszystkie daty między dwiema podanymi datami w Excelu.

1. Wpisz datę początkową i datę końcową do dwóch komórek, tutaj wpisuję w komórce A1 i B1. Zobacz zrzut ekranu:
lista-dokumentów-wszystkie-daty-między-dwiema-datami-6

2. naciśnij Alt + F11 klucze do otwarcia Microsoft Visual Basic for Applications okno.

3. Następnie kliknij wstawka > Moduł i skopiuj i wklej poniższy kod VBA do poppingu Moduł okno.

VBA: Wymień wszystkie daty między dwiema datami.

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. kliknij run or F5 aby uruchomić VBA, pojawi się okno dialogowe, w którym możesz wybrać datę początkową, a następnie kliknij OK, a następnie wybierz datę końcową w drugim wyświetlanym oknie dialogowym. Zobacz zrzut ekranu:

lista-dokumentów-wszystkie-daty-między-dwiema-datami-7          lista-dokumentów-wszystkie-daty-między-dwiema-datami-8

5. kliknij OK, a następnie wybierz komórkę, aby umieścić daty, i kliknij OK. Teraz możesz zobaczyć wszystkie daty między dwiema datami. Zobacz zrzuty ekranu:

lista-dokumentów-wszystkie-daty-między-dwiema-datami-9         lista-dokumentów-wszystkie-daty-między-dwiema-datami-10

Note: Lista wygenerowana przez ten VBA zawiera datę początkową i datę końcową.


Właściwie, jeśli zainstalowałeś Kutools dla programu Excel - poręczne narzędzie dodatkowe, możesz również użyć Wstaw losowe dane by rozwiązać ten problem.

Kutools dla programu Excel, ponad 300 przydatne funkcje programu Excel, zwiększ wydajność pracy i oszczędzaj czas pracy.

Po bezpłatna instalacja Kutools dla programu Excel, wykonaj poniższe czynności:

1. Wybierz kolumnę, w której chcesz wyświetlić daty między dwiema datami, i kliknij Kutools > wstawka > Wstaw losowe dane. Zobacz zrzut ekranu:
doc wstaw losowe dane 1

2. Następnie w Wstaw losowe dane dialog, kliknij Data , a następnie wybierz datę początkową i końcową z Cena Od i To listę, a następnie pamiętaj, aby sprawdzić Dzień pracy, Weekend i Unikalne wartości pola wyboru. Zobacz zrzut ekranu:
lista-dokumentów-wszystkie-daty-między-dwiema-datami-12

3. kliknij Ok aby zamknąć okno dialogowe i kolejny Kutools dla programu Excel pojawi się okno dialogowe, po prostu kliknij Tak. Następnie możesz zobaczyć daty między datą początkową a końcową. Zobacz zrzuty ekranu:

lista-dokumentów-wszystkie-daty-między-dwiema-datami-13           lista-dokumentów-wszystkie-daty-między-dwiema-datami-14

4. Teraz musisz posortować listę dat w wymaganej kolejności. Kliknij Dane > Sortuj od najstarszych do najnowszych. Następnie możesz zobaczyć, że daty są posortowane od najstarszej do najnowszej. Zobacz zrzuty ekranu:

lista-dokumentów-wszystkie-daty-między-dwiema-datami-15          lista-dokumentów-wszystkie-daty-między-dwiema-datami-16

Z Wstaw losowe dane narzędzie, możesz również wstawić losową liczbę całkowitą, losowy ciąg i losowy czas tak dalej. Kliknij tutaj, aby dowiedzieć się więcej o wstawianiu losowych danych.


Względne artykuły:


Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to loop this vba code (1000 rows for example) ?
This comment was minimized by the moderator on the site
Sorry for reply such late, but I do not understand your question, the VBA only for listing dates between a date range, why need to loop the code?
This comment was minimized by the moderator on the site
Firat - did you solve your issue? I have exactly the same issue and I cannot get the result in the row instead of the column.
This comment was minimized by the moderator on the site
If you invert this line you can make it work :


OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
This comment was minimized by the moderator on the site
Why do not try to transpose the column result to row?
This comment was minimized by the moderator on the site
i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
This comment was minimized by the moderator on the site
Hello, if you want to list dates in a row horizontally, you just need to use the vba code to list the dates, and copy the results and paste transpose.
This comment was minimized by the moderator on the site
Hello, Thanks for sharing a great code. I would like to ask one question though. I am using this VBA code you shared. 1) Can I list all the other cells in the same row with the dates? 2) Can we define the starting date cell and ending date cell and the cell that the new information will be written? I am asking these questions because I have 30 rows. Each row has data for different people. Cell G is a starting date and Cell H is an ending date. Other cells contains some information. I would like this to be listed in a new cell as all the dates between these cells. For example (just showing demonstration, so only G and H cells written below-I is where the list appears): Row 2 Person A 28/05/2017 05/06/2017 28/05/2017 Row 3 Person A 28/05/2017 05/06/2017 29/05/2017 Row 4 Person A 28/05/2017 05/06/2017 30/05/2017 Row 5 Person A 28/05/2017 05/06/2017 31/05/2017 Row 6 Person A 28/05/2017 05/06/2017 01/06/2017 Row 7 Person A 28/05/2017 05/06/2017 02/06/2017 Row 8 Person A 28/05/2017 05/06/2017 03/06/2017 Row 9 Person A 28/05/2017 05/06/2017 04/06/2017 Row 10 Person A 28/05/2017 05/06/2017 05/06/2017 Row 11 Person B 23/05/2017 31/05/2017 23/05/2017 Row 12 Person B 23/05/2017 31/05/2017 24/05/2017 Row 13 Person B 23/05/2017 31/05/2017 25/05/2017 Row 14 Person B 23/05/2017 31/05/2017 26/05/2017 and so on...
This comment was minimized by the moderator on the site
Can we use text box instead of in box in macro
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations