VLOOKUP()
在表格的首列查找指定的数值,并返回表格当前行中指定列处的数值。
结构:=VLOOKUP(查找值,查找区域,列序数,匹配条件)
解释:=VLOOKUP(找谁,在哪里找,第几列,0或1)
1.目的:根据【产品】查找【销量】
公式:=VLOOKUP(E2,$B1:C$11,2,0)
说明:"查找值"E2也就是【产品】,"查找区域"根据查找值【产品】在所选的数据表中,也就是$B1:C$11中必须位于第一列。"列序数"为3,表示对应结果【销量】在所选区域中排第3列;"匹配条件"为0,表示精确匹配,若为1则代表近似匹配。
2.目的:根据【产品】查找【日期】
公式:=VLOOKUP(E2,$B1:D$11,3,0)
说明:"查找值"G2也就是【产品】,由于数据表中【产品】列在【日期】列的后面,无法按照VLOOKUP函数的使用方法(查找区域要根据查找值位于第一列进行)所以我们要将【产品】排列在数据表中的第一列,则增加一列【辅助列】代表【日期】列,数据表所选区域也就是$B1:D$11区域。"列序数"为3,表示对应结果【辅助列】在所选区域中排第3列;"匹配条件"为0,表示精确匹配
=VLOOKUP(E2,$B1:D$11,3,0)
VLookup():用于从一列或一行或数组中查找一个值。
"=VLOOKUP(A14,A1:A11,B1:B11)"获得了第一个进价。这个公式里有三个参数,值如下:
- 第一个参数"Lookup_value":A14,是要查找的值;
- 第二个参数"lookup_vector":A1:A11,是要查找的范围;
- 第三个参数"Result_vector":B1:B11,是要获得的值。
index函数
Index函数:根据数据区域中的行列号返回区域中对应的值
INDEX(array, row_num, [column_num])
- 第1参数:要查找的单元格区域;
- 第2参数:返回单元格区域的某行;
- 第3参数:返回单元格区域的某列;
match函数
语法:=MATCH(lookup_value, lookup_array, [match_type])
- 第一参数:查找值
- 第二参数:查找的数据区域
- 第三参数:匹配类型,在这里我们将其设置为0即可,表示精确匹配
INDEX和MATCH结合使用
=INDEX($G2:G5,MATCH(C2,F2:F$5,1))
countif():在指定区域中按指定的条件对单元格进行计数
=countif(range,criteria)
参数意义:
- 参数range:表示要计算其中满足条件的非空单元格数目的单元格区域;
- 参数criteria:表示统计条件,其条件的形式可以为数字、表达式或文本,也可以使用通配符。
统计空白单元格
COUNTBLANK函数是计算区域内空白单元格的个数。
COUNTBLANK()
SUMPRODUCT函数:返回相应的数据或区域乘积之和
在列表中计数操作:
OFFSET:函数用于返回一个单元格或单元格区域的引用,该引用是相对于另一个单元格或区域的。
OFFSET(reference, rows, cols, [height], [width])
reference
是起始单元格或区域的引用。rows
是从起始单元格或区域开始要偏移的行数(可以是负数,表示向上偏移)。cols
是从起始单元格或区域开始要偏移的列数(可以是负数,表示向左偏移)。[height]
和[width]
是可选参数,分别表示返回引用区域的高度和宽度。
=SUM(OFFSET(D3,,,,MATCH($B1,D2:O$2,0)))
通过单独获取累计的操作:
SUM(INDEX(D5:O12,MATCH(B15,B5:B12,0),MATCH(B16,D4:O4,0)):INDEX(D5:O12,MATCH(B15,B5:B12,0),MATCH(B17,D4:O4,0)))
解说:
这个Excel公式使用了INDEX
和MATCH
函数来动态地确定一个范围,并对这个范围内的单元格进行求和。让我们逐步解析这个公式:
-
MATCH函数:
MATCH(lookup_value, lookup_array, [match_type])
MATCH
函数返回lookup_value
在lookup_array
中的相对位置。match_type
参数决定了查找的类型,其中0表示精确匹配。在你的公式中,有三个
MATCH
函数:MATCH(G17,B5:B12,0)
:查找G17
单元格中的值在B5:B12
范围内的位置。MATCH(G18,D4:O4,0)
:查找G18
单元格中的值在D4:O4
范围内的位置(这通常是一个标题行,表示列的标识)。MATCH(G19,D4:O4,0)
:查找G19
单元格中的值在D4:O4
范围内的位置。
-
INDEX函数:
INDEX(array, row_num, [column_num], [area_num])
INDEX
函数返回指定数组中某个单元格的值,该单元格由行号和列号确定。在你的公式中,有两个
INDEX
函数:- 第一个
INDEX
函数确定了范围的起始单元格:INDEX(D5:O12,MATCH(G17,B5:B12,0),MATCH(G18,D4:O4,0))
。这里,它找到G17
在B5:B12
中的行号,以及G18
在D4:O4
中的列号,从而确定了起始单元格。 - 第二个
INDEX
函数确定了范围的结束单元格:INDEX(D5:O12,MATCH(G17,B5:B12,0),MATCH(G19,D4:O4,0))
。与第一个INDEX
类似,但它使用G19
的值来确定列号,从而确定了结束单元格。
- 第一个
-
SUM函数:
SUM(number1, [number2], ...)
SUM
函数计算一系列数值的总和。在你的公式中,
SUM
函数计算了由两个INDEX
函数定义的范围内所有单元格的总和。
综上所述,这个公式的作用是:
- 根据
G17
的值在B5:B12
中找到对应的行号。 - 根据
G18
和G19
的值在D4:O4
中找到对应的列号,从而确定一个范围。 - 对这个范围内的所有单元格进行求和。
例如,如果G17
的值对应于B5:B12
中的第3行,G18
的值对应于D4:O4
中的第5列,而G19
的值对应于第7列,那么这个公式将计算从D7
到O7
范围内所有单元格的总和。