EXCEL VLOOKUP函数

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:04:55
Sheet1为引用表:
姓名 日期 凭证号 业务项目
张三 2008年9月12日 9-1 VC 系统
吴一 2008年9月15日 9-2 WC
张三 2008年9月20日 9-3 VC 系统
赵四 2008年9月30日 9-4 DC
张三 2008年9月30日 9-5 VC 系统

Sheet2已经通过公式=VLOOKUP($D$12,Sheet2!$A$2:$M$5,2,0) 显示张三9月12日一行,但在下一行中不知道怎么用公式,能在Sheet2中分别显示张三9月20日和9月30日的每一行。

可以的啊,按你在第一行中的操作,再复制到第二行或是按上面的步骤操作就行了.

O 明白你意思了。。。

你用LS的方法试吧

只要对excel函数稍有了解的都知道,vlookup只能显示第一个值~,也就是说,如果有重复值,就无法显示第二个了。

因此:建议用以下很长的公式:
1.建立查询单元格:这里选择了H2和H3作为双条件查询(例如你可以把姓名和日期输入,作为双条件查询~)。

其中H2所输入的查询值对应的列是B列,h3则对应c列例如B列为时间,C列为姓名,则H2应输入时间,H3应输入姓名。

2.建立查询结果序号,没有相应的序号是无法返回相应的数据的
这里选择了G6为首行查询序号,在G6单元格输入以下公式:

=IF(ROW()-5>SUMPRODUCT(--($B$2:$B$10=$H$2)*($C$2:$C$10=$H$3)),"",ROW()-5)

按ctrl+shift+enter生成数组。

3.建立查询返回结果的函数:

例如在H6输入以下公式:

=IF($G6="","",INDEX(D:D,SMALL(IF(($B$2:$B$10=$H$2)*($C$2:$C$10=$H$3),ROW($B$2:$B$10)),$G6)))

按以上方法生成数组

则会返回相应的查询结果。