SEO百度优化求职QQ群 http://www.jishuyujiaoyu.com/xinwen/9071.html
图片

如下图,商品名称和价格分布在多行和多列中,要查找引用某商品的价格,如果来实现呢?下面分享具体实现方法。

图例

目的:实现在多行多列中查找引用数据

方法一:用SUMIFS函数实现

在目标单元格输入公式:=SUMIFS(B2:F8,A2:E8,J1)

操作演示

公式解释:

通过SUMIFS函数返回价格区域中的条件区域内符合条件的价格。

方法二:用SUMIF函数实现

在目标单元格输入公式:=SUMIF(A2:E8,J1,B2:F8)

操作演示

公式解释:

通过SUMIF函数返回条件区域内符合条件的价格区域中的价格。

方法三:用VLOOKUP函数嵌套多函数数实现

在目标单元格输入公式:=VLOOKUP($J$1,INDIRECT(CHAR(MIN(IF(ISNUMBER(FIND(J1,$A$1:$F$8)),COLUMN($A:$F),))+64)":F"),2,0),输入完公式同时按Ctrl+Shift+Ener三键确认数组公式。

操作演示

公式解释:

1.CHAR(MIN(IF(ISNUMBER(FIND(J1,$A$1:$F$8)),COLUMN($A:$F),))+64)":F",这个是根FIND函数返回查找值在源数据表中的列区域,之后通过INDIRECT函数把它转换为可以让VLOOKUP函数识别的第二参数,即数据表。

操作演示

2.MIN(IF(ISNUMBER(FIND(J1,$A$1:$F$8)),COLUMN($A:$F),))+64),是返回查找值所在的列号。

3.CHAR(MIN(IF(ISNUMBER(FIND(J1,$A$1:$F$8)),COLUMN($A:$F),))+64),这个是把查找值所在的列号转换为对应的字母。

知识小点:

这种查找引用是在查找值没有重复的情况下可以使用,如果有重复值,那么SUMIFS函数和SUMIF函数就会把价格进行求和,得到的结果就不是所想要的正确结果;VLOOKUP函数也只能匹配到第一个值,而VLOOKUP函数主要是在第个二参数里,通过FIND函数定位数据表中的第一列,利用INDIRECT函数把区域转换成可以为VLOOKUP函数提供查找区域数据表的目的。



转载请注明地址:http://www.lanbuzhenga.com/lbzcs/19295.html