歡度春節之後,利用寒假開學前,來讓學校同仁,再次有機會親近 Excel,看看能否利用試算表工具來讓工作效能提升,所以製作了研習的範例。本篇是關於「資料驗證準則」,並提供了15個巧妙應用。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

資料驗證可以藉由各種資料類型設定驗證準則後,讓使用者避免輸入錯誤的資料。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

資料驗證的預設準則是「任意值」,也就是沒有設定任何的條件。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

可以用以設定驗證準則的資料類別有:

整數:限輸入不具小數者,可以限制整數的範圍。

實數:可輸入包含小數者,可以限制整數的範圍。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

清單:儲存格預設會以下拉式清單方式來顯示「來源」方塊中定義的內容。使用者可以自行輸入所有清單項目,其中每個項目以「,」隔開。或是給予已經輸入內容的儲存格範圍,當作清單項目。

如果不想以下拉式清單方式呈現,則可以取消勾選「儲存格內的下拉式清單」。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

日期:輸入日期格式的數值,並可以限制日期的範圍。

時間:輸入時間格式的數值,並可以限制時間的範圍。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

文字長度:可輸入文字並限制文字的長度範圍。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

自訂:自行設計公式,只要公式結果傳回「TRUE」,即符合驗證準則,表示可以輸入該內容。若公式結果傳回「FALSE」,即不符合驗證準則,表示該輸入內容不被接受。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

其實不管是整數、實數、日期、清單、時間、文字長度、自訂,都可以:

(1) 在指定文字方塊中輸入定數之外

(2) 將內容或公式寫在儲存格中,將後再選取該儲存格。

(3) 直接在文字方塊中輸入公式。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

以下要針對驗證準則中以公式設計來實作練習,並提供15項常見的巧妙應用:

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

【公式設計】

1.限定不能輸入0

準則公式:=D2<>0

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

2.限定只能輸入數字

準則公式:=ISNUMBER(D3)

ISNUMBER 函數用以判斷儲存格內容是否為數值,並傳回 TRUE/FALSE

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

3.限定只能輸入指定文字(例:男、女)

準則公式:=OR(D4="男",D4="女")

OR 函數用以判斷參數執行邏輯 OR 運算的結果,並傳回 TRUE/FALSE

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

4.限定只能輸入偶數

準則公式:=MOD(D5,2)=0

MOD 函數用以傳回兩數相除的餘數。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

5.限定輸入不得超過n個字(例:6)

準則公式:=LEN(D6)<=6

LEN 函數用以計算儲存格內容的字元數量,並傳回一個數值。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

6.限定同一欄輸入唯一值

準則公式:=COUNTIF(D2:D100,D7)=1

COUNTIF 函數用以計算在儲存格範圍內和儲存格D7相同的數量是否為1,若傳回 TRUE,表示輸入唯一值,若傳回 FALSE,表示有重覆值。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

7.限定只能輸入小數點位數(例:2)

準則公式:=ROUNDDOWN(D8,2)=ROUNDDOWN(D8,3)

ROUNDDOWN 函數用以將儲存格D8的數值無條件捨去至指定的小數點位數。本例中,若取小數點 2 位數的結果和取小數點 3 位的結果相同,則表示該數值的小點數位數未超過 2 位。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

8.限定只能輸入質數

準則公式:=SUMPRODUCT(--(MOD(D9,ROW(INDIRECT("2:"&(D9-1))))=0))=0

公式的解析可參考:Excel-判斷是否為質數(SUMPRODUCT,MOD,ROW,INDIRECT)

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

9.限定輸入第一個字為英文字

準則公式:

=AND(CODE(UPPER(LEFT(D10,1)))<=90,CODE(UPPER(LEFT(D10,1)))>=65)

(1) 利用 LEFT 函數將儲存格D10內容取左邊第一個字(函數中的參數1)。

(2) 再利用 UPPER 函數將(1)式的傳回文字轉換為大寫英文字。

(3) 再利用 CODE 函數取得(2)式的傳回文字之 ASCII 碼數值。

(4) 利用 AND 函數判斷(3)式傳回的 ASCII 碼是否介於 65 和 90 之間。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

圖片來源:Excel-製作ASCII碼對照表

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

10.限定輸入的文字中不能有空格

準則公式:=SUBSTITUTE(TEXT(D11,"")," ","")=TEXT(D11,"")

(1) 利用 TEXT 函數將儲存格C11的內容轉換為文字(使用者可能輸入數值)。

(2) 再以 SUBSTITUTE 函數將空格「" "」置換為空字串「""」。

若置換前和置換後的字串兩者相同,表示該字串中未含有空格。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

11.限定輸入Email郵件(例:xx@yy.zz)

準則公式:

=AND(SUBSTITUTE(D12,"@","")<>D12,SUBSTITUTE(D12,".","")<>D12)

因為 Email 的郵件地址中必須包含「@」和「.」,所以:

(1) SUBSTITUTE(D12,"@","")<>D12:

將儲存格D12內容刪除「@」,必須和儲存格D12原內容不相同。

(2) SUBSTITUTE(D12,".","")<>D12:

將儲存格D12內容刪除「.」,必須和儲存格D12原內容不相同。

(3) 再以 AND 函數判斷(1)式和(2)式是否兩者同時成立,並傳回 TRUE/FALSE

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

12.限定只能輸入早上時間

準則公式:=AND(D13>=0,D13<0.5)

因為在 Excel 中是數值 1 代表一天,所以如果是00:00~11:59的數值是 0~0.5(不含),如果是12:00~23:59的數值是 0.5~1(不含)。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

13.限定不能輸入未來日期

準則公式:=D14<=TODAY()

TODAY 函數會傳回今天的日期,所以若儲存格C14的日期數值若比今天大,則表示是未來日期,將不被允許。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

14.限定只能輸入非假日的日期

準則公式:=WEEKDAY(D15,2)<6

WEEKDAY 函數可以取得星期幾對應的數值,本例中使用參數「2」,表示星期到星期日會對應傳回 1 到 7。所以如果 WEEKDAY 函數傳回值比 6 小,表示非假日的日期。

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

15.限定只能輸入當月的日期

準則公式:

=AND(YEAR(D16)=YEAR(TODAY()),MONTH(D16)=MONTH(TODAY()))

(1) 利用 YEAR 函數求得儲存格D16和今天(TODAY())的年度。

(2) 利用 MONTH 函數求得儲存格D16和今天(TODAY())的月份。

(3) 再利 AND 函數判斷(1)式和(2)式是否都成立,並傳回 TRUE/FALSE

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

 

綜合結果如下:

Excel-研習練習範例(15個巧妙應用的資料驗證準則)

參考其他研習範例:

Excel-研習練習範例(排序)

Excel-研習練習範例(篩選)

Excel-研習練習範例(進階篩選)

Excel-研習練習範例(樞紐分析)

利用Google搜尋本部落格全部「資料驗證」文章

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 資料驗證
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(0) 人氣()