赞
踩
全文干货,职场人必备高级技能。
有如下数据,怎么快速求出给定门店的各个数据呢?(平台门店名称/品牌id/品牌名称/门店id,一一对应)
求出下图数据
我们首先想到的是用vlookup/sumif函数对每列所求值进行查询/条件求和,但是效率太慢,需要每一列进行输入,下面来介绍使用index和match函数进行快速匹配/填充求值。
match(lookup_value,lookup_array,[match_typel])
match(查找项目,查找区域,0)
即match会返回 查找项目 在这个查找区域的行/列,下面上图介绍
显然会返回4,因为D在所选区域的第四行。返回行值同理。0表示精确匹配。
index(数据区域,行,列)
如果将row_num(行)或column_num(列)设置为0(零),INDEX将分别返回整列或整行的引用。如图所示:
显然会返回所选区域第三行第三列的内容即C。
INDEX
和 MATCH
函数可以组合使用来实现强大的查找和引用功能(精确制导)
index(数据区域,match(行查找项,index数据区域的相对区域,0),match(列查找项,index数据区域的相对区域,0))
查询区域为左边整个工作表
第一个match需要获取出A2店id的行数,因为店名和店id一一对应,我们只要找到店名的行数即可,故将匹配区域设为左表D列,可以返回出每个店所对应的行数。
有了行数,就需要找到对应列数
第二个match需要获取出门店id所在的列数,所以查找对象为门店id,查找区域为左表数据的第一行。
行列都有了,index函数就可以判断出其具体数据了。
下面我们对行列进行部分锁定(保证进行上下左右拖拽时部分行列不变)(行/列前面加$符号即可实现行/列锁定)
=INDEX(源数据!$A:$G,MATCH($A2,源数据!$D:$D,0),MATCH(B$1,源数据!$1:$1,0))
我们左右上下拖拽时,只希望A列所对应的店名变化,以及所要求的数据行变化,故锁定上面的红色标注部分,这样我们直接拖动填充柄可以直接得到所有的对应值。同样,我们也可以直接修改所求的内容也可以自动更新数据。如图所示
直接修改红圈内的为品牌ID或者其他,下面数值也会随即变化。
如果将row_num(行)或column_num(列)设置为0(零),INDEX将分别返回整列或整行的引用。
这里我们需要配合sumifs函数实现
=SUMIFS(INDEX(源数据!$A:$G,0,MATCH(E$1,源数据!$1:$1,0)),源数据!$D:$D,$A2)
INDEX(源数据!$A:$G,0,MATCH(E$1,源数据!$1:$1,0))
我们先来看index这部分,从整个数据表中查询,返回了整个行的值,列为营业额所对应的列,故index返回了整个营业额的值,
sumifs(整个营业值,条件区域,条件)筛选出了所对应的店的营业额的总值。
我们对部分行列进行锁定即可向左右拖拽实现快速匹配对应的值,原理同上。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。