我們在用Excel錄入表格式資料時,常常會遇到某列資料的值只在幾個固定值中選擇一個的情況,
比如:人的性別列只可能錄入男或女,對學曆列只可能錄入高中、大專、本科、研究生之一等。遇到這類資料,如果我們手工錄入,效率既低又容易出錯,最好的解
決辦法是提供一個下拉式清單方塊供我們選擇其中的值。下面就通過一個編排教師的課表為例教大家如何?,該Excel表格能在填表時選擇教師姓名,並能在另一
列表中選擇他所負責的課程名稱。
一 建立資料來源表
在sheet2表中輸入教師姓名以及所負責的課程,把教師姓名橫放在第2行。選中B2:F2,即教師姓名。然後在名稱框為它輸入一個名字“name”(圖1),輸入完成後一定要按斷行符號,轉到sheet1工作表。
二 資料關聯
為了在sheet1表引用name名稱,在教師姓名列下拉框選(B3:B9)儲存格,點擊功能表列中的“資料→有效性”,在彈出
的“資料有效性”對話方塊中選擇“設定”選項卡,在“允許”選擇框中選擇“序列”,在來源輸入框中輸入“=name”(圖2),點擊“確定”後,在下拉式清單
中就可選擇各個教師了。
提示:現在就可體會出名稱框的妙用,因為來源的拾取按鈕是不能跨表去拾取其他表的資料的。
第二步就是實現能夠自動選擇教師所負責的課程,由於教師姓名是變動的,要求負責的課程名稱也要隨之變動。負責課程這一列中的有效性資料來自於教師姓名這一列,怎麼解決這個問題?同樣,我們可用名稱框來解決。
回到sheet2表,用不著給表中的每個教師的課程單獨取名,很麻煩也很耽誤時間。把整個地區選中(B2:F6),用每一列的第一行資料取名,點擊“插入→名稱→指定”,在指定名稱對話方塊中只選中“首行”(圖3),點擊“確定”後就可在sheet1表中使用了。
轉到sheet1表,把負責課程列下的地區選中(C3:C9),點擊“資料→有效性→序列”。接著就要注意來源輸入框中的內容了,因為不能等於單元
格,在這裡希望引用教師姓名所對應的名稱裡的資料來做下拉式清單,這裡要用到函數indirect,它表示從某一儲存格中取資料,然後把此資料轉換成一個區
域。在來源輸入框中輸入“=indirect(”,點擊B3儲存格,出現“=indirect($B$3)”,這裡是絕對引用,按F4鍵改成相對參照
“=indirect(B3)”,確定後會有一個警告提示框,源目前包含錯誤,是否繼續(圖4)?點擊“是”繼續就行了。
提示:有人會因為出現“錯誤提示”就不敢繼續了。為什麼會出現錯誤提示?這是因為B3儲存格中沒有填姓名,所以會出現“錯誤提示”。
現在,點擊sheet1表中的B3到C9地區任一個儲存格都會出現下拉式清單方塊供你選擇欲輸入的值,如果今後教師有變化或他負責的課程有變化,只要在sheet2表中稍做修改即可,輕鬆省事!