Excel 中的日期下拉式清單是一個資料驗證控制項,其來源指向一欄實際的日期值,使用者點選儲存格後開啟箭頭,即可挑選日曆日期而無需手動輸入。清單本身只是一欄以日期類型格式化的垂直日期;Excel 的資料驗證選單接受該範圍作為允許值的清單。一旦來源設定完成,每個使用該驗證的儲存格都會顯示相同的箭頭與相同的選項,這正是大多數人詢問如何在 Excel 中建立日期下拉式清單時所指的內容。

問題在於 Excel 不會自動產生日期序列。您仍然需要一欄整齊的日期,以涵蓋表單所需的任何範圍:一整季的每個工作日、一個衝刺週期的每個週一、或一本日誌所需的全年每天。手動輸入既慢又容易出錯,而像 SEQUENCE 這樣的公式雖然可用,但只能在較新版本的 Excel 中運作,且前提是使用者理解陣列公式。更快的工作流程是:使用專用工具產生一次清單,將其貼到 Excel 中,然後將資料驗證連結到該範圍。這正是 日期清單產生器 所填補的缺口。

how to create date drop down list in excel
how to create date drop down list in excel

您在 Excel 中實際建立的內容

工作表上有三個元件,每個元件都有其職責。

  • 來源清單。 一欄以日期格式化的日期。這就是下拉式箭頭中顯示的內容。
  • 選用的輔助欄。 第二欄用於顯示星期名稱,當下拉式選單應顯示「週一,1 月 6 日」而非單純的日期時特別實用。
  • 目標儲存格。 使用者點選並挑選日期的儲存格。資料驗證套用於這些儲存格,而非來源。

資料驗證對話框本身只關心來源欄位。您將來源指向來源清單,Excel 即會將該範圍中的每個儲存格視為一個允許的值。資料驗證中並沒有「日期」的切換選項;之所以能辨識為日期,是因為來源儲存格儲存的是實際的日期值而非文字。

使用日期清單產生器產生日期清單

日期清單產生器會在您所選的開始與結束日期之間產生一組含首尾的日曆日期序列,日期間隔可由您控制。單次執行最多可容納 10,000 個日期,足以涵蓋約 27 年的每日項目,若以週或月為間隔,則可涵蓋更長的範圍。

  1. 開啟 日期清單產生器,挑選一個與您表單應提供的第一天相符的開始日期。
  2. 挑選一個等於或晚於開始日期的結束日期;產生器含首尾,因此當間隔正好落在結束日期時,該結束日期會包含在內。
  3. 輸入一個整數的日間隔,例如 1 表示每天、7 表示每週、14 表示雙週的發薪週期。
  4. 若需要第二欄顯示星期一、星期二等星期名稱與每個日期並列,請開啟星期名稱選項。
  5. 點選「產生」,然後檢查輸出的最後一列是否與您的結束日期對齊。若少了一個間隔,是因為您的間隔無法整除範圍;這是預期且無害的情況。
  6. 複製以一列一行的輸出,並貼到活頁簿中輔助工作表的一欄。Excel 會將其值保留為日期,因為產生器會輸出 ISO 格式的日期。

貼上後,該欄即為您的來源清單。將工作表重新命名為 Lists 或 _data 這類名稱,使其不會擋到可見的表單。

將產生的清單連結到資料驗證

備妥一欄整齊的日期後,剩下的就是標準的 Excel 資料驗證程序。下列步驟假設您已將日期貼到 Lists!A2:A365 儲存格中,作為一年的每日項目。

  1. 選取使用者應挑選日期的所有儲存格。單一儲存格、像 D2:D100 這樣的範圍,或整欄(排除標題列)皆可。
  2. 開啟「資料」,然後選擇「資料驗證」,並從「允許」下拉式選單中選擇「清單」。
  3. 在「來源」方塊中,輸入持有您所產生日期的範圍,例如 =Lists!$A$2:$A$365。錢字號會鎖定範圍,如此複製貼上驗證時範圍才不會位移。
  4. 點選「確定」。每個選取的儲存格現在都會顯示一個下拉式箭頭。點選它會依時間順序開啟完整的日期清單。
  5. 若來源位於不同工作表,且 Excel 拒絕接受該參照,請定義一個名稱:選取日期,點選「公式」、「定義名稱」,將其命名為 DateList。然後將來源設定為 =DateList。

若您在第二欄產生了星期標籤,則不需要將其加入下拉式選單中。使用者會在儲存格中看到日期;星期資訊是供您在輔助工作表上參考,或用於自訂數值格式(如 ddd, mmm d)。

格式化下拉式儲存格讓日期排序正確

一個常見的抱怨是日期下拉式清單「排序錯誤」。原因幾乎總是來源欄是以文字而非日期儲存。Excel 仍會顯示下拉式選單,但文字型日期會依字母順序而非時間順序排序。

  • 選取來源欄,開啟「儲存格格式」,選擇「日期」,並挑選簡短格式如 2026-01-06 或 m/d/yyyy。
  • 若貼上的值是文字格式,請使用「資料」、「剖析」,並按「完成」,即可將其強制轉回實際的日期,而不會改變可見的值。
  • 對目標儲存格套用相同的日期格式,讓挑選的值顯示一致。

兩個欄位皆採用日期格式後,下拉式選單即會依日曆順序開啟,而根據這些儲存格所建置的任何下游 SUMIFS、VLOOKUP 或樞紐分析表也都會正常運作。

在下拉式選單旁加入星期標籤

某些表單在顯示所選日期時一併顯示星期會更易讀,例如「週一,2026 年 1 月 6 日」。Excel 的 TEXT 函數可處理這點,而不會動到儲存的日期。

在您的下拉式儲存格旁的儲存格中,輸入 =TEXT(D2,"ddd, mmm d, yyyy"),其中 D2 是經驗證的儲存格。將公式向下拖曳以對應整個表單。由於 TEXT 參照的是實際的日期值而非顯示的文字,星期會與使用者所挑選的日期保持同步。

當清單需要隨時間增長時

對於固定表單(如一季的排程)而言,靜態清單已足夠。但對於較長時間運作的工作表,請將來源從固定範圍改為可擴充的命名範圍,或將驗證替換為動態陣列。

  • 定義一個類似 DateList 的名稱,使用結構化表格參照指向輔助工作表上的該欄:=Table1[Date]。新增列會自動擴充清單。
  • 在 Microsoft 365 中,您可以在溢出的範圍內使用 =SEQUENCE(end_date - start_date + 1, 1, start_date, 1),然後將資料驗證指向該溢出的輸出。
  • 當範圍需要延伸時,隨時重新執行日期清單產生器,然後取代舊的來源欄;下次點選時,下拉式選單即會更新為新的日期。

對於隨機抽樣及其他一次性日期需求,隨機日期產生器 是實用的輔助工具;它會在含首尾的範圍內均勻抽樣,當您想用一個合理的日期填入測試儲存格時特別方便。

疑難排解常見問題

當日期下拉式選單出現問題時,有幾種常見的模式,各自都有快速的解法。

症狀可能原因解法
下拉式選單是空的來源範圍指向空白儲存格重新產生清單並重新複製,或擴大範圍以涵蓋每個已填入的列
日期出現但以文字方式排序來源以文字儲存在來源欄上執行「剖析」以強制轉為實際的日期
在不同工作表上出現驗證錯誤直接的工作表參照被封鎖定義一個命名範圍,並在來源中參照該名稱
下拉式選單顯示像 45687 的數字目標儲存格格式化為數值或通用格式同時對目標儲存格套用日期格式
新日期未出現在箭頭中來源範圍固定且太短將來源替換為表格欄參照,或手動擴大範圍

若您也為其他下拉式選單建立值清單,同樣的資料驗證模式可用於非日期項目;來源欄只是文字而非日期。該方式的擴充方式相同,所以一旦輔助工作表的模式就緒,您就能將其重複用於類別清單、狀態欄位及類似的受控詞彙。

對於正在建立排程表的團隊,可將產生的日期來源與 隨機團隊產生器 搭配使用,當您需要將每個日期指派給一個人時特別實用;這兩個工具皆在本機執行,因此沒有資料會離開瀏覽器。

更多相關內容:在幾分鐘內產生一份隨機待辦事項清單

若想深入了解,請參閱 如何在《Arena Breakout》中快速取得隨機隊友