Excel下拉菜單如何動態獲取數據?

下拉菜單的基礎操作

如何製作一個下拉菜單?比如要在A2單元格設置,基礎的操作步驟如下:

Excel下拉菜單如何動態獲取數據?


第一步:鼠標單擊A2單元格,然後點擊數據選項卡

Excel下拉菜單如何動態獲取數據?

第二步:點擊數據驗證,然後再點擊數據驗證

Excel下拉菜單如何動態獲取數據?

第三步:選擇序列

Excel下拉菜單如何動態獲取數據?

第四步:點擊圖片上的按鈕

Excel下拉菜單如何動態獲取數據?

點完後會出現下圖


Excel下拉菜單如何動態獲取數據?

第五步:選擇數據區域,我的店鋪名稱是放在了sheet2裡面,選擇sheet2工作表,鼠標直接點擊A1不放,然後拖到A8單元格,圖片中的=Sheet2!$A$1:$A$8 Excel會自動生成,無需手寫,最後再點擊圖片所指的地方。

Excel下拉菜單如何動態獲取數據?

第六步:此時數據區域會自動填入,只需要點擊確認即可。

Excel下拉菜單如何動態獲取數據?

此時下拉菜單就製作好了,是不是很簡單,可以打開你的Excel測試一下。

Excel下拉菜單如何動態獲取數據?

但是這個下拉菜單不完美,為什麼呢?因為隨著數據的變動,下拉菜單不會變動,比如我在H後面加上一個W,下拉菜單並不會隨之增加。

Excel下拉菜單如何動態獲取數據?

數據區域增加W


Excel下拉菜單如何動態獲取數據?

下拉菜單並沒有變化,沒有增加W選項

那這個怎麼解決?此時我們需要用到INDIRECT和COUNTA來獲取動態數據區域

第一步:加入W後,此時數據區域從A1:A8變成A1:A9,所以最關鍵的是最後這個數字需要用一個公式來取代,當數據增加或減少時最後這個數字也會隨之變動,這樣就可以動態獲取這個區域了。COUNTA(計算區域中非空單元格的個數)這個函數,就可以解決這個問題

Excel下拉菜單如何動態獲取數據?

用COUNTA對A列進行統計非空單元格個數,可以得到9,如果把W刪除掉,那就會得到8


Excel下拉菜單如何動態獲取數據?

現在我們知道了COUNTA(A:A)能算出9,然後我們把區域表達式A1:A和COUNTA(A:A)用連接符&鏈接起來就可以了,就是這個樣子(前提是字符A1:A需要用英文輸入法的雙引號)"A1:A"&COUNTA(A:A),那這樣就可以動態的獲取區域了。

Excel下拉菜單如何動態獲取數據?

我們嘗試著把這個動態區域放到數據驗證裡

Excel下拉菜單如何動態獲取數據?

發現這樣並不行,會報錯。為什麼?因為這種屬於間接引用,數據驗證不能直接使用這個區域,我們需要用一個函數INDIRECT來重新定義這個區域,用法也很簡單就是把剛剛的動態區域直接放進INDIRECT的括號裡就可以了,就像這樣=INDIRECT("A1:A"&COUNTA(A:A)) 然而還沒有完成......由於數據是在sheet2裡,所以在數據前面需要加入sheet2! 這樣表示這個區域是在sheet2這個表裡,否則Excel認為這個區域是當前工作表sheet1裡。就像這樣=INDIRECT("sheet2!A1:A"&COUNTA(Sheet2!A:A))最後把把這個粘貼到數據驗證裡,再點確認就不會有問題了。(公式太長圖片沒有全部顯示)

Excel下拉菜單如何動態獲取數據?

此時不管增加什麼,下拉菜單都能動態獲取了。

Excel下拉菜單如何動態獲取數據?


Excel下拉菜單如何動態獲取數據?

好了,關於動態下拉菜單就分享到這裡,謝謝觀看。

如果想系統學習Excel可以關注我,有詳細視頻講解,還有Excel實用技巧。


分享到:


相關文章: