簡體   English   中英

Excel - 動態下拉列表

[英]Excel - Dynamic Dropdown List

希望在表格中制作動態下拉列表。 下面的照片鏈接應該有助於可視化問題。

我要做的是使用同一張表中的一列和另一張表中第二張表中的兩列在一個表中創建一個動態下拉列表。

帶有下拉列表的列應將其左側的列與第二個表的右側列進行比較。 如果下拉單元格左側的單元格等於第二個表中值單元格右側的單元格,則下拉列表中的選項應該是第二個表左列中的值。|

下面的照片顯示了表格設置,左上角表格旁邊的數字顯示了下拉列表中應該包含的選項。

問題示例

編輯:我希望在不使用 Visual Basic 的情況下做到這一點,但如果它是唯一的選擇,我會對此持開放態度。

這稱為相關數據驗證。 您需要設置范圍名稱。 每個引用一個,另外一個用於使用 Indirect 將引用解析為下拉列表。 我設置了這四個范圍名稱,並使用 List > =MyDropdown 進行數據驗證

a   =Sheet1!$H$2:$H$5
b   =Sheet1!$H$6:$H$8
cc  =Sheet1!$H$9
MyDropdown  =INDIRECT(Sheet1!$A2)

請注意,INDIRECT() function 中的引用相對於定義引用時處於活動狀態的單元格。 第 2 行中的 Select 單元格,然后使用該公式創建一個新的命名范圍。 如果你 select 另一個單元格,這將不起作用。

另請注意,命名范圍不能稱為“c”,因此我必須使用另一個引用名稱。

在此處輸入圖像描述

在此處輸入圖像描述

根據上述數據設置,將以下公式放入H6

=TRANSPOSE(UNIQUE(E6:E13))

然后將下面的公式放入H7單元格並向右拖動。

=FILTER($D$6:$D$13,$E$6:$E$13=H$6)

以上公式將自動溢出數據。 然后在范圍A1:A10的數據驗證中放入以下公式

=H$6$#

# H$6$之后將通過Unique()公式動態獲取數據 output 直到最后一個數據。

在此處輸入圖像描述

然后對於范圍B2:B10數據驗證公式將

=INDEX($H$7:$J$10,,MATCH($A1,$H$6#,0))

在此處輸入圖像描述

下拉結果

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM