如图.。如何在表格中输入“名称或编号”就能搜索出来

算是多搜索吧,请高手搞个公式出来
附件
http://pan.baidu.com/share/link?shareid=57122727&uk=621110518

第1个回答  2013-08-18
Excel中,按F1键,搜索VLOOKUP,看帮助!
如果你不明白,你可以留下你的QQ,我会给你一个例子!

VLOOKUP

显示全部隐藏表阵列中的第一列查找值,从而返回一个数组,目前排在其他表列值。

VLOOKUP的V表示垂直方向。当比较值?在数据需要找到一个左,你可以使用VLOOKUP,而不是HLOOKUP。

语法

VLOOKUP(lookup_value的,table_array第Col_index_num为,请将range_lookup)

的Lookup_value要求表中的数组(数组:用于建立产生多个结果,或安排单套的行和列的参数计算公式数组范围共用一个公式;数组常量是用作参数的一组常量。)查找第一列的值。 Lookup_value可以是一个值或引用。如果lookup_value小于table_array第一列中的最小值,VLOOKUP返回错误值#N / A

则Table_array两个或两个以上的数据列。请使用区域的引用或区域名称。则table_array的第一列的值是由lookup_value的搜索的价值。这些值吗?可以是文本,数字或逻辑值。不区分大小写。

Col_index_num为table_array第匹配值的列序号要退回的。 Col_index_num为1 table_array第一列中的返回值; Col_index_num为table_array第2,在第二列中的返回值,等等。如果Col_index_num为:

小于1,VLOOKUP返回错误值#VALUE!“。

大于table_array中的列数,VLOOKUP返回错误值#REF!

range_lookup为一逻辑值,指定希望VLOOKUP找到一个精确匹配或匹配值的近似值:

如果TRUE或省略,则返回值是精确匹配还是近似匹配。也就是说,如果找不到精确匹配时,它返回小于lookup_value的最大值。

table_array第第一列的值?必须按升序排列,否则VLOOKUP可能无法返回正确的值。您可以选择“数据”菜单上的“排序”命令,然后选择“升序”,值吗?按升序排列。欲了解更多信息,请参阅默认的排序顺序。

如果为FALSE,VLOOKUP将只寻找精确匹配。在这种情况下,不需要table_array第值的第一列进行排序。如果table_array第一列中有两个或两个以上的值?lookup_value的匹配,然后使用找到的第一个值。如果你不能找到一个精确匹配,返回错误值#N / A

第一列中的描述则table_array搜索文本值,确保table_array第一列中的数据没有前导空格,尾随空格,不一致的直引号('或“),弯引号('或”),或在上述情况下的非打印字符,VLOOKUP可能会不正确或意外的值。相关的功能是用来清除文本数据,欲了解更多信息,请参阅文本和数据功能。
在搜索数字或日期值,确保table_array第一列中的数据不会被保存为一个文本值,否则,VLOOKUP可能会不正确或意外的值。欲了解更多信息,请参阅将被保存为文本转换为数字值的数字。 如果range_lookup为FALSE lookup_value的是文字,也可以使用通配符在lookup_value的,问号(?)和星号(*)。问号匹配任何单个字符,星号匹配任意的字符序列,如果你想找到实际的问号或星号本身,请的字符前键入波形符()。追问

小弟是菜鸟 看不懂啊

第2个回答  2013-08-18
截图中看不到具体数据,猜测,应该是:在下表中编号和名称有重复的,需要对下表中相同编号或名称求和。
D2中输入公式:
以编号查询:
=SUMPRODUCT(($B$5:$B$100=$B$2)*N(IF({1},D$5:D$100)))
右拉;
以名称查询:
=SUMPRODUCT(($C$5:$C$100=$C$2)*N(IF({1},D$5:D$100)))
右拉;

这里有一个特殊字段:单价,以平均值查询,F2公式:
以编号查询:
=SUMPRODUCT(($B$5:$B$100=$B$2)*N(IF({1},D$5:D$100)))/SUMPRODUCT(--($B$5:$B$100=$B$2))
以名称查询:
=SUMPRODUCT(($C$5:$C$100=$C$2)*N(IF({1},D$5:D$100)))/SUMPRODUCT(--($C$5:$C$100=$C$2))追问

我现在做出来只能搜索名字,我就想  名称或编号 随便输入一个都能搜索出来,


最好就是 搜索名称 的时候能搜索出相同名字的  (多行排列,就像Excel中的那个什么自动什么 选功能)


好像很复杂 呵呵。搞出第一个就OK了 第二个要求太多了,,呵呵。。谢了

追答

第一个问题,不知是求和,还是求单一值,在单元格(C2)中输入名称或编号无法实现要求的查询,需要在不同的单元格中输入,如:B2输入编号或C2输入名称。有一种情况是可以的,当编号与名称有准确的区别,如编号为数字,名称为除数字的文本串,假设是这种情况:

 

=IF(ISMUNBER($C$2),VLOOKUP($C$2,$B$5:$I$100,COLUMN(C1),0),VLOOKUP($C$2,$C$5:$I$100,COLUMN(B1),0))

右拉;(见附件)

 

第二个问题:

用筛选功能实现,就象你的截图那样,按“名称”下拉查询按钮,在里面“文本筛选”或“数字筛选”就可以了,或者用高级筛选也可以。

 

 

本回答被提问者和网友采纳
第3个回答  2013-08-18
D2=

=IF(ISBLANK($B2),"",IF(ISERROR(VLOOKUP($B2,$B5:$X999,ROW(C1),FALSE)),"",VLOOKUP($B2,$B5:$X999,COLUMN(C1),FALSE)))&IF(IF(ISBLANK($B2),"",IF(ISERROR(VLOOKUP($B2,$B5:$X999,ROW(C1),FALSE)),"",VLOOKUP($B2,$B5:$X999,COLUMN(C1),FALSE)))="",IF(ISBLANK($C2),"",IF(ISERROR(VLOOKUP($C2,$C5:$X999,ROW(B1),FALSE)),"",VLOOKUP($C2,$C5:$X999,COLUMN(B1),FALSE))),"")

右拉即可追问

搜索编号的时候只显示了数量 其他不显示,名称正常 ,编号那怎么改

相似回答