0
假設我有兩列col1
和col2
(它們都是範圍對象,例如,set col1 = range("A1:A100")
set col2 = range("C1:C100")
)其中col1
是隨着行號增加其值爲1,2,3,...,100的ID列。使用k_val = WorksheetFunction.Small(col2, k)
很容易在col2
中找到第k個最小數字。現在我想在col1
中找到與col2
中第k個最小值相對應的匹配ID。我該怎麼辦?如何使用Excel VBA找到第k個最小元素的匹配ID?
我知道vlookup
能夠解決這個問題,但有一個缺陷:如果col2
有兩個或更多的值等於k_val
,我可能不會得到正確的ID。另外,我並不想根據col2
對兩列進行排序,原因是我不想更改原始表格(您可能會說我可以先將原始表格複製到另一個表格中,但無論如何... ),那麼我有沒有其他辦法可以明智地解決這個問題?
不知道你如何指望處理決定正確的ID的問題,當有兩個或更多k_vals一樣,很難推薦任何東西。 –
同意@RonRosenfeld。除此之外,這只是另一個'與VLOOKUP'問題返回多個匹配。唯一的問題是確定**哪個匹配的行返回,並且您已經決定這不足以包含在您的問題的敘述中。 – Jeeped
*「但有一個缺陷:如果col2有兩個或更多的值......」* :(如上面的評論),直到現在的缺陷是在*規範*中你想要如何處理這種情況。 –