文章目录

  • 一、sum—求和
  • 二、sumif—单条件求和
  • 三、sumifs—多条件求和
  • 四、subtotal—根据筛选求和
  • 五、if—逻辑判断
  • 六、vlookup—连接匹配数据
  • 七、match—查找数值在区域中的位置
  • 八、index—根据区域的位置返回数值
  • 补充1:match、index一起使用—自动根据列名查找数据
  • 补充2:sumifs、match、index一起使用—自动根据列名的数据和条件进行求和


一、sum—求和

sum(number1,number2,…) ——> sum(列名)、sum(行名)
sum(单个或多个单元格) ——> sum(列的名称 如A:A)、sum(行的名称 如1:1)

例1:计算1-8月GMV(对选定区域进行求和)


注:sum('拌客源数据1-8月'!J:J)中的''表示数据来源;!表示所引用数据并非当前工作表;J:J表示整个J列

  • 技巧1:跨表看数据不方便时可以尝试“新建窗口”;这里并非新建数据,而是将同一个工作表数据以2个窗口展示,方便快速基于原数据进行查看、计算、引用。

  • 技巧2:跨表看数据不方便时可以尝试“分屏”:win+左箭头/全部重排;将数据表分成左右两屏,方便快速基于原数据进行查看、计算、引用。

例2:计算1月和8月GMV(可以用逗号对多个区域进行求和)
首先选中B2单元格,冻结首行首列,将“日期”和“GMV”变成相邻的两列方便查看和计算;然后将日期按照升序排列,选中1月对应的GMV,并键入逗号;最后向下翻选中8月对应的GMV。



二、sumif—单条件求和

sumif(range,criteria,[sum_range])
sumif(条件判断所在的区域,条件,[用来求和的数值区域])

例:计算2020-07-01的GMV

以此类推,计算2020-07-07的GMV,可以考虑直接向下拖拽单元格,如下图所示:


因此需要将“日期”列、“求和”列、具体计算列固定住,保证向右拖拽数值不变。

注:Excel中日期与数字的关系:(数字)1=1900-1-1(日期),便于计算特定日期
比如:小明和小兰2022-5-27确定恋爱关系,在一起1000天后的纪念日为:2025-2-20

三、sumifs—多条件求和

sumifs(sum_range,[criteria_range1],[criteria1],[criteria_range2],[criteria2]…)
sumifs(用来求和的数值区域,[条件1判断所在的区域1],[条件1],[条件2判断所在的区域2],[条件2]…)

例1:计算2020-07-01的美团GMV

向下拖拽可计算其它行的数值(无需绝对引用)


例2:计算日环比
环比和同比的区别:
   同比=(本期数-同期数)/同期数=本期数/同期数-1
   环比=(本期数-上期数)/上期数=本期数/上期数-1

简而言之:环比是与上一个相邻的时间单位相比
     同比是与上一年或上一月相同的时间单位相比



例3:计算日同比
日同比分为2种情况:相对于周 or 相对于月

  • 日同比:相对于周


  • 日同比:相对于月

    1. 相对于周的日环比计算较为简单,可直接利用Excel中日期与数字的关系:(数字)1=1900-1-1(日期)
    2. 相对于月的日环比计算(因为每月有28/29/30/31天)需要用到edate函数,用于返回与指定日期相隔的月份数的日期。edate (start_date,months),start_date:指定日期,months:加减月份,其中months为正数表示基于start_date后延几个月,负数表示start_date提前几个月。

例4:计算月环比
计算每个月的第一天和最后一天需要用到eomoth函数,用于返回指定日期 之前或之后的月份的最后一天。eomoth(start_date,months),start_date:指定日期,months:加减月份。

  • 计算每个月的第一天和最后一天



  • 计算当月的美团GMV

    注意:
    1.像"美团"这样的字符串是文本格式,需要加英文双引号""
    2.像大于等于小于等符号也需要添加英文双引号"",并使用&才能与后面的条件相连
    3.而条件参数直接引用单元格或者使用函数则不需要英文双引号

  • 计算上个月的第一天和最后一天



  • 计算月环比


四、subtotal—根据筛选求和

subtotal(function_num,ref1,[ref2],…)
subtotal(指定函数,选择区域1,[选择区域2],…)




sum和subtotal的区别:
二者同为求和,只是subtotal函数求取的数值会根据原数据的筛选状态筛选数值变动而变动;而sum函数求取的数值无论原数据如何筛选变动,所求数值都不会改变。

五、if—逻辑判断

if(logical_test,value_if_true,[value_if_false])
if(逻辑比较条件,结果成立时返回的值,[结果不成立时返回的值])
[value_if_false]:该参数选填,没有该参数时,返回值false

  • if函数


  • if嵌套举例

  • if嵌套实战


六、vlookup—连接匹配数据

vlookup(lookup_value,table_array,col_index_num,[range_lookup])
vlookup(要查找的数据,要查找的位置和要返回的数据的区域,要返回的数据在区域中的序号,返回近似匹配或精确匹配-指示为1/TRUE或0/FALSE),一般选择精确匹配

  • vlookup函数基于对应的值直接一一对应的查找返回

    注:
    1. vlookup函数要查找的条件必须在第一列,即“门店ID”必须在第一列
    2. 要查找的条件“门店ID”必须与原表中的“门店ID”列一模一样才可以返回
    3. 如果要查找的条件与选中的区域列并非一模一样要如何返回呢?需要借用通配符进行模糊查询

    通配符:
    *:代替不定数量的字符
    ?:代替一个字符(英文状态下)




    注:这里*其实会返回所有以a开头的值,应该是1/2/3/4,但是因为vlookup只能查找出第一个符合的值,其他还有符合的也不会查找。



    即:如果想用vlookup实现模糊查询,需要搭配通配符*/?使用。

  • vlookup函数基于聚合运算的结果一一对应的查找返回(让vlookup函数连接匹配数据透视表的数值)
    注:聚合就是将多行变成一行,可以使用数据透视表进行聚合运算

    • 聚合举例:



  • 首先在原数据中随便选中一个单元格插入数据透视表;再在位置里面选择建数据透视表的位置,然后选择“门店ID”和“GMV”列;最后可以用vlookup函数引用数据透视表的数值进行计算。
    不难看出,透视表其实已经将结果计算出来了,可以直接用;但是直接用透视表只能计算一种聚合依据的数值,比如:用透视表只能计算门店ID对于的GMV,如果想既要计算门店GMV,又要计算平台GMV,要怎么办呢?此时可以用vlookup函数引用数据透视表的数值。






七、match—查找数值在区域中的位置

match(lookup_value,lookup_array,[match_type])
match(查找项,查找区域,[0])

简而言之:match函数是用来查找某个单元格(选定数据)在单行或单列中的第几号位置

  • 举例



八、index—根据区域的位置返回数值

index(array,row_num,column_num)
match(区域,行号,列号)

  • 举例



补充1:match、index一起使用—自动根据列名查找数据

index(数据区域,match(行查找项,index数据区域的相对区域,0),match(列查找项,index数据区域的相对区域,0))

注:match是定位函数,index是提取函数,两者嵌套使用,先用match查找目标值所在的行列坐标,然后index通过坐标获取单元格的值。(先用match分别找到行号和列号,然后放到index里面行和列对应的位置)

  • 举例



  • 实战:基于“平台门店名称”分别查找出“门店ID”、“品牌名称”、“品牌ID”

    绝对引用口诀:行锁列,列锁行,引用区域锁行列

补充2:sumifs、match、index一起使用—自动根据列名的数据和条件进行求和

sumifs(index(数据区域,0,match(列查找项,index数据区域的相对区域,0)),条件1判断所在的区域1,条件1,条件2判断所在的区域2,条件2…)

首先将match与index混用,让系统自动去原数据中找在那一列,如:GMV列,并将该列数据返回;然后用sumifs函数基于这一列数值进行计算;最后考虑到需要拖拽,确定要锁定哪些区域。



常见八大函数练习可参考:
百度网盘链接:Excell练习 - 常用八大常用函数
提取码:cdy4

更多推荐

数据分析工作中excel最常用的八大函数