Přejít k hlavnímu obsahu

Jak vypsat všechna data mezi dvěma daty v aplikaci Excel?

V některých případech, pokud máte konkrétní počáteční a konečné datum, možná budete muset uvést všechna data mezi těmito dvěma danými daty v aplikaci Excel. Nyní tento tutoriál hovoří o metodách pro výpis všech dat mezi dvěma daty v aplikaci Excel.

Seznam všech dat mezi dvěma daty podle vzorců

Seznam všech dat mezi dvěma daty podle VBA

Seznam všech dat mezi dvěma daty podle Kutools pro Excel dobrý nápad3


Zde představuji vzorce, které pro vás mohou rychle vypsat všechna data mezi dvěma danými daty v aplikaci Excel.

1. Zadejte počáteční a koncové datum do dvou buněk, zde je zadávám do buněk A1 a A2. Viz snímek obrazovky:
doc-list-all-dates-Between-two-dates-1

2. Poté přejděte do buňky C1 a zadejte tento vzorec = A1 + 1 do něj a poté klikněte vstoupit klíč. Viz snímek obrazovky:
doc-list-all-dates-Between-two-dates-2

3. Do buňky C2 zadejte tento vzorec =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) do ní, potom táhněte úchyt automatického vyplňování dolů do buněk, dokud se neobjeví prázdná buňka. Zobrazit snímky obrazovky:

doc-list-all-dates-Between-two-dates-3       doc-list-all-dates-Between-two-dates-4

Pak můžete vidět, že ve sloupci jsou uvedena všechna data mezi dvěma danými daty.
doc-list-all-dates-Between-two-dates-5

Poznámka:

Ve výše uvedených vzorcích je A1 počáteční datum, A2 je koncové datum a C1 je první datum v období.


Pokud vás zajímá kód makra, můžete pomocí níže uvedeného VBA vypsat všechna data mezi dvěma danými daty v aplikaci Excel.

1. Zadejte počáteční a koncové datum do dvou buněk, zde zadávám buňky A1 a B1. Viz snímek obrazovky:
doc-list-all-dates-Between-two-dates-6

2. lis Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno.

3. Pak klikněte na tlačítko Vložit > Modul a zkopírujte a vložte pod kód VBA do praskání Modul okno.

VBA: Seznam všech dat mezi dvěma daty.

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. cvaknutí Běh or F5 spusťte VBA a objeví se dialogové okno, kde můžete vybrat počáteční datum a poté kliknout OK, pak ve druhém vyskakovacím dialogovém okně vyberte datum ukončení. Viz snímek obrazovky:

doc-list-all-dates-Between-two-dates-7          doc-list-all-dates-Between-two-dates-8

5. cvaknutí OK, poté vyberte buňku, z níž budou data, a poté klikněte OK. Nyní můžete zobrazit všechna data mezi dvěma daty. Zobrazit snímky obrazovky:

doc-list-all-dates-Between-two-dates-9         doc-list-all-dates-Between-two-dates-10

Poznámka: Seznam vygenerovaný tímto VBA obsahuje počáteční a konečné datum.


Vlastně, pokud jste nainstalovali Kutools pro Excel - šikovný nástroj pro přidání, můžete také použít Vložte náhodná data k vyřešení tohoto problému.

Kutools pro Excel, s více než 300 užitečné funkce aplikace Excel, zvýší vaši efektivitu práce a ušetří váš pracovní čas.

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Vyberte sloupec, ve kterém chcete vypsat data mezi dvěma daty, a klikněte na Kutools > Vložit > Vložte náhodná data. Viz snímek obrazovky:
doc vložte náhodná data 1

2. Pak v Vložte náhodná data dialog, klepněte na tlačítko Datum Na kartě vyberte počáteční a konečné datum z od a To seznam, pak nezapomeňte zkontrolovat Pracovní den, Víkend a Unikátní hodnoty zaškrtávací políčka. Viz snímek obrazovky:
doc-list-all-dates-Between-two-dates-12

3. cvaknutí Ok zavřete dialogové okno a další Kutools pro Excel objeví se dialogové okno, stačí kliknout Ano. Pak můžete vidět, že jsou uvedena data mezi počátečním a konečným datem. Zobrazit snímky obrazovky:

doc-list-all-dates-Between-two-dates-13           doc-list-all-dates-Between-two-dates-14

4. Nyní musíte seznam dat seřadit v pořadí, které potřebujete. Klepněte na Data > Řazení od nejstarších po nejnovější. Pak uvidíte, že data jsou řazena od nejstaršího po nejnovější datum. Zobrazit snímky obrazovky:

doc-list-all-dates-Between-two-dates-15          doc-list-all-dates-Between-two-dates-16

S Vložte náhodná data nástroj, můžete také vložit náhodné celé číslo, náhodný řetězec a náhodný čas atd. Kliknutím sem získáte další informace o vložení náhodných dat.


Relativní články:


Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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