2009-05-29 40 views
0

下面是我需要的簡化版本。本質上,我們有組件列表和它們的狀態(想象它們已經過測試)。組件BBB有兩個子組件BBB1和BBB2。我希望他們的狀態能夠反映BBB組件'父'的狀態。很容易完成,除了列表很長,我需要保留按照我的意願對其進行分類的選項。如果我使用簡單的單元格引用「= B3」,那麼一旦列表排序,這是無效的。與B3命名範圍類似;命名的範圍地址是靜態的,並且在列表排序後不會動態更改。在排序列表時保留單元格地址

可能解決這個問題的方法是通過在某個不在排序區域的'靜態'BBB狀態,但這不夠雅緻,我不喜歡不雅!

任何想法?

http://FileHost.JustFreeSpace.Com/158complist.xls

+0

Excel表格如何知道BBB1和BBB2的父項是BBB? – shahkalpesh 2009-05-29 17:07:45

+0

-1:Excel文件是不安全的安全文件類型。如果您需要幫助,請發佈您的代碼/電子表格佈局。 – Oorang 2009-05-29 17:45:52

回答

1

我不能完全確定你的使用和需要的,但試試這個豆蔻公式:

=ADDRESS(MATCH("BBB",A:A,0),1)

其中BBB坐在它將返回單元格地址。 如果刪除公式的ADDRESS部分,它將返回行號。

它也可以進行修改,以拉動值在您的「狀態」欄。

=INDEX(A:C,MATCH(LEFT(A2,3),A:A,0),2)

讓我知道如果我只是溫暖,或者如果:

如果你把這個公式中的「狀態」欄的行BBB1 & BBB2,那麼它會在BBB改變更新我知道了。

0

也許VLOOKUP工作表函數確實你需要什麼?見http://office.microsoft.com/en-us/excel/HP052093351033.aspx

+0

不幸的是,當列表按字母順序排序時,VLOOKUP纔會正常工作;我不能保證這一點。 – 2009-06-01 07:56:50

+0

@Chris Gunner:根據鏈接的文檔,如果您正在查找完全匹配,VLOOKUP不需要對列表進行排序。 – 2009-06-02 03:53:53

0

有一個非常簡單的解決方案。剛剛使用了絕對參考,例如= $ B3或= B $ 3或= $ B $ 3

如果我使用簡單的單元格引用「= B3」,那麼一旦列表排序,這是無效的。

排序並不會使這些絕對引用。

0

如果你僅僅使用= B3,分揀Excel將當你排序,只要你不排序使用VBA更新自身。如果您想保留該單元格的句柄,則可能需要手動重新找到該句柄,或者在移動時注意它的位置。

0

對於同一行內的引用,請使用相對引用。 (這不是你的問題。)

向其他行的引用,使用VLOOKUP(假的最後一個參數),如果你能找出一個獨特的鍵每一行。如果沒有一個自然的關鍵,構建一個代理並確保它是唯一的。 [我在表格標題中顯示下一個值,並使用條件格式突出顯示非唯一標識符。這打破很容易,如果插入複製的行,例如]

絕對引用將無法工作。他們保留確切的單元格引用 - 但是在排序之後,現在指向排序到該位置的任何值。我相信這是Excel中的一個錯誤,無論是在代碼中還是在規範中。人們期望的行爲是,元組中的值保持不變,即使該元組通過排序來移動。對於絕對引用,即使 - 或者說因爲 - 引用本身保持不變,絕對引用的單元格中的值也會發生更改。

0

如果單元格引用的是另一個ROW中的單元格,它將在排序後更改,即使使用$符號鎖定單元格引用也是如此。

相關問題