【Excel】資料驗證、下拉式選單 (Data Validation & Drop-down List)

  • Post author:
Home » 莫非工具 » Excel » 資料驗證、下拉式選單

大家在使用 Excel 做表格的時候,是不是常常遇到要輸入重複性的資料。比如說排班表中的班別、縣市鄉鎮,這時候下拉選單就是一個很方便的功能了,每次輸入不用重新打字,也可以避免打字錯誤的問題。

那 Excel 要怎麼做出下拉式選單呢?這邊要使用一個內建的驗證工具:資料驗證。這個功能不只可以幫儲存格(Cell)設定驗證規則,做出簡單的防呆功能,同時還可以做出實用的下拉式選單。讓我們一步一步看下去。

Excel 範例檔案下載:Excel-data-validation-drop-down-list.xlsx

如果想要學習多層下拉式選單,可以看這裡:【Excel】多層下拉式選單 (Dependent Drop-Down list)

資料驗證(Data Validation)

首先用滑鼠點擊需要被驗證的儲存格(Cell),再點選上方工具列  資料  資料工具  資料驗證  資料驗證,就可以對該儲存格設定資料驗證。

Data Validation
Data Validation

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

Data Validation Setting
Data Validation Setting

資料(Data):介於、不介於、等於(=)、不等於(≠)、大於(>)、小於(<)、大於或等於(≧)、小於或等於(≦)

其中「介於」和「不介於」有包含兩端值範例如下:

介於:在最大值與最小值之間,或等於最大值,或等於最小值
-如果最大值最小值分別是1, 3,那數值1, 2, 3都符合規則( 1 ≦ x ≦ 3 )

不介於:不在最大值與最小值之間,且不等於最大值,也不等於最小值
-如果最大值最小值分別是1, 3,那數值1, 2, 3都不符合規則( x < 1 or x > 3 )


下拉選單(Drop-down List)

來源-儲存格(Cell)

Drop-down List Setting
Drop-down List Setting

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

Drop-down List Demo 1
Drop-down List Demo 1

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

Drop-down List Demo 2
Drop-down List Demo 2

來源-名稱方塊(Name Box)

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

Name Box 1
Name Box 1
Name Box 2
Name Box 2

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


來源-直接輸入(Key In)

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

Key-in Source
Key-in Source

自訂公式(Custom Formula)

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

總和限制(Sum Limit)

Sum Limit
Sum Limit

公式「=SUM($B$3:$AF$3)<=46

依照勞動基準法§32:勞工之工作時間延長,一個月不得超過四十六小時。

所以這題範例就以這個為基準去設計:[B3]到[AF3]為小墨的每日加班時數,這31格的加總不能超過46

方法如下,先選擇[B3]到[AF3],接著按下資料驗證,選擇自訂,在公式的地方使用sum這個函數,並選取範圍[B3]到[AF3],記得案鍵盤上的「F4」,讓它加上錢號($),目的是讓每一格的公式都鎖定這 31 格。


只能輸入文字(Text Only)

Text Only
Text Only

公式「=ISTEXT(A1)

選擇[A1],按下資料驗證,選擇自訂,在公式的地方使用ISTEXT這個函數,並選取[A1],就完成了。

資料驗證也支援儲存格自動填滿的功能,所以可以拉著儲存格右下角的綠色小方塊,將驗證規則填滿至其他儲存格。


不能輸入重複資料(Unique Value)

Unique Value
Unique Value

公式「=COUNTIF($B$2:$B$5,B2)=1

這裡使用 COUNTIF 這個函數,統計[B2]到[B5]中,值等於[B2]的數量,這個值等於 1,就代表他只出現一次,這樣就符合無重複這個規則了。


字首、字數限制(Prefix, Word Restriction)

Prefix, Word Restriction)
Prefix, Word Restriction

公式「=COUNTIF(A2,”小*”)

這裡也是使用 COUNTIF 而不是 IF ,因為 IF 在判斷的時候,沒辦法使用萬用字元比對,因此我這裡使用COUNTIF 去加總符合條件的數目。而這只有一項,如果符合 COUNTIF 的條件會回傳 1。

這裡公式的判斷是使用布林值(Boolean)去判斷,認定 1 等於TRUE,0 等於FALSE。

所以COUNTIF回傳的 1,會被認定是 TRUE 符合規則。使用這個原則就可以達到字首、字數的限制。

如果要限制字數可以使用「?」,一個「?」代表一個字元,如果是「小??」就表示只能輸入三個字元,而且字首必須為「小」。這裡「*」和「?」字號的用法,在之前 XLOOKUP 文章的最後有提到,不知大家有沒有印象,這裡我一樣附在會後面,讓大家複習一下。


輸入訊息(Input Message)

如果有設定輸入訊息,就會在選取到有資料驗證的儲存格時,顯示該訊息

Input Message Setting
Input Message Setting
Input Message
Input Message

錯誤提醒(Error Alert)

錯誤提醒分成3種類別,停止警告資訊。停止會無法輸入,警告預設選項是「否」,資訊則是「確定」。可以感受到這三種分別的彈性不太一樣。當然其警告標題和文字,也是可以自己客製設定。

停止(Stop)

防止使用者在儲存格中輸入無效資料。

[停止] 通知訊息有兩個選項:[重試] 或 [取消]。

Stop

警告(Warning)

警告使用者其輸入的資料無效,但不阻止使用者輸入資料。

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

Warning
Warning

資訊(Information)

通知使用者其輸入的資料無效,但不阻止使用者輸入資料。 這種類型的錯誤提醒是最有彈性的。

出現 [資訊] 通知訊息時,使用者可以按一下 [確定] 接受無效值,或按一下 [取消] 拒絕無效值。預設選擇 [確定]。

Information
Information

圈選錯誤資料(Circle Invalid Data)

這邊使用字首為「小」的驗證資料,點擊上方工具列  資料  資料工具  資料驗證  圈選錯誤資料

因為 Mr. Y 沒有符合資料驗證的規則因此被圈選起來,只要點擊下方的清除錯誤圈選就不會顯示出來。

Circle Invalid Data
Circle Invalid Data
Invalid Data
Invalid Data

多層下拉式選單的文章:【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?”
Wildcard Match

This Post Has 2 Comments

歡迎留言,與我們分享你的看法!