2010年6月25日 星期五

Excel-使用多層下拉式清單結構輸入資料(基礎)

在Excel中輸入資料,如果完全以Key In方式輸入,除了耗費較多時間之外,還可能打錯字。所以如果能以選取方式來輸入資料,應該可以改善這些問題。解決這個問題,利用資料驗證、INDIRECT函數和定義名稱,可以很簡單的解決。

假設要有三個年級,每個年級的班級名稱都不相同,規則上也有所差異。(參考下圖)

 

假設各年級資料置於list工作表中,作法如下:

1. 定義名稱

(1) 一年級:=list!$A$2:$A$15

(2) 二年級:=list!$B$2:$B$15

(3) 三年級:=list!$C$2:$C$15

2.將A欄的儲存格設定資料驗證的準則為:(以儲存格A8為例)

(1) 儲存格內允許:清單

(2) 來源=list!$A$1:$C$1

image07

(3)在A欄中的儲存格按一下拉式清單,可以選取想要的年級。

4.將B欄的儲存格設定資料驗證的準則為:(以儲存格B8為例)

(1) 儲存格內允許:清單

(2) 來源=INDIRECT(A8)

(5)在B欄中的儲存格按一下拉式清單,可以選取這個年級所屬的班級。

11 則留言:

  1. 1個 indirect 的教學,解開我幾天的謎團,excel新手,讚!!

    回覆刪除
  2. 方便連絡與指教嘛~ 我是個新手~
    有幾個問題想請您幫忙~^_^

    MSN或即時

    回覆刪除
  3. 方便連絡與指教嘛~
    有幾個小問題想請教您~

    MSN或即時

    回覆刪除
  4. 我想請教如果我要將(一年級 / 二年級 / 三年級)的清單設成自動抓取清單數, 我會寫成 =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A$2:$A$65536),1), 但在B欄在設定"驗證"=indirect(A8)時, 結果出現錯誤, 請問這二個寫法不能合用嗎???

    回覆刪除
    回覆
    1. 您好, 公式中INDIRECT(A8)的儲存格A8, 是儲存一個定義好的名稱, 如果依照您的做法, 無法抓到適當的「名稱」, 所以結果就出不來了。

      刪除
  5. 您好, 我設定了一個表要給公司員工由下拉式清單選擇, 可是我只希望他們用選擇的, 不要修改。
    我發現如果要在儲存格裡面直接修改是不可以的, 但是如果儲存格被複製貼上了就防範不了, 怎麼辦呢?

    回覆刪除
    回覆
    1. 你只要把加密保護工作表, 只留下要變動的儲存格, 其餘均設定為無法變動(含複製貼上)即可。

      刪除
  6. 餘均設定為無法變動(含複製貼上)即可。
    --->請問這樣是不是也不能在下拉式清單的欄位做選擇了

    回覆刪除
    回覆
    1. 請參考:http://isvincent.blogspot.tw/2012/11/excel_20.html

      刪除
  7. 請問Indirect裡參照的"A8"內容是不是有格式限制,例如不能有空格,%,+,/ 等符號?? 如果我參照的A8文字格是必須有這些符號,有沒有其他解法? 謝謝妳

    回覆刪除
    回覆
    1. 儲存格的內容是可以接受?%/等符號, 你可以有其他操作上的問題, 再試試!

      刪除

檢視其他文章

好康東東