大家在使用 Excel 做表格的時候,是不是常常遇到要輸入重複性的資料。比如說排班表中的班別、縣市鄉鎮,這時候下拉選單就是一個很方便的功能了,每次輸入不用重新打字,也可以避免打字錯誤的問題。
那 Excel 要怎麼做出下拉式選單呢?這邊要使用一個內建的驗證工具:資料驗證。這個功能不只可以幫儲存格(Cell)設定驗證規則,做出簡單的防呆功能,同時還可以做出實用的下拉式選單。讓我們一步一步看下去。
Excel 範例檔案下載:Excel-data-validation-drop-down-list.xlsx
如果想要學習多層下拉式選單,可以看這裡:【Excel】多層下拉式選單 (Dependent Drop-Down list)
資料驗證(Data Validation)
首先用滑鼠點擊需要被驗證的儲存格(Cell),再點選上方工具列 > 資料 > 資料工具 > 資料驗證 > 資料驗證,就可以對該儲存格設定資料驗證。

儲存格內允許(Allow):如果沒有特別設定資料驗證,每個儲存格預設的驗證準則都是任意值,其他規則有整數、實數(可以是小數)、清單、日期、時間、文字長度、自訂。「清單」就是本文的重點下拉式選單,而「自訂」這個選項,我會介紹幾種常用的驗證方式。

資料(Data):介於、不介於、等於(=)、不等於(≠)、大於(>)、小於(<)、大於或等於(≧)、小於或等於(≦)
其中「介於」和「不介於」有包含兩端值範例如下:
介於:在最大值與最小值之間,或等於最大值,或等於最小值
-如果最大值最小值分別是1, 3,那數值1, 2, 3都符合規則( 1 ≦ x ≦ 3 )
不介於:不在最大值與最小值之間,且不等於最大值,也不等於最小值
-如果最大值最小值分別是1, 3,那數值1, 2, 3都不符合規則( x < 1 or x > 3 )
下拉選單(Drop-down List)
來源-儲存格(Cell)

首先選擇要資料驗證的儲存格,我的範例是選取[C3]到[I3],接著按上方工具列的資料驗證,儲存格內允許值選擇清單,來源(Source)的部分是[A2]到[A5]的員工清單,最後只要按下確定,就大功告成了。

這邊會發現,當我們點選有選單的儲存格時,會出現一個下拉箭號,該儲存格只能填入清單的資料。

來源-名稱方塊(Name Box)
清單來源也可以使用名稱方塊,就是給儲存格一個名字。選取[A2]到[A5],點擊左上方名稱方塊,輸入「員工名字」,按下 Enter 。


接著資料驗證設定中,來源的部分直接使用公式「=員工名字」。

來源-直接輸入(Key In)
當然,這裡的來源清單也可以直接輸入,不用選擇儲存格。每個允許值以逗號(,)分開即可。

自訂公式(Custom Formula)
資料驗證內建的規則就可以解決大部分的問題了,但凡事總有例外,因此有自訂公式這個選項供我們客製化驗證規則,來解決數字、時間、列表、長度沒辦法解決的問題。這邊我列出幾個我常遇到的需求,當然還有很多我沒有列出來的用法,也歡迎大家在下面討論,自己遇到的問題。
總和限制(Sum Limit)

公式「=SUM($B$3:$AF$3)<=46」
依照勞動基準法§32:勞工之工作時間延長,一個月不得超過四十六小時。
所以這題範例就以這個為基準去設計:[B3]到[AF3]為小墨的每日加班時數,這31格的加總不能超過46。
方法如下,先選擇[B3]到[AF3],接著按下資料驗證,選擇自訂,在公式的地方使用sum這個函數,並選取範圍[B3]到[AF3],記得案鍵盤上的「F4」,讓它加上錢號($),目的是讓每一格的公式都鎖定這 31 格。
只能輸入文字(Text Only)

公式「=ISTEXT(A1)」
選擇[A1],按下資料驗證,選擇自訂,在公式的地方使用ISTEXT這個函數,並選取[A1],就完成了。
資料驗證也支援儲存格自動填滿的功能,所以可以拉著儲存格右下角的綠色小方塊,將驗證規則填滿至其他儲存格。
不能輸入重複資料(Unique Value)

公式「=COUNTIF($B$2:$B$5,B2)=1」
這裡使用 COUNTIF 這個函數,統計[B2]到[B5]中,值等於[B2]的數量,這個值等於 1,就代表他只出現一次,這樣就符合無重複這個規則了。
字首、字數限制(Prefix, Word Restriction)

公式「=COUNTIF(A2,”小*”)」
這裡也是使用 COUNTIF 而不是 IF ,因為 IF 在判斷的時候,沒辦法使用萬用字元比對,因此我這裡使用COUNTIF 去加總符合條件的數目。而這只有一項,如果符合 COUNTIF 的條件會回傳 1。
這裡公式的判斷是使用布林值(Boolean)去判斷,認定 1 等於TRUE,0 等於FALSE。
所以COUNTIF回傳的 1,會被認定是 TRUE 符合規則。使用這個原則就可以達到字首、字數的限制。
如果要限制字數可以使用「?」,一個「?」代表一個字元,如果是「小??」就表示只能輸入三個字元,而且字首必須為「小」。這裡「*」和「?」字號的用法,在之前 XLOOKUP 文章的最後有提到,不知大家有沒有印象,這裡我一樣附在會後面,讓大家複習一下。
輸入訊息(Input Message)
如果有設定輸入訊息,就會在選取到有資料驗證的儲存格時,顯示該訊息


錯誤提醒(Error Alert)
錯誤提醒分成3種類別,停止、警告、資訊。停止會無法輸入,警告預設選項是「否」,資訊則是「確定」。可以感受到這三種分別的彈性不太一樣。當然其警告標題和文字,也是可以自己客製設定。
停止(Stop)
防止使用者在儲存格中輸入無效資料。
[停止] 通知訊息有兩個選項:[重試] 或 [取消]。

警告(Warning)
警告使用者其輸入的資料無效,但不阻止使用者輸入資料。
出現 [警告] 通知訊息時,使用者可以按一下 [是] 接受無效的輸入、按一下 [否] 編輯無效的輸入,或按一下 [取消] 移除無效的輸入,預設選擇 [否]。

資訊(Information)
通知使用者其輸入的資料無效,但不阻止使用者輸入資料。 這種類型的錯誤提醒是最有彈性的。
出現 [資訊] 通知訊息時,使用者可以按一下 [確定] 接受無效值,或按一下 [取消] 拒絕無效值。預設選擇 [確定]。

圈選錯誤資料(Circle Invalid Data)
這邊使用字首為「小」的驗證資料,點擊上方工具列 > 資料 > 資料工具 > 資料驗證 > 圈選錯誤資料
因為 Mr. Y 沒有符合資料驗證的規則因此被圈選起來,只要點擊下方的清除錯誤圈選就不會顯示出來。


多層下拉式選單的文章:【Excel】多層下拉式選單 (Dependent Drop-Down list)
Excel 範例檔案下載:Excel-data-validation-drop-down-list.xlsx
更多 Excel 文章請至 文章導覽 尋找,也可利用上方「搜尋(Search...)」功能
有任何莫非工具的問題,歡迎至「表單」提問
Excel 是不是很容易
和墨菲一起用 Excel 把工作變簡單
萬用字元比對
萬用字元 | 尋找 |
? (問號) | 任何單一字元 例如,ad?pt 會找到 “adapt” 、 “adopt” 和 “adept” |
* (星號) | 任何字元數 例如,*land 會找到 “Switzerland” 、 “Iceland” 和 “Land” |
~ (波狀符號) | 若尋找值剛好為 ? 或 * 或 ~ ,須在前方多一個~符號 例如,awesome~? 會找到 “awesome?” |
Pingback: 莫非工具 | 文章導覽 - 墨菲莫非
Pingback: Excel 如何下拉一樣的數字? - 知識星球