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

Làm cách nào để liệt kê tất cả các ngày giữa hai ngày trong Excel?

Trong một số trường hợp, nếu bạn có ngày bắt đầu cụ thể và ngày kết thúc, bạn có thể cần phải liệt kê tất cả các ngày giữa hai ngày cụ thể này trong Excel. Bây giờ hướng dẫn này nói về các phương pháp liệt kê tất cả các ngày giữa hai ngày trong Excel.

Liệt kê tất cả các ngày giữa hai ngày theo công thức

Liệt kê tất cả các ngày giữa hai ngày bằng VBA

Liệt kê tất cả các ngày giữa hai ngày bằng Kutools cho Excel ý kiến ​​hay3


Ở đây tôi giới thiệu các công thức có thể nhanh chóng liệt kê tất cả các ngày giữa hai ngày nhất định cho bạn trong Excel.

1. Gõ ngày bắt đầu và ngày kết thúc vào hai ô, ở đây tôi gõ chúng vào ô A1 và A2. Xem ảnh chụp màn hình:
doc-list-all-date-between-two-date-1

2. Sau đó chuyển đến ô C1 để nhập công thức này = A1 + 1 vào nó, sau đó nhấp vào đăng ký hạng mục thi Chìa khóa. Xem ảnh chụp màn hình:
doc-list-all-date-between-two-date-2

3. Sau đó, trong ô C2, nhập công thức này =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) vào đó, sau đó kéo chốt tự động điền xuống các ô cho đến khi một ô trống xuất hiện. Xem ảnh chụp màn hình:

doc-list-all-date-between-two-date-3       doc-list-all-date-between-two-date-4

Sau đó, bạn có thể thấy tất cả các ngày giữa hai ngày nhất định được liệt kê trong cột.
doc-list-all-date-between-two-date-5

LƯU Ý

Trong các công thức trên, A1 là ngày bắt đầu, A2 là ngày kết thúc và C1 là ngày đầu tiên trong phạm vi ngày.


Nếu bạn quan tâm đến mã macro, bạn có thể sử dụng VBA bên dưới để liệt kê tất cả các ngày giữa hai ngày nhất định trong Excel.

1. Gõ ngày bắt đầu và ngày kết thúc bạn vào hai ô, ở đây tôi gõ vào ô A1 và B1. Xem ảnh chụp màn hình:
doc-list-all-date-between-two-date-6

2. nhấn Alt + F11 chìa khóa để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

3. Sau đó nhấn vào Chèn > Mô-đun và sao chép và dán mã VBA bên dưới vào cửa sổ bật lên Mô-đun cửa sổ.

VBA: Liệt kê tất cả các ngày giữa hai ngày.

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. nhấp chuột chạy or F5 để chạy VBA và một hộp thoại bật ra để bạn chọn ngày bắt đầu, sau đó nhấp vào OK, sau đó chọn ngày kết thúc trong hộp thoại bật lên thứ hai. Xem ảnh chụp màn hình:

doc-list-all-date-between-two-date-7          doc-list-all-date-between-two-date-8

5. nhấp chuột OK, sau đó chọn một ô để hiển thị ngày tháng, sau đó bấm OK. Bây giờ bạn có thể thấy tất cả các ngày giữa hai ngày được liệt kê. Xem ảnh chụp màn hình:

doc-list-all-date-between-two-date-9         doc-list-all-date-between-two-date-10

Chú thích: Danh sách được tạo bởi VBA này bao gồm ngày bắt đầu và ngày kết thúc.


Trên thực tế, nếu bạn đã cài đặt Kutools cho Excel - một công cụ bổ sung tiện dụng, bạn cũng có thể sử dụng Chèn dữ liệu ngẫu nhiên để giải quyết vấn đề này.

Kutools cho Excel, với hơn 300 các hàm Excel tiện dụng, nâng cao hiệu quả làm việc và tiết kiệm thời gian làm việc của bạn.

Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:

1. Chọn một cột bạn muốn liệt kê các ngày giữa hai ngày và nhấp vào Kutools > Chèn > Chèn dữ liệu ngẫu nhiên. Xem ảnh chụp màn hình:
doc chèn dữ liệu ngẫu nhiên 1

2. Sau đó trong Chèn dữ liệu ngẫu nhiên thoại, bấm Ngày , sau đó chọn ngày bắt đầu và ngày kết thúc từ TừTo danh sách, sau đó nhớ kiểm tra Ngày làm việc, Cuối tuầnGiá trị duy nhất hộp kiểm. Xem ảnh chụp màn hình:
doc-list-all-date-between-two-date-12

3. nhấp chuột Ok để đóng hộp thoại và một Kutools cho Excel hộp thoại bật ra, chỉ cần nhấp vào . Sau đó, bạn có thể thấy các ngày giữa ngày bắt đầu và ngày kết thúc được liệt kê. Xem ảnh chụp màn hình:

doc-list-all-date-between-two-date-13           doc-list-all-date-between-two-date-14

4. Bây giờ bạn cần sắp xếp danh sách ngày theo thứ tự bạn cần. Nhấp chuột Ngày > Sắp xếp Cũ nhất đến Mới nhất. Sau đó, bạn có thể thấy các ngày được sắp xếp từ ngày cũ nhất đến ngày mới nhất. Xem ảnh chụp màn hình:

doc-list-all-date-between-two-date-15          doc-list-all-date-between-two-date-16

Với Chèn dữ liệu ngẫu nhiên tiện ích, bạn cũng có thể chèn số nguyên ngẫu nhiên, chuỗi ngẫu nhiên và thời gian ngẫu nhiên, v.v. Nhấp vào đây để biết thêm về Chèn dữ liệu ngẫu nhiên.


Các bài báo tương đối:



Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (9)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chúng ta có thể sử dụng hộp văn bản thay vì hộp trong hộp trong macro không
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Cảm ơn bạn đã chia sẻ một đoạn mã tuyệt vời. Tôi muốn hỏi một câu hỏi. Tôi đang sử dụng mã VBA này mà bạn đã chia sẻ. 1) Tôi có thể liệt kê tất cả các ô khác trong cùng một hàng với ngày tháng không? 2) Chúng ta có thể xác định ô ngày bắt đầu và ô ngày kết thúc và ô mà thông tin mới sẽ được ghi không? Tôi đang hỏi những câu hỏi này vì tôi có 30 hàng. Mỗi hàng có dữ liệu cho những người khác nhau. Ô G là ngày bắt đầu và Ô H là ngày kết thúc. Các ô khác chứa một số thông tin. Tôi muốn điều này được liệt kê trong một ô mới dưới dạng tất cả các ngày giữa các ô này. Ví dụ (chỉ hiển thị trình diễn, vì vậy chỉ các ô G và H được viết bên dưới-I là nơi danh sách xuất hiện): Hàng 2 Người A 28/05/2017 05/06/2017 28/05/2017 Hàng 3 Người A 28/05/2017 / 05 06/2017/29 05/2017/4 Hàng 28 Người A 05/2017/05 06/2017/30 05/2017/5 Hàng 28 Người A 05/2017/05 06/2017/31 05/2017/6 Hàng 28 Người A 05/2017/05 06/2017/01 06/2017/7 Hàng 28 Người A 05/2017/05 06/2017/02 06/2017/8 Hàng 28 Người A 05/2017/05 06/2017 / 03 06/2017/9 Hàng 28 Người A 05/2017/05 06/2017/04 06/2017/10 Hàng 28 Người A 05/2017/05 06/2017/05 06/2017/11 Hàng 23 Người B 05 / 2017/31 05/2017/23 05/2017/12 Hàng 23 Người B 05/2017/31 05/2017/24 05/2017/13 Hàng 23 Người B 05/2017/31 05/2017/25 05/2017 / 14 Hàng 23 Người B 05/2017/31 05/2017/26 05/2017/XNUMX, v.v.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi đã thử mã VBA nó hoạt động .. Cảm ơn bạn đã chia sẻ. Tương tự như vậy có thể xếp nó dọc theo cột / theo chiều ngang không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, nếu bạn muốn liệt kê các ngày trong một hàng theo chiều ngang, bạn chỉ cần sử dụng mã vba để liệt kê các ngày, và sao chép kết quả và dán chuyển vị.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Firat - bạn đã giải quyết được vấn đề của mình chưa? Tôi gặp chính xác vấn đề tương tự và tôi không thể nhận được kết quả trong hàng thay vì cột.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tại sao không thử chuyển kết quả cột thành hàng?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu bạn đảo ngược dòng này, bạn có thể làm cho nó hoạt động:


OutRng.Offset (ColIndex, 0) = i đến OutRng.Offset (0, ColIndex) = i
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm thế nào để lặp lại mã vba này (1000 hàng chẳng hạn)?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi vì đã trả lời muộn như vậy, nhưng tôi không hiểu câu hỏi của bạn, VBA chỉ để liệt kê các ngày giữa một phạm vi ngày, tại sao cần lặp lại mã?
Không có bình luận nào được đăng ở đây

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL