excel中if函数及lookup函数的应用问题

sheet1表 sheet2表
a b c d a b c d
1 名称 单价 金额 质量 1 名称 单价 金额 质量
2 2 手套 5 2 好
3 3 帽子 5 3 好
现在我需要在sheet1表中输入名称,后面的单价、金额、质量就会自动出来,在sheet1中单价下面用公式=IF(ISERROR(VLOOKUP(A2,sheet2!A2:D5,1,FALSE)),"",VLOOKUP(A2,sheet2!A2:D5,1,FALSE)) 会自动出来,但当我下拉公式之后呢,在sheet1的名称下面填内容时,按sheet2的竖列顺序填写的话公式都会成立,反之,则显示公式无效
是我在下拉公式的时候发生错误吗?
请高手帮帮忙,小妹感激不尽···

LOOKUP 函数可返回一行或一列区域中或者数组中的某个值。LOOKUP 函数具有两种语法形式:矢量和数组。矢量形式的 LOOKUP 在一行或一列区域(称为矢量)中查找值,然后返回另一行或一列区域中相同位置处的值。数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值。


矢量形式的 LOOKUP
矢量形式的 LOOKUP 在一行或一列区域(称为矢量)中查找值,然后返回另一行或一列区域中相同位置处的值。如果要指定其中包含要匹配的值的区域,请使用这种形式的 LOOKUP 函数。
矢量形式的语法
1.LOOKUP(lookup_value,lookup_vector,result_vector)
Lookup_value 是 LOOKUP 在第一个矢量中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。
Lookup_vector 是一个仅包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。
2.重要说明:lookup_vector 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。
Result_vector 是一个仅包含一行或一列的区域。它的大小必须与 lookup_vector 相同。
3.注意
如果 LOOKUP 找不到 lookup_value,它会匹配 lookup_vector 中小于或等于 lookup_value 的最大值。
如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。
示例

数组形式的 LOOKUP
数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值。如果要匹配的值位于数组的第一行或列中,请使用这种形式的 LOOKUP。
数组形式的语法
LOOKUP(lookup_value,array)
Lookup_value 是 LOOKUP 在数组中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。 
如果 LOOKUP 找不到 lookup_value,它会使用该数组中小于或等于 lookup_value 的最大值。
如果 lookup_value 小于第一行或列(取决于数组维度)中的最小值,则 LOOKUP 会返回 #N/A 错误值。
Array 是一个单元格区域,其中包含要与 lookup_value 进行比较的文本、数字或逻辑值。
数组形式的 LOOKUP 与 HLOOKUP 函数和 VLOOKUP 函数相似。其区别是 HLOOKUP 在第一行中搜索 lookup_value,VLOOKUP 在第一列中进行搜索,而 LOOKUP 根据数组的维度进行搜索。 
如果 array 所覆盖区域的宽度大于高度(列多于行),则 LOOKUP 会在第一行中搜索 lookup_value。
如果 array 所覆盖的区域是正方形或者高度大于宽度(行多于列),则 LOOKUP 会在第一列中进行搜索。
使用 HLOOKUP 和 VLOOKUP 时,可以向下索引或交叉索引,但 LOOKUP 始终会选择行或列中的最后一个值。
重要说明:array 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。
示例

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-08
要用绝对引用,不然下拉后公式就不对了, A2:D5变以A3:D6了,公式改一下,一楼的也可以.或者改为
=IF(ISERROR(VLOOKUP(A2,sheet2!A$2:D$5,1,FALSE)),"",VLOOKUP(A2,sheet2!A$2:D$5,1,FALSE))

参看下面关于绝对引用于相对引用的文章.

参考资料:http://hi.baidu.com/qsddz/blog/item/19adae194810a3dfac6e75c0.html

本回答被提问者采纳
第2个回答  2009-12-08
=IF(ISERROR(VLOOKUP(A2,sheet2!A:D,2,FALSE)),"",VLOOKUP(A2,sheet2!A:D,2,FALSE))
相似回答