在 Excel 中編輯衍生工作表中主工作表中所引用的儲存格

在 Excel 中編輯衍生工作表中主工作表中所引用的儲存格

我使用的是 Excel 2010,並且有兩張工作表。工作表 A 具有唯一識別碼列和其他包含值的資料列。表 B 有一個標識符和其他欄位的列表,我使用VLOOKUP公式從表 A 中的值填充這些欄位。

理想情況下,我想編輯工作表 B 上的值並在工作表 A 上更新它們,但這似乎不可能 - 當我嘗試時,我只是=VLOOKUP用原始資料覆蓋我的公式。我是否正確,沒有辦法做到這一點?

或者,是否有技巧可以單擊或以某種方式自動從包含工作VLOOKUP表 B 中的公式的單元格跳到工作表 A 中的原始單元格?

我的總體目標是保存工作表 A 中的所有原始值,並且僅從工作表 B 中引用這些值,而無需手動搜尋工作表 A 來更新資料。

答案1

若要實現您的替代請求,您可以將該HYPERLINK功能與VLOOKUP

假設Sheet AA 列包含 ID,B 列包含值,替換VLOOKUP

=HYPERLINK("#'Sheet A'!B"&MATCH(A2,'Sheet A'!$A:$A,0),VLOOKUP(A2,'Sheet A'!$A:$B,2,0))

這不僅會VLOOKUP像以前一樣顯示結果,還會在點擊儲存格時超連結到工作表 A 中找到的值。

答案2

您現在面臨的主要問題是循環引用。

VLOOKUP 不是一種A = B關係,而是更像一種if A then B關係(其中 A 和 B 是值數組,就像您的情況一樣)。換句話說,它是單向的,而且 A 不依賴 B。 。

一種方法是在A 和B 中都有相對值,並在第三個工作表(或許多額外的列)中執行一些條件單元格,例如工作表A 保存相對值(可以是B 中的新更新值或C 中的原始值) ​​),工作表 C 保存原始值,工作表 B 保存儲存格以反映值和更新值。

在工作表 B 中,為每個引用的欄位建立一個新列。這將是更新值列。在表 C 中,儲存您的原始值。在工作表 A 中,使用條件語句「如果工作表 B 中的更新值欄位有值,則使用它,否則,請參考工作表 C」。工作表 B 的反映值列仍將從工作表 A 引用,因此如果更新列有新值,它將動態變更。請注意,這並沒有真正解決循環引用問題,而只是繞過它。

但是,如果您需要工作表 A 為固定值而不是相對值,則必須複製或paste as value使用類似以下內容的內容:

ActiveSheet.Range("A1:D1000").Value = ActiveSheet.Range("A1:D1000").Value

在 VB 中將相對值(使用公式)轉換為固定值。

相關內容