利用Excel數據有效性中的“序列”功能,可以為單元格的數據輸入提供可供選擇的下拉列表(關于使用數據有效性功能的詳細介紹可參閱:第4章),但是當“序列”所引用的數據源包含重複數據項時,下拉列表中也會出現重複的數據項,從而影響數據的選取。此外“序列”所引用的數據區域擴展變化後,下拉列表中的選擇項通常不能随之自動更新。
利用技巧66中介紹的動态定義名稱的方法結合輔助列,可以設置不含重複數據項的動态更新的數據有效性下拉列表。
如果希望在圖所示的數據列表G列“品名”字段下的G2:G14空白單元格區域内創建數據有效性下拉列表,要求在下拉表中顯示B列“品名”字段的數據内容,并且不包含其中的重複項,當 A:D 列區域數據增加時,下拉列表中的數據項也能随之自動增加,設置這樣的動态不重複數據有效性下拉列表的方法如下。
選定A1:D14單元格區域并創建“表”,如圖所示。
在J1單元格中輸入“輔助列”字段标題,如圖所示。
在【名稱管理器】中新建兩個名稱,名稱“a”的引用位置為
:“=Sheet1!$J$2:INDEX(Sheet1!$J:$J,MATCH(TRUE,ISNA(Sheet1!$J$2:$J$100),))”,
名稱“品名”的引用位置為:“=Sheet1!$B$2:$B$14”,設置完成後如圖所示。
在J2單元格中輸入數組公式:
=INDEX(品名,MATCH(0,COUNTIF($J$1:J1,品名),0))
按<Ctrl Shift Enter>組合鍵完成數組公式的輸入,并且将公式向下 填充至J14單元格。
在G2:G14單元格區域中設置【來源】為“=a”的數據有效性。
分别在F、H和I列輸入公式,用以根據G列的内容從數據源表中查詢和統計相應的數據信息。
在F2單元格中輸入公式并向下填充至F14單元格。
=IF(G2=“”,“”,VLOOKUP(G2,IF({1,0},品名,$A$2:$A$14),2,0))
在H2單元格中輸入公式并向下填充至H14單元格。
=IF(G2=“”,“”,VLOOKUP(G2,$B$1:$C$14,2,0))
在I2單元格中輸入公式并向下填充至I14單元格。
=IF(G2=“”,“”,SUMIF($B$2:$D$14,G2,$D$2))
完成後如圖所示。
在B15單元格中輸入“CCS-356”,單擊G2單元格的下拉箭頭,可以發現在下拉表中已經出現了新增加的品名“CCS-356”,如圖所示。
當用戶使用“表”功能并在“表”區域添加數據時,單元格的右下角會出現【自動更正選項】按鈕,單擊這個按鈕出現擴展列表,如果用戶選擇【停止自動擴展表】命令,再增加新的數據信息時,“表”将停止自動擴展,如圖所示。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!