In this post, I will guide you to do a time dropdown selection in Excel.
Bài viết này mình sẽ hướng dẫn các bạn tạo danh sách chọn thời gian trong Excel.
Sample
We usually see two time dropdown menus including “From/Start Time” and “To/End Time” like the following samples:
Chúng ta thường thấy danh sách chọn thời gian gồm “Từ/Thời gian bắt đầu” và “Đến/Thời gian kết thúc” như hình mẫu bên dưới:
Matters
One crucial matter here is, how Excel can know the time we choose in “From” list and subsequently Excel will automatically remove that time and the time before from the “To” list. Because as we know, “To” time must be greater than “From” time.
Một vấn đề quan trọng ở đây là, làm sao Excel có thể biết thời gian mà chúng ta chọn ở danh sách “From” để ứng dụng có thể tự động loại bỏ mốc thời gian đó và khoảng thời gian đứng trước đó. Vì như chúng ta biết, thời gian trong danh sách “Đến” phải luôn lớn hơn/xảy ra sau thời gian trong danh sách “Từ”.
Actions
Step 1: Create a list of timeframe spanning from 00:00 to 23:30, the dropdown usually shows time slots at 30-minute intervals or you can change the interval to 15 minutes. It’s up to you.
Bước 1: Tạo ra danh sách chuỗi thời gian kéo dài từ 00:00 đến 23:30, danh sách thường hiển thị mỗi mốc thời gian cách nhau 30 phút, hoặc bạn có thể thay đổi khoảng cách thành 15 phút.

Step 2: Create two time dropdown menus by using Data Validation. In the box “From”, directly refer to the cell range of the timeframe, A1:A48. Configure the settings as shown in the picture.
Bước 2: Tạo ra hai danh sách tuỳ chọn bằng cách sử dụng Data Validation. Trong hộp “From”, tham chiếu trực tiếp đến vùng dữ liệu chứa thời gian, A1:A48. Thiết lập thông số như trong hình:

Hit Enter and get the result like this:
Nhấn Enter và nhận kết quả như sau:

Step 3: In the “To” box, continue to use Data Validation to indrectly refer to the cell pointed by ADDRESS formula.
Bước 3: Trong hộp “To”, tiếp tục sử dụng công cụ Data Validation để gián tiếp tham chiếu đến ô được chỉ ra bởi hàm ADDRESS.

=INDIRECT(ADDRESS(MATCH(F1,$A$1:$A$48,0)+1,1)&":A"&COUNTA($A$1:$A$48))
This formula automatically selects all time slots after the selected time (entered in cell F1). For example, if you select “09:00” in F1, the result will be the range from “09:30” to “23:30”.
Công thức này sẽ tự động chọn tất cả các mốc thời gian sau thời gian được chọn (đặt trong ô F1). Ví dụ, nếu bạn chọn “09:00” trong F1, kết quả sẽ là vùng từ “09:30” đến “23:30”.
Detailed breakdown:
MATCH(F1, $A$1:$A$48, 0): Finds the position of the selected time (F1) in the time list. Tìm vị trí của thời gian được chọn (F1) trong danh sách.+1: Moves to the cell immediately after the selected time. Chọn ô ngay sau thời gian được chọn.ADDRESS(..., 1): Converts the row number to a cell address in column A (e.g., A20). Chuyển vị trí dòng vừa tìm được thành địa chỉ ô (ví dụ: A20)."A" & COUNTA($A$1:$A$48): Determines the last cell with data in column A (here, A48). Xác định ô cuối cùng có dữ liệu trong cột A (ở đây là A48).- Concatenates to form a range (e.g., A20:A48).
Ghép lại thành vùng (ví dụ: A20:A48). INDIRECT(...): Dynamically references all time slots remaining in the day after the selected time. Tạo tham chiếu vùng động gồm tất cả các mốc thời gian còn lại trong ngày sau thời gian được chọn.

Good luck!
