2014-09-19 112 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