2017-02-23 181 views
0

我知道這聽起來很瘋狂,我嘗試了許多方法使其工作,但我沒有。它可能沒有解決辦法,但如果有的話,請在這裏幫助我。Excel - 使用可變單元格的參考單元格

Excel的例子:

enter image description here

使用例子,你可以看到,表1有:羅伯特,瓊,李,拉爾夫,和Doug。表2中有Amanda,Robert,Joan,Maria和Renan。

只有羅伯特和瓊從表1中的表1,我想自動導入他們的ID到表2沒有VBA。

我可以使用IFS來比較每個單元格,但它是太多的工作,並且表格是動態的,可以添加一個新的人員並且它將超出範圍進行比較。

我認爲可以計算表1有多少個成員,B20 = COUNTA(B4:B10),並從答案中刪除「名稱」和「總數」。 B20中的數字是我陣列中元素的數量。我可以用SUMIF(B5:B9,B14,C5:C9)(這會給我例如Robert的id)。有沒有辦法可以使用B20中的信息來定義我的範圍:B5:B9和C5:C9並使其動態?

如果太混亂,請告訴我。

+1

爲什麼不使用VLOOKUP? – ManishChristian

+0

我的意思是你可以,但你仍然不會得到我正在尋找的動態數組設置。 –

+0

這聽起來正是VLOOKUP或INDEX + MATCH的設計目的。如果這些不能解決你的問題,你應該特別解釋爲什麼。 – chancea

回答

1

使用vlookup和條件。

=IF((ISNUMBER(VLOOKUP(A11,A3:E8,2,0))),VLOOKUP(A11,A3:E8,2,0),"") 

enter image description here

假設標識的唯一的數字。

由於將增加更多員工,範圍爲A:E。因此,計算公式爲:

=IF((ISNUMBER(VLOOKUP(A11,A:E,2,0))),VLOOKUP(A11,A:E,2,0),"") 
0

繼續嘗試Excel中的公式的INDEX/MATCH組合。

=INDEX([column with data you want to print], 
    MATCH([value you are looking for], 
    [column of values that might have this value], 
    [exact match])) 

我繼續嘗試這樣做您的數據集和這裏就是我的了:

=INDEX($B$1:$B$5,MATCH(A8,$A$1:$A$5,0)) 

enter image description here

如果#N/A顯示了,該值未在發現數據集。否則,如果它匹配,數據就會出現。

+0

你好亞歷克,謝謝你的回答,找到不同的解決方案是很有幫助的,以便找到價值。雖然我仍然需要手動去設置範圍,那就是我想要避免做的事情。 –

0

您可以指定名稱在公式>名稱管理器的表,然後使用在其他的答案中提到的VLOOKUPs或索引/匹配的公式。然後,對於範圍,只需放置表的名稱,以便每次添加新名稱時都不必手動更改它。

J