这是模拟了某公司3个区域2023全年销售功绩,需要在指定区域里终了鼠标点选不同销售员和不同月份后,自动统计出功绩金额。时势可能有许多,今天只说说如何运用OFFSET函数来终了。
1意志OFFSET函数
函数用法:OFFSET(基准单位格reference, 出动行数rows, 出动列数cols, [区域高度height],[区域宽度width]),其中区域高度可闪现为些许行,区域宽度为些许列。
举个例子,OFFSET(A1,1,1,3,2)是指以A1单位格为基准,向下出动1行,再向右出动1列,获得的一个3行2列的单位格区域:即B3:D5。后头2个参数不是必须的,若是没写,则默许援用的是单位格,如OFFSET(A1,1,1)是援用了B2。
OFFSET函数不错终了动态援用单位格粗略单位格区域,纯真浅薄。
02先定位,再合成
从上头可知,要使用OFFSET函数,领先要知说念出动的行数和列数。这个定位责任,交给MATCH函数吧。
定位销售员的行号:
=MATCH(B17,$B$2:$B$13,0)
复返“销售员D2”的行号是2。肃肃,这里定位的区域是$B$2:$B$13,即销售员D2在$B$2:$B$13这个区域里第2行。为什么要选拔B2而不是B1,后头就昭彰了。
定位销售员的列号:
=MATCH(C16,$C$1:$O$1,0)。
至此不错知说念,OFFSET(B1,2,4)就不错求出销售员D2的4月功绩单位格:以B1为基准,向下出动2行同期向右出动4列的单位格。
将公式合成起来,即是最终的方针公式,简易选拔销售员粗略月份,齐不错获得统计数据。
=OFFSET(B1,MATCH(B17,$B$2:$B$13,0),MATCH(C16,$C$1:$O$1,0))
3多走一步
若是还要兼顾统计某个区域的数据,怎样科罚呢?不错琢磨逻辑联系,即B17销售员单位格有本体时,统计的是销售员的数据;若是B17莫得本体时,则统计区域的数据。这不即是IF函数的用法嘛!
先试试区域条目乞降:
=SUMIF($A$2:$A$13,A17,OFFSET($B$1,1,MATCH($C$16,$C$1:$O$1,0),12))
其中OFFSET函数里终末一个参数”12“,是指2到13行,即所有援用12行数据。
然后,用IF来合成:
=IF(B17="",SUMIF($A$2:$A$13,A17,OFFSET($B$1,1,MATCH($C$16,$C$1:$O$1,0),12)),OFFSET($B$1,MATCH($B17,$B$1:$B$13,0)-1,MATCH($C$16,$C$1:$O$1,0)))
联结条目局势,不错明晰看到统计的单位格(区域):