2017-03-23 124 views
2

我有一個下拉列表(帶有工作表名稱),並基於該值,假設我選擇圖像中的Sheet4,我想將另一個工作表該選擇的價值,讓我們說在單元格B8。在EXCEL中調用不同工作表的相同單元格

enter image description here

我知道這個工程:

=IF(B1="Sheet1", Sheet1!B8, IF(B1="Sheet2", Sheet2!B8, Sheet3!B8)) 

這只是3張,但有一個更好或更有效的方式來做到這一點?

這是一般所有的牀單什麼樣子:

enter image description here

+0

****,對不起。 – Erick

+3

使用INDIRECT從text-that-looks-like-a-worksheet-and-cell-reference構造一個有效的工作表和單元格引用。 – Jeeped

回答

3

使用間接從構造一個有效的工作表和單元格引用文本是-看起來樣一個,工作表和-cell-reference

間接接收一個字符串並將其轉換爲有效的引用。

=INDIRECT("'" & B1 & "'!B8") 

所以在上面的情況下,它會創建一個字符串"'Sheet4!B8"。然後間接將它變成一個有效的單元格引用。

由於Jeeped在評論中也指出B8引用,因爲它是文本文本,所以如果公式被複制或拖拽到另一個單元格,它將不會改變。

作爲單元格引用且相對的B1會在複製或拖動到不同單元格時發生更改。


B1的選擇之後按@Jeeped評論

+1

用於實現'B8'不必是'$ B $ 8'的獎勵(字符串文字永遠不會改變)。 – Jeeped

+0

很酷!謝謝 !! – Erick

相關問題