如何在 Excel 工作表的單一儲存格中套用多種資料驗證規則?
在 Excel 工作表中,對儲存格套用單一資料驗證規則是相當常見的做法,有助於確保資料的一致性與準確性。然而,在某些情況下,您可能需要在同一儲存格中同時執行多項驗證條件——例如允許輸入有效數字或特定清單中的選項,甚至將特定文字格式要求與可接受的日期範圍結合運用。透過 Excel 處理這類更複雜的資料驗證需求,不僅能更精準地掌控資料輸入流程,還能有效防止錯誤、全面提升資料品質。
以下內容將逐步引導您透過多個實際範例,在 Excel 的單一儲存格中實踐多重資料驗證規則。每個範例皆針對不同情境設計,助您輕鬆選出最符合需求的解決方案。此外,本文也介紹了 VBA 等替代方法,以滿足更高彈性或進階邏輯的應用需求。
在單一儲存格中套用多重資料驗證(範例 1)
假設您希望設定某個儲存格,使其僅接受符合以下任一條件的值:
- 若輸入的是數字,則必須小於 100.
- 若輸入的是文字,則該文字必須存在於特定清單中(例如範圍 D2 至 D7)。
當您需要在同一欄位中收集定量代碼或預先定義的分類答案時,這種情況相當常見。透過搭配驗證規則,無需為數字與文字分別設置不同欄位,即可提升清晰度與效率。

1. 選取您要啟用多重資料驗證準則的儲存格或範圍,然後在資料索引標籤上,按一下資料驗證> 資料驗證(如下所示):

2. 在資料驗證對話方塊中,切換至設定索引標籤,並依下列方式進行設定:
- (1.) 在允許下拉選單中,選取自訂。
- (2.) 在公式欄位中,輸入下列公式:=OR(A2<$C$2,COUNTIF($D$2:$D$7,A2)=1)
注意:此公式中,A2 為待驗證儲存格的位址,C2 包含允許的最大值,而 D2:D7 則列出允許的文字項目。請依您的工作表調整這些參照。

3. 按一下確定以套用設定。現在,所選儲存格將僅接受小於 100 的數字,或在 D2:D7 範圍中找到的文字字串。若使用者輸入不符合任一條件的值,Excel 將立即顯示警告提示,讓您即時掌握無效輸入狀況!

此方法適用於規則明確的簡單情境。然而,若需求涉及條件式提示或多步驟邏輯等更細緻或互動性更高的功能,公式型資料驗證便可能顯得力有未逮。此時,下方介紹的 VBA 方法將提供更高的彈性與掌控力。
在單一儲存格中套用多重資料驗證(範例 2)
在此情境中,您可能僅希望允許符合以下任一條件的資料輸入:
- 輸入值為精確文字「Kutools for Excel」
- 輸入值為介於 12/1/2017 與 12/31/2017 之間的日期
當您在問卷或資料表單中需要輸入確認代碼(精確的文字字串)或專案範圍內的日期時,這類多重驗證功能格外實用。

1. 為目標儲存格開啟資料驗證對話方塊,並執行下列步驟:
- (1.) 前往設定索引標籤。
- (2.) 從自訂選項中選取允許下拉式選單。
- (3.) 請將此公式輸入至公式區域:=OR(A2=$C$2,AND(A2>=DATE(2017,12,1), A2<=DATE(2017,12,31)))
注意:此處,A2 為驗證儲存格,C2 應包含目標文字「Kutools for Excel」,而日期範圍則由 DATE(2017,12,1) 與 DATE(2017,12,31) 定義。請依您的工作表設定調整參照。

2. 按一下確定進行確認。設定完成後,這些儲存格將僅允許輸入指定文字或定義範圍內的日期;任何其他類型的輸入或超出範圍的內容都會立即遭到封鎖,並顯示如圖所示的回饋:

此方法適用於僅接受完全相符或固定日期值的嚴格輸入情境。然而,若您的驗證涉及複雜的相依性、計算或使用者互動,建議採用 VBA 解決方案,以實現更精準的控制能力。
在單一儲存格中套用多重資料驗證(範例 3)
第三個範例考慮一種情境:儲存格僅允許符合特定開頭文字及對應字元數的輸入:
- 儲存格必須以「KTE」開頭,且恰好為 6 個字元長
- 或以「www」開頭,且恰好為 10 個字元長
當需要強制執行代碼或 URL 的格式標準時,這類準則十分常見。透過套用字元長度與前置字元檢查,可大幅降低輸入錯誤的機率。

為解決此問題,請使用下列公式設定資料驗證:
1. 開啟資料驗證對話方塊,並在「設定」中完成下列步驟:
- (1.) 選取設定索引標籤。
- (2.) 從「允許」下拉選單中選取自訂。
- (3.) 在「公式」欄位中輸入:=OR(AND(LEFT(A2,3)="KTE",LEN(A2)=6),AND(LEFT(A2,3)="www",LEN(A2)=10))
注意:如有需要,請將 A2 替換為您實際使用的儲存格參照。您也可根據實際情境,調整「KTE」、「www」及字元數量,輕鬆掌握公式應用!

2. 按一下確定。現在,該儲存格將僅接受符合前置字元與長度規則的值;任何違反任一條件的輸入都會立即觸發驗證錯誤,如下所示:

提示:若您有其他多重條件驗證需求,可善用 Excel 內建函數建立自訂公式,輕鬆滿足您的要求!
公式型驗證的一項限制在於,當規則變得更複雜或更具互動性時(例如需顯示自訂錯誤訊息,或處理動態變更的條件),可能難以管理與編輯。在此類情況下,採用 VBA 解決方案可大幅提升彈性。
使用 VBA 套用多重資料驗證(進階)
當公式型資料驗證無法滿足需求時(例如需根據多種條件組合進行驗證、依據其他儲存格的值動態調整規則,或顯示自訂的即時提示訊息),您可運用 VBA(Visual Basic for Applications)巨集,在儲存格中實作更進階或具動態性的驗證規則。
典型應用情境包括:
- 根據超過兩個同時條件驗證輸入內容
- 允許使用者互動,例如顯示包含詳細指引的彈出訊息
- 自動還原無效資料並提供自訂指示
以下為一個 VBA 解決方案範例,其中在 B2 中輸入的資料必須符合下列任一條件:
-為介於 1 與 50 之間的整數
-或是範圍 D2:D5
注意:您可以根據需求,靈活調整程式碼中的條件、目標範圍或驗證邏輯。
1. 按下 Alt+F11 以開啟 Visual Basic for Applications 編輯器。在 VBA 編輯器中,於專案窗格內按兩下您要新增多重資料驗證的工作表,接著將下列巨集複製到該工作表的程式碼視窗中:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValidList As Range
Dim InputValue As Variant
Dim IsValid As Boolean
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Only validate B2 (you can set this to your desired cell or range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
InputValue = Target.Value
Set ValidList = Range("D2:D5") ' Change as needed
IsValid = False
' Check for whole number between 1 and 50
If IsNumeric(InputValue) And InputValue = Int(InputValue) Then
If InputValue >= 1 And InputValue <= 50 Then
IsValid = True
End If
End If
' Check if input matches allowed list
If WorksheetFunction.CountIf(ValidList, InputValue) > 0 Then
IsValid = True
End If
If Not IsValid Then
MsgBox "Entry must be an integer between 1 and 50 OR one of the values listed in D2:D5.", vbExclamation, xTitleId
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End If
End Sub 2. 在儲存格 B2 中輸入資料:若輸入的是介於 1 與 50 之間的整數,或為 D2:D5 區域中的文字,系統將予以保留;否則會立即顯示錯誤訊息並清除無效內容。您可依需求調整 VBA 中的目標儲存格與有效值範圍,輕鬆客製化驗證規則!
提示與疑難排解:
- 執行 VBA 前,務必先儲存活頁簿,以免因非預期的程式碼導致資料遺失。
- 如果您的工作表包含多個驗證儲存格,只需調整程式碼,即可驗證任意範圍,不再侷限於 B2.
- 若程式碼未執行,請再次確認巨集已啟用,且程式碼位於正確的工作表中。
- 您可以根據需求強化程式碼,以提供不同的訊息或記錄無效的輸入項目。
VBA 型解決方案極具彈性,非常適合進階驗證需求。但請注意,巨集需使用者在其 Excel 環境中啟用 VBA,且在某些安全性設定下可能無法使用。
總結來說,當您在 Excel 中為單一儲存格設定多重驗證規則時,可針對多數簡單需求採用公式型方法,或透過 VBA 打造更動態、更精密的資料驗證工作流程。請務必根據您的目標、資料複雜度及使用者環境,審慎評估最適合的方案,以發揮最大效益。
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用