2015-12-03 66 views
-1

所以說我有一個表xyy條目。

X太大了,或者經常變化,使得X個額外的表/列表/命名範圍是荒謬的。 但是,我需要製作一個的下拉列表,其中一些是創建一個有限的下拉列表

具體做法是: Name | A | B | C | .. Yannis| 20 |Yellow| Green| .. Mirrah| 400 |Purple|Yellow| .. . . .

我需要一個下拉列表中選擇的Name改變不同的下拉列表中,這是基於關閉乙&的C. 通常你可以做到這一點的選項要麼一個Filter或者INDIRECT()。然而,它是超越不合理創建一個唯一的表,或名稱來定義,對於X.每個條目

可以創建一個表的所有可能的條目對於B & C,如果有辦法過濾命名爲定義基於第一個表的列表(使用VLOOKUP(),最有可能的)

通俗地說:我需要list 1過濾list 2其中list 1或者是巨大或者有受到不斷的變化。

爾加,所以這樣的:

=INDIRECT("'InfoDump'!" & ADDRESS(MATCH(C5,PkmList,0)+25,10)) 

投入數據驗證清單的工作,但是這只是一個入口,我需要3 只需添加逗號和副本導致錯誤消息。

一個該供應的條目從表中正確引用(動態),不需要任何更多的表/ namedRanges。

C5是第一列表是
PkmList是NamedRange該數據表
25的第一列中的「導致表開始於A25(列標題)
10參考第一3列我需要的在第二個列表中。

+0

我想應該指出,這是設計用於複製粘貼視覺吸引人的塊,其中表格專門放置在不同的工作表上(目標只是更新,未使用)。因此,需要直接過濾列表,而不是通過「列表1」過濾表並將其動態命名爲「列表2」。 –

+0

你的意思是你想要一個下拉列表(驗證>列表),這個列表根據之前的選擇(在另一個下拉列表中)而變化? 如果是這樣,我可以幫忙。 – KiwiSteve

+0

是的,問題在於Indirect()有點不可行,因爲第一個列表有700多個條目。 –

回答

0

好吧! 一些實驗後,這實現了我一直在尋找:

=INDIRECT("'InfoDump'!" & (ADDRESS(MATCH(C5,PkmList,0)+25,10)) & ":" & ((ADDRESS(MATCH(C5,PkmList,0)+25,12)))) 

,或者在一些不同的術語:

=INDIRECT("'sheetName'!" & (ADDRESS(MATCH(DropDownOne,DropDownOneCriteria,0)+(AdjustRow),(AdjustColumn))) & ":" & ((ADDRESS(MATCH(DropDownOne,DropDownOneCriteria,0)+(AdjustRow),(AdjustColumn))))) 

數據驗證邏輯恨。

-

在最基本的常識:

匹配(A,B,C)獲得的 'A' 在 'B'(C相同VLOOKUP精確匹配選項)的位置

地址(行,列)獲取「j26」地址,您可以(如我一樣)從您找到匹配的位置進行調整。 (在我的情況下,25表'實際上開始在A25,但名單開始在'1';然後10 - 12爲我需要列出的3個選項)

間接(txt)將此變爲一個列表。或多或少。使用「'sheetName'!」用於引用不同的工作表。

-

那麼,到底該給你一個「= A2:A4」的數據驗證酒吧,基於另一個列表上。與使用流行的工作相同的是水果蔬菜捲心菜的例子,但是這並不要求您製作多個命名範圍。 (這意味着它適用於單個大型更改表)。