使Excel單元格選值列表隨相關單元格的值變化?

使用“數據有效性”功能,可以讓填表者填出表格設計者期望的規範表格。當給單元格指定一組“數據有效性”中的“序列”後,填表者單擊單元格時,就可從預設的備選值下拉列表中,選出設計者認可的合法值來填表。不過,當兩個單元格的值之間有從屬關係,如何使級別低的單元格的備選值下拉列表,隨著級別高的單元格之值而變化呢?這裡,將使用條件選擇IF公式來實現這一功能。

工具/原料

Excel 2007 SP3

方法/步驟

這裡舉例說明。打開Excel,先準備兩張表,這裡為明確起見,雙擊“Sheet1”和“Sheet2”的標籤,將“Sheet1”更名為“數據有效性-列表公式”,“Sheet2”更名為“數據”。在“數據有效性-列表公式”表中,建立一個如圖所示的帶表頭空表。

使Excel單元格選值列表隨相關單元格的值變化

切換到“數據”表,填入下圖所示數據。

使Excel單元格選值列表隨相關單元格的值變化

選中“數據”表A1至A3單元格,在命名框中輸入黃色高亮的“國家”二字。同樣操作B1至B7,輸入“美國州名”(這裡僅作示例,沒有將美國50多個州全部錄入,後同);C1至C8命名為“中國省名”;D1至D6命名為“澳大利亞州名”。

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

切換回“數據有效性-列表公式”表,選中“國家”列下的A2至A10單元格,再以下圖順序依次點擊“數據”功能區下的“數據有效性”,在彈出的對話框中,選擇“設置”標籤頁“允許(A):”下的“序列”,清除“忽略空值(B)”前的複選框,然後在“來源(S):”文本框中,輸入黃色高亮的“=國家”,最後點“確認”按鈕退出。完成這些設置後,單擊A2至A10單元格中任何一個單元格,都會出現一個下拉箭頭,點此箭頭,就會出現“美國、中國、澳大利亞”三個備選值,填表者就能在這三者中任選其一。

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

接下來,再處理“州/省”一列,要求是如果用戶在A列選定某一國家,則在同一行B列單元格的下拉列表中,只能選擇該國的州/省名,而不出現其他國家的州/省名。為了實現這一點,只需選定B2至B10單元格後,按第4的操作方法操作,但是在“來源(S):”文本框中,應改為輸入“=IF(A3="美國",美國州名,IF(A3="中國",中國省名,IF(A3="澳大利亞",澳大利亞州名)))”,具體如下圖所示。

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

完成後,測試可發現,隨著A列國家的改變,B列單元格下拉列表備選值也會跟著變化。這就實現了低級別單元格的備選值列表,隨高級別單元格值而變化的預期效果。

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

使Excel單元格選值列表隨相關單元格的值變化

注意事項

這一方法是利用IF公式來實現多分支選擇,操作起來比較繁瑣,輸入公式時應注意左右括號的對應,不要漏掉括號。

如果需要在備選下拉列表提供更多的數據,可以在“數據”表中增大命名區域(如“中國省名”)的範圍,並在新增的空白單元格中輸入更多備選數據。更改命名區域請使用“公式”功能區的“名稱管理器”。

相關問題答案