2016-08-26 57 views
0

我有多個下拉列表,它們相互依賴,取決於您選擇哪個答案,我希望確定其他列表。我會盡量解釋下面Excel依賴下拉列表中的鏈接器

**Position**  **Fruit**   **Location** **Thing**  
1    Banana     Mexico  TV 
2    Apple     New York  hat 
3    Orange     Tokyo   pen 
4    grape     Canada  bed 
             London  box 
             Home 

結構,例如依賴是,如果你選擇「果」,你只打算能夠選擇從位置某些選項,與事名單「香蕉」。

我想要完成的任務是這樣的:

如果從位置選擇「1」; position =>'1',你唯一的選擇就是香蕉,蘋果。

Fruit => Banana, Apple. 
if position = 1(fruit = banana, apple) 

但是,如果您從位置選擇'2' position =>'2'所有東西都可以從Fruit中獲得。但是,如果你選擇'2',那麼香蕉,只有'位置'的加拿大可以從另一個單元獲得。

If position:2 => fruit:banana => Location = Canada 
If position: 2 => fruit:apple => Location can equal Mexico, New York, Tokyo 

我已經在數據表中定義的名稱,有一個問題我跑進是定義的名稱不能以數字開頭。併爲一些答案,我絕對需要數字。

我開始寫一個形式,但語法和邏輯不正確。

=VLOOKUP($c4,if ($c4 = "<1",VLOOKUP($c4,MasterList,2,FALSE), IF ($C4= "2"($c4,MasterList,3,FALSE). 

c4在這種情況下將是最初的下拉問題。

我該如何做到這一點?

回答

1

使用index():index()函數的動態命名範圍可以工作。儘管如此,數據需要以這種方式來構建,以促進它。例如,對於位置1水果名單將需要:

A   B 
     Fruit 
IndexKey | Value 
    1  | Banana 
    1  | Apple 
    ...  | ... 

隨着小區C4作爲輸入,你可以創建命名範圍水果:

=Index(Sheet2!$B:$B,Match(Sheet1!$C$4,Sheet2!$A:$A,0)):Index(Sheet2!$B:$B,Countif(Sheet2!$A:$A,Sheet1!$C$4)+Match(Sheet1!$C$4,Sheet2!$A:$A,0)-1) 

如果Sheet2的是數據和工作表Sheet1是輸入字段表。

然後,您可以爲下一個驗證列表的水果命名範圍設置驗證列表。每個命名範圍都可以依靠前一次選擇的選擇。

重要的是保持indexkey列的排序,因爲匹配的工作方式。