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

Hur listar jag alla datum mellan två datum i Excel?

I vissa fall, om du har det specifika startdatumet och slutdatumet, kan du behöva lista alla datum mellan dessa två angivna datum i Excel. Nu talar denna handledning om metoderna för att lista alla datum mellan två datum i Excel.

Lista alla datum mellan två datum efter formler

Lista alla datum mellan två datum av VBA

Lista alla datum mellan två datum av Kutools för Excel bra idé3


Här introducerar jag formler som snabbt kan lista alla datum mellan två angivna datum åt dig i Excel.

1. Skriv start- och slutdatum i två celler, här skriver jag dem i cellerna A1 och A2. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-1

2. Gå sedan till cell C1 för att skriva denna formel = A1 + 1 in i det och klicka sedan på ange nyckel. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-2

3. Skriv sedan denna formel i cell C2 =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) in den och dra sedan handfyllnadshandtaget ner till cellerna tills en tom cell visas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-3       doc-lista-alla-datum-mellan-två-datum-4

Då kan du se alla datum mellan två angivna datum listas i kolumnen.
doc-lista-alla-datum-mellan-två-datum-5

Notera:

I ovanstående formler är A1 startdatum, A2 är slutdatum och C1 är det första datumet inom datumintervallet.


Om du är intresserad av makrokod kan du använda nedanstående VBA för att lista alla datum mellan två angivna datum i Excel.

1. Skriv in startdatum och slutdatum i två celler, här skriver jag in cell A1 och B1. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-6

2. Tryck Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka sedan Insert > Modulerna och kopiera och klistra in under VBA-koden till poppningen Modulerna fönster.

VBA: Lista alla datum mellan två datum.

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. klick run or F5 för att köra VBA, och en dialog dyker upp för dig att välja startdatum och klicka sedan på OKoch välj sedan slutdatum i den andra poppdialogen. Se skärmdump:

doc-lista-alla-datum-mellan-två-datum-7          doc-lista-alla-datum-mellan-två-datum-8

5. klick OK, välj sedan en cell för att lägga ut datumen och klicka sedan på OK. Nu kan du se alla datum mellan två datum listas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-9         doc-lista-alla-datum-mellan-två-datum-10

Anmärkningar: Listan som genereras av denna VBA inkluderar startdatum och slutdatum.


Egentligen om du installerade Kutools för Excel - ett praktiskt tilläggsverktyg, du kan också använda Infoga slumpmässiga data för att lösa det här problemet.

Kutools för Excel, med mer än 300 praktiska Excel-funktioner, förbättrar din arbetseffektivitet och sparar din arbetstid.

Efter gratis installation Kutools för Excel, gör så här:

1. Välj en kolumn som du vill lista datum mellan två datum och klicka på Kutools > Insert > Infoga slumpmässiga data. Se skärmdump:
doc infoga slumpmässiga data 1

2. Sedan i Infoga slumpmässiga data dialog, klicka Datum fliken och välj sedan start- och slutdatum från Från och To lista, kom ihåg att kontrollera Arbetsdag, Helgen och Unika värden kryssrutor. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-12

3. klick Ok för att stänga dialogen och en annan Kutools för Excel dialogrutan dyker upp, klicka bara Ja. Då kan du se datumen mellan startdatum och slutdatum listas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-13           doc-lista-alla-datum-mellan-två-datum-14

4. Nu måste du sortera datumlistan i den ordning du behöver. Klick Data > Sortera äldsta till nyaste. Då kan du se datumen sorteras från äldsta datum till senaste datum. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-15          doc-lista-alla-datum-mellan-två-datum-16

Med Infoga slumpmässiga data verktyg kan du också infoga slumpmässigt heltal, slumpmässig sträng och slumpmässig tid så vidare. Klicka här om du vill veta mer om Infoga slumpmässiga data.


Relativa artiklar:



De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (9)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Kan vi använda textruta istället för in box i makro
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Tack för att du delar med dig av en bra kod. Jag skulle dock vilja ställa en fråga. Jag använder den här VBA-koden som du delade. 1) Kan jag lista alla andra celler i samma rad med datum? 2) Kan vi definiera startdatumscellen och slutdatumcellen och cellen som den nya informationen ska skrivas på? Jag ställer dessa frågor eftersom jag har 30 rader. Varje rad har data för olika personer. Cell G är ett startdatum och cell H är ett slutdatum. Andra celler innehåller viss information. Jag skulle vilja att detta listas i en ny cell som alla datum mellan dessa celler. Till exempel (visar bara demonstration, så endast G- och H-celler skrivna nedan-I är där listan visas): Rad 2 Person A 28/05/2017 05/06/2017 28/05/2017 Rad 3 Person A 28/05 /2017 05/06/2017 29/05/2017 Rad 4 Person A 28/05/2017 05/06/2017 30/05/2017 Rad 5 Person A 28/05/2017 05/06/2017 31 Rad 05 Person A 2017/6/28 05/2017/05 06/2017/01 Rad 06 Person A 2017/7/28 05/2017/05 06/2017/02 Rad 06 Person A 2017/8/28 05 /2017 05/06/2017 Rad 03 Person A 06/2017/9 28/05/2017 05/06/2017 Rad 04 Person A 06/2017/10 28/05/2017 05/06/2017 Person B05 06 /2017/11 23/05/2017 31/05/2017 Rad 23 Person B 05/2017/12 23/05/2017 31/05/2017 Rad 24 Person B 05/2017/13 23/05/2017 /31 Rad 05 Person B 2017/25/05 2017/14/23 05/2017/31 och så vidare...
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försökte VBA-koden det fungerade .. Tack för att du delar. På samma sätt är det möjligt att skjuta den längs kolumner/horisontellt?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, om du vill lista datum i rad horisontellt behöver du bara använda vba-koden för att lista datumen och kopiera resultaten och klistra in transponera.
Denna kommentar minimerades av moderatoren på webbplatsen
Firat - löste du ditt problem? Jag har exakt samma problem och jag kan inte få resultatet i raden istället för kolumnen.
Denna kommentar minimerades av moderatoren på webbplatsen
Varför inte försöka överföra kolumnresultatet till rad?
Denna kommentar minimerades av moderatoren på webbplatsen
Om du inverterar den här linjen kan du få den att fungera:


OutRng.Offset(ColIndex, 0) = i till OutRng.Offset(0, ColIndex) = i
Denna kommentar minimerades av moderatoren på webbplatsen
Hur man loopar denna vba-kod (1000 rader till exempel)?
Denna kommentar minimerades av moderatoren på webbplatsen
Ursäkta för att jag svarar så sent, men jag förstår inte din fråga, VBA bara för att lista datum mellan ett datumintervall, varför behöver du loopa koden?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL