2014-09-19 77 views
0

我是Excel的新手,所以這可能是一個菜鳥的錯誤,但我卡住了。Excel比較列和打印值

基本上我想要一個公式,它匹配來自列A和列B的數據。如果找到匹配,則打印到列D的數據(與列A相同的行) B)。

這裏有一些數學例子:

如果A1 = B3則C1 = D3

如果A5 = B2然後C5 = D2

我曾嘗試在網上查找這個,但我的知識有限Excel是一個問題。我來最遠的是這樣的式:

=IF(ISERROR(MATCH(A1,$B$1:$B$3,0)),"",D1) 

這似乎看是否A1與B列中任何線相匹配,並且如果這樣做,在C1打印D1。這不是我想要的。

非常感謝您的幫助提前。

+0

可能說A1等於B3和B30,其中D3和D30不一樣? – pnuts 2014-09-19 02:47:47

回答

0

功能VLOOKUP是你應該使用的。

在下面的代碼中,我假設數據填充範圍$ A $ 1:$ D $ 100。

功能到小區C1如下(如果在一列中的所有數據配襯一些乙列)

=VLOOKUP(A1,$B$1:$D$100,3,false) 

該功能是指:細胞 「A1」

搜索值從$ B $ 1 :$ B:$ 100,並在匹配行的第三列('D')中選取單元格的值。

您可以將此公式從單元格C1複製到C2:C100以完成您的工作。

如果列中的某些數據不匹配B中列的任何數據,使用功能如下

=if(iserror(VLOOKUP(A1,$B$1:$D$100,3,false)),"NOT MATCH",VLOOKUP(A1,$B$1:$D$100,3,false)) 

VLOOKUP如果沒有找到匹配,所以返回的情況下「不匹配」返回錯誤。

+0

如果OP使用的是2007或更高版本的Excel,那麼'= IFERROR(VLOOKUP(A1,$ B $ 1:$ D $ 100,3,FALSE),「不匹配」)將是一個更好的公式處理不匹配。刪除*不匹配*並留下一組空的引號(例如「」)以使單元格顯示爲空。 – Jeeped 2014-09-19 02:12:28

+0

該公式確實奏效,非常感謝。但是我有一個新問題。我將$ D $ 100更改爲1000,因爲我的表中有超過100行,但vlookup在第100行停止工作。這是vlookup的限制,如果有的話,是否有另一種方法可以做到這一點? – Veiocity 2014-09-19 03:36:47

+0

VLOOKUP的工作行數與Excel可以處理的行數相同,即Excel 2003或更高版本可達65535行,Excel 2007或更新版本可達到超過100萬行。 「vlookup在第100行停止工作」是什麼意思?您是否將單元格「C1」的內容複製到列C的所有單元格?如果您有1234行數據,您應該將此公式從單元格C1複製並過去到C2:C1234以完成您的工作。 – 2014-09-19 05:56:01