Excel合并单元格的数据查询

所有的“仓库”都是合并单元格,输入“仓库”和商品,能查找到相应的出货量,结果如下:

马上有朋友提出:“我们经常是按照商品进行查询,输入相应的商品,查询该产品位于哪个仓库,以及出货量,这样的查询能实现吗?”,即结果如下:

肯定能实现!

公式实现

在E2单元格输入公式:

=INDEX(A2:A10,LOOKUP(MATCH(F2,B2:B10,),ROW(1:9)/(A2:A10<>””)))

在G2单元格输入公式:

=IFERROR(VLOOKUP(F2,B2:C10,2,0),””)

即可实现查询效果。

公式解析

第一个公式:

=INDEX(A2:A10,LOOKUP(MATCH(F2,B2:B10,),ROW(1:9)/(A2:A10<>””)))

(A2:A10<>””):

A2:A10是不是空值,如果是,返回TRUE,如果不是,返回FALSE,所以,此部分的结果是:

{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE}

ROW(1:9)/(A2:A10<>””):

1到9分别去除以上数组的每一值,结果为:

{1;#DIV/0!;#DIV/0!;4;#DIV/0!;#DIV/0!;7;#DIV/0!;#DIV/0!}

MATCH(F2,B2:B10,):

返回F2商品在B2:B10区域中的行数。

假设F2商品为产品5,本部分返回5。

LOOKUP(MATCH(F2,B2:B10,),ROW(1:9)/(A2:A10<>””)):

在数组{1;#DIV/0!;#DIV/0!;4;#DIV/0!;#DIV/0!;7;#DIV/0!;#DIV/0!}中查找F2商品对应的数值。

假设F2商品是产品4,产品4的行数是4,那本部分查找结果是4;

假设F2商品是产品5,产品5的行数是5,那本部分查找结果是4,因为LOOKUP查找时忽略错误值#DIV/0!,数组中的第五个是错误值,则返回比5小的最接近5的值,即是4;

INDEX(A2:A10,LOOKUP(MATCH(F2,B2:B10,),ROW(1:9)/(A2:A10<>””))):

返回A2:A10中F2商品对应的值,即对应的仓库。

第二个公式:

=IFERROR(VLOOKUP(F2,B2:C10,2,0),””)

在B2:C10区域,查找F2商品对应出货量。IFERROR避免错误值,如果查不到,就返回空值。

office办公软件入门基础教程 » Excel合并单元格的数据查询

本文链接:【Excel合并单元格的数据查询】https://www.officeapi.cn/97745.html

OFFICE,天天学一点,进步多一点

联系我们