2016-11-29 57 views
-1

我想使用一個函數來引用我的輸入從左列的適當的值,並返回適當的OUTPUT使用右列的值。VLOOKUP,INDEX或LOOKUP?使用哪一個以及如何?

Screenshot from my spreadheet

在截圖中,我使用的 「1200」 的輸入單元格G7。我想輸入函數在單元格A2:A8中查找「1200」,並從C2:C8範圍返回值「3/0」。的想什麼,我

例子看看:

INPUT: 1200, OUTPUT: 3/0 
INPUT: 3, OUTPUT: 8 
INPUT: 4/0, OUTPUT: 2 

我可以進入一個函數來執行我想要一個具體的實例,但我迷路了,當涉及到編程此功能工作與我的表中的所有實例。

*注意:在示例中,我只使用「Copper-IN」和「Copper-OUT」列。

+0

您將需要某種形式的自定義函數的解析您的值的範圍在Excel中列A無內置在函數中將能夠確定一個值落在值的「範圍」內。 –

+0

*我可以輸入一個函數來執行我想要的某個特定實例*如果您向我們展示了此函數的外觀,它將非常有幫助,有可能使其適用於更通用的應用程序。 –

+0

也不清楚輸入值'1'(以及爲什麼)的輸出是什麼,因爲這似乎符合單元格A2中的範圍標準以及A3 –

回答

0

在一般情況下,你應該能夠使用VLOOKUP此:

=VLOOKUP(G7, $A$2:$C$8, 3, False) 

這看起來對於G7範圍A2的值:C8,並返回從第3列中的相應值(VLOOKUP是總是從左到右,並且始終對範圍/數組中的第一列進行索引)。從這裏G7的價值是在A2找到行相匹配的行C8:

另外,結合IndexMatch功能:

=Index($C$2:$C$8, Match(G7, $A$2:$A$8, 0)) 

這基本上是說同樣的事情:返回C2的值A8。結合Index/Match非常有用,如果您使用的是非連續範圍或需要從右到左搜索等。

這兩個函數都會從列G中找不到G7中搜索值的錯誤值。您可以用IfError函數包裝上述任一項以提供自定義錯誤文本,如「未找到」。

=IFERROR(VLOOKUP(G7, $A$2:$C$8, 3, False), G7&" isn't found!") 

然而

你的A列中包含文本「範圍」(例如,> 350 - 600等),沒有的內置函數就能解析。使問題進一步複雜化的是,在列A中有一些不容易解析的值(「2或更小」,「1或1/0」等)。

我可以進入一個函數來執行我想要的一個具體實例

這將是非常有益的,如果你向我們展示了一下這個功能看起來,有可能使其適應更多普遍適用。

+2

我不認爲這會實際上工作......現在,列設置爲範圍,這意味着它們可能是文本。 VLOOKUP,INDEX和LOOKUP將全部返回錯誤,因爲輸入「1200」實際上找不到。 – acousticismX

+0

@acousticismX好點,你知道我什至沒有看到OP的圖像中的實際數據,因爲它直到後來才被包含在原始文章中。然而,你說得對,沒有辦法使用文本的值域「範圍」來做到這一點......或者,如果存在的話,這並不像我上面的答案那麼簡單。 –

1

不知道2/0等代碼的含義很難理解這個問題。

如果可能的話,我建議你將這些代碼轉換爲數值。然後在您的Copper-INAluminium-IN列中僅使用數字值,按遞增順序排列(低位在頂部)。

然後,使用索引匹配,您可以輕鬆查找輸出。

=Index(CopperIn,Match(D8,CopperOut))

(或=Index($A$2:$A$5,Match(D8,$B$2:$B$5))不點名的範圍。)

Demonstration of output

相關問題