![在 Excel 中編輯衍生工作表中主工作表中所引用的儲存格](https://rvso.com/image/1313340/%E5%9C%A8%20Excel%20%E4%B8%AD%E7%B7%A8%E8%BC%AF%E8%A1%8D%E7%94%9F%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%B8%AD%E4%B8%BB%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%B8%AD%E6%89%80%E5%BC%95%E7%94%A8%E7%9A%84%E5%84%B2%E5%AD%98%E6%A0%BC.png)
我使用的是 Excel 2010,並且有兩張工作表。工作表 A 具有唯一識別碼列和其他包含值的資料列。表 B 有一個標識符和其他欄位的列表,我使用VLOOKUP
公式從表 A 中的值填充這些欄位。
理想情況下,我想編輯工作表 B 上的值並在工作表 A 上更新它們,但這似乎不可能 - 當我嘗試時,我只是=VLOOKUP
用原始資料覆蓋我的公式。我是否正確,沒有辦法做到這一點?
或者,是否有技巧可以單擊或以某種方式自動從包含工作VLOOKUP
表 B 中的公式的單元格跳到工作表 A 中的原始單元格?
我的總體目標是保存工作表 A 中的所有原始值,並且僅從工作表 B 中引用這些值,而無需手動搜尋工作表 A 來更新資料。
答案1
若要實現您的替代請求,您可以將該HYPERLINK
功能與VLOOKUP
假設Sheet A
A 列包含 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 中將相對值(使用公式)轉換為固定值。