一個街道經常管轄着許多社區,每個社區又包含多個小區,數據錄入時就需要輸入社區、小區名稱。由於沒有準備規範的數據名稱,對於同一小區,不同統計員會錄入不同名稱,比如下表中的「燕沙·後(東潤楓景)」小區,有人記成「燕沙」,有人則記成「東潤楓景」(圖1)。這樣數據給後期匯總、歸類帶來極大的不便,現在我們可以藉助Excel(本文以2016版為例)函數打造多級聯動菜單,這樣用戶只需選擇性輸入即可,從而確保數據字段名稱的統一性。

圖1 示例數據
從上面的數據可以看到,這裡主要有三級地址,分別是「街道辦」、「社區」和「小區」,每個上級分別包含不同數目的下級,要實現數據選擇性的輸入,這裡我們就要將不同級別的數據分別對應。比如在選擇羅星街道香梨社區時,選擇的列表就是B列的內容,效果和我們平常網購時選擇地址類似。
首先建立一級數據,這裡的一級數據是街道辦名稱。新建一個工作表,按提示在單元格F2及F3處輸入街道辦的名稱,接着定位到A2單元格,點擊「數據→數據驗證」,在「允許」項選擇「序列」,在來源處選擇「=$F$2:$F$3」,將A2單元格下拉進行填充(圖2)。

圖2 一級數據驗證
這樣A列數據輸入只能從F2:F3單元格中進行選擇,這是一級菜單的內容。如果要添加其他內容,只要在序列中增加內容即可(圖3)。

圖3 數據驗證後選擇性輸入一級菜單內容
接下來對二級菜單進行設置,這裡的二級菜單對應的是各個社區。因為每個街道辦管轄的是不同社區,這樣二級菜單就要和相應的一級菜單對應。二級菜單的設定可以使用INDIRECT函數進行動態引用。
定位到單元格G5和H5,分別輸入「羅星街道辦」和「角美街道辦」,為了方便引用,這裡輸入的名稱一定要和一級菜單名稱一致。選中G2:H5區域,切換到菜單欄點擊「公式→名稱管理器→根據所選內容創建」,在彈出的窗口中勾選「首行」,分別創建名為「羅星街道辦」和「角美街道辦」的兩個新名稱(圖4)。

圖4 創建名稱
這裡需要注意的是,因為每個一級菜單(街道辦)包含的下級菜單數目可能不同,比如上述例子中,羅星街道辦管轄社區是3個,另一個街道辦則只有2個,這樣我們還需要在名稱管理器中進行設置。打開名稱管理器,選中「角美街道辦」,將引用位置更改為「=Sheet2!$H$3:$H$4」,因為它的上一級角美街道辦只管轄兩個社區(圖5)。

圖5 編輯名稱
定位到B2單元格,同上打開數據驗證設置,「允許」項選擇「序列」,在來源處輸入「=INDIRECT($A2)」,這裡B2單元格的輸入使用INDIRECT函數進行引用(圖6)。

圖6 INDIRECT函數設置
在INDIRECT函數中,這裡「($A2)」表示的是對行的相對引用。表示在B2單元格的輸入是引用A2的內容,這樣在A2(一級菜單)選擇不同的內容時,B2的序列會顯現對應的二級菜單的內容,從而實現動態引用,按提示下拉填充(圖7)。

圖7 動態引用一級菜單
三級菜單設置類似,先在I2:M2單元格依次輸入「香梨社區、角礫社區、黃雙社區、黃山社區、合和社區」,然後同上根據內容創建名稱,在數據驗證中來源處輸入「=INDIRECT($B2)」,這樣C2單元格的輸入使用INDIRECT函數動態引用B2的內容進行輸入。現在我們在B2選擇不同社區,C2會同步顯示對應社區下的小區名稱(圖8)。

圖8 動態引用二級菜單
以後在輸入統計表名稱的時候,數據錄入只能在下拉列表中選擇預置好的標準數據,從而有效確保了數據的統一。為了表格的簡潔,還可以選中F1:M18數據,右擊選擇「隱藏」將其隱藏,或者直接在另一個工作表中輸入預先準備的數據,並將工作表設置為「只讀」、「隱藏」,這樣可以更方便數據錄入操作(圖9)。同理,四級、五級(甚至更多級)菜單的設置可依照上述方法進行,對於需要動態引用上一級菜單的輸入,只要先根據上一級菜單內容建立對應的名稱,最後再使用INDIRECT進行引用即可。

圖9 最終錄入界面

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/281856.html