• excel函数从0到掌握


    我写到一半,发觉网上的资料还不如,wps自带的视频讲解,在这里提醒你们一下!(不是打广告,视频免费)

    四大运算符

    算术运算符

    excel算术运算符有:加、减、乘、除、乘幂(^)及百分号(%)。
      加法运算(加号+):47+24
      减法运算(减号-):47-24
      乘法运算(星号*):47*24
      除法运算(正斜线/):47/24
      幂运算(插入符号):4724
      连接数字产生数字结果运算(百分号%):47%

    比较运算符

    excel比较运算符有:大于、大于或等于、小于、小于或等于、等于、不等于,结果返回一个逻辑值:TRUE或FALSE。
      比如:47>24,返回TRUE。
      47>=24,返回TRUE。
      47<24,返回FALSE。
      47<=24,FALSE。
      47=24,返回FALSE。
      47<>24,返回TRUE。

    文本运算符

    通常用于把单元格区域合并计算。用于连接多个文本,以产生一串新的文本字符串,以(&)连接;
      如:“blwbbs”&".com ",结果为:blwbbs.com。

    引用运算符

    excel引用运算符包括:区域运算符、联合运算符、交叉运算符。

    • 区域运算符(英文冒号:):对包括在两个引用之间的所有单元格的引用,如:A1:C10。
    • 联合运算符(英文逗号,):把多个引用合并为一个引用,如:COUNT(A24:B4,D2:F6)。
    • 交叉运算符(空格):对两个引用区域交叉的单元格区域的引用,结果可以是一个单元格,也可以是一个区域,如:=SUM(A2:E5 B1:D9),结果是对A2:E5和B1:D9 交叉的区域(B2:D5)求和。

    优先级

    在这里插入图片描述

    1、 count

    首先介绍的就是count函数-实现对数值型数字的计数
    也就是说,如果单元格里面有文字,那就不计算文字
    例:

    只是拿现成表做演示,请不要纠结具体内容意义
    第一行统计个数为5,即实现对数值型数据的计数;
    第二、三行和第一行对对比,即不统计文本、不统计单元格包含文本的数据
    在这里插入图片描述

    2、counta

    统计范围内非空单元格的个数

    第一行统计了非空单元格的个数’;
    第二行展示了不看单元格内容;
    第三行显示了有一个空值的个数
    在这里插入图片描述

    3、countif

    语法为 : COUNTIF ( Range, Criteria )即 COUNTIF ( 区域, 条件 )

    • range :必要,要计算其中非空单元格数目的区域。
    • criteria :必要,以数字、表达式或文本形式定义的条件。

    从函数的名字其实可以看出,像是count+if的组合,其实差不多,该函数就是对数值型数据进行条件计数
    也就是countif(区间,条件),值得注意的是,像我们这种初学excel函数的人,对语法不太熟悉,这里写条件,必须用引号包裹住条件
    例:

    =COUNTIF(A2:E2,“>1”)
    在这里插入图片描述

    ①求某类型单元格的个数
    例1:求语文成绩是空值的个数,G2输入“=COUNTIF(C2:C7,“”)”。
    在这里插入图片描述
    例2: 求语文成绩是非空值的个数,G2输入“=COUNTIF(C2:C7,“<>”&“”)”。

    在这里插入图片描述
    ②求大于或小于某个值的单元格个数

    例:求语文成绩大于90分的个数。G2输入“=COUNTIF(C2:C7,“>90”)”

    在这里插入图片描述

    ③等于或包含某N个特定字符的单元格个数
    例1:求陈某的个数,用通配符表示任意一串字符。G2输入“=COUNTIF(A1:A7,"陈")”。
    在这里插入图片描述
    例2:获取2个字符姓名的个数。G2输入“=COUNTIF(A2:A7,“??”)”

    在这里插入图片描述

    4、countifs

    语法为 : COUNTIFS ( Range1, Criteria1, Range2, Criteria2 …[Range_n],[Criteria_n] )
    即COUNTIFS(条件匹配查询区域1,条件1,条件匹配查询区域2,条件2,以此类推…)

    作用
    作用:COUNTIFS函数用于执行与COUNTIF函数类似的工作,不同之处在于可多个范围内分配多个条件。 但是,在增加计数之前,所有检查都必须为true。
    用法及实例
    ①单一条件计数,比如求大于或小于某个值的单元格个数

    例:求语文成绩大于90分的个数。G2输入“=COUNTIFS(C2:C7,“>90”)”
    在这里插入图片描述
    ②多条件计数(都同时满足)

    例:获取语、数、英成绩90以上的个数,G2输入“=COUNTIFS(C2:C7,“>=90”,D2:D7,“>=90”,E2:E7,“>=90”)”。

    在这里插入图片描述

    conutif和countifs的区别

    1. 当然就是s的区别啦,前者智能统计一个,后者能单个或多个,所以掌握后者就ok!
    2. 再次对咱们这种小白强调语法!
      • 条件,一定要用,英文的单引号或双引号,引起来!
      • 如果条件引用的不是具体的数值,而是某个文本框,如就是我们要计算某一区域大于这个单元格值(因为单元格是可以变得,这样就做到了动态修改)的个数,
      • 格式为:"符号条件"&单元格,例如:">="&C1

    5、sum

    如果读者看了上面,就知道这三个函数大概得意义和联系了,我就不一一解答
    sum:SUM函数用于返回某一单元格区域中所有数值之和
    多表扩展
    扩展案例(多表汇总)

    某企业要求对全年12个月的销售数据进行汇总,每个月的报表结构相同、字段顺序一致,如下图所示(以1月和12月为例)
    在这里插入图片描述
    在这里插入图片描述

    问题:要求将以上12张工作表中的数据进行汇总,制作全年汇总表
    在这里插入图片描述

    1.在"全年汇总"工作表中选中B2:F8单元格区域,在编辑栏输入公式=SUM(‘*’!B2)

    注意公式中的符号都要求在英文半角状态下输入
    在这里插入图片描述

    2.同时按住组合键,将公式批量填充到选中的区域中,公式会自动转换为=SUM(‘1:12’!B2),其中公式中“‘1:12’”的作用是引用1月至12月的连续多张工作表
    在这里插入图片描述

    由于公式中的’B2’使用的是相对引用形式,所以随着公式向下、向右填充会自动引用对应位置的单元格,如F8单元格的公式为=SUM(‘1:12’!F8)
    在这里插入图片描述

    补充:对公式=SUM('‘!B2)的解析:
    1.SUM函数支持跨工作表进行多表汇总
    2.SUM函数支持通配符,如公式中的’
    ‘代表任意字符长度的工作表名称
    3.公式中的’*‘代表除当前工作表以外的所有其他工作表,两边的单引号’'的作用是引用工作表名称
    4.公式中的感叹号!是连接符,用于连接工作表名称和单元格引用
    5.按组合键输入,作用是将公式批量填充到选中区域的每一个单元格

    6、sumif

    语法: SUMIF(range,criteria,[sum_range])

    range:条件所在区域

    criteria:条件表达式

    sum_range:求和数据所在区域

    当第一参数和第三参数相同时,第三参数可以省略

    SUMIF函数用于根据指定的条件对指定区域的数据进行条件求和(单个条件下的数据汇总)
    案例1:要求统计数学90分以上的学生成绩之和

    在这里插入图片描述

    上述公式也可以写成=SUMIF(B2:B12,“>=90”)

    案例2:要求统计南京路店的销售总和

    在这里插入图片描述
    案例3:要求统计商品C的销售总和
    在这里插入图片描述
    案例4:要求统计批发渠道的销售总和在这里插入图片描述
    案例2-4讲的都是按照精确匹配进行汇总(单条件精确匹配汇总)
    案例5:要求统计小米品牌的销售总和
    在这里插入图片描述
    案例6:要求统计手机的销售总和

    在这里插入图片描述
    案例5-6的公式中都使用了通配符"*",它可以代表任意长度的文本字符串,上述两个案例题属于单条件模糊匹配汇总问题

    案例7:跨列条件精确匹配汇总

    某企业要求对业务员的业绩完成情况按计划和实际分别统计,要求在H列中统计所有月份的计划合计数,在I列中统计所有月份的实际合计数
    在这里插入图片描述

    案例8:跨列条件模糊匹配汇总

    在这里插入图片描述

    选中N2:O13单元格区域输入公式=SUMIF($B 1 : 1: 1:M$1,“*”&N 1 , 1, 1,B2:$M2),按组合键将公式填充至选中区域的每一个单元格

    在这里插入图片描述

    7、sumifs

    语法: SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2,criteria2],…)

    sum_range:求和区域

    criteria_range:条件区域

    criteria:条件

    SUMIFS函数用于按照多个条件对数据进行条件汇总
    SUMIFS函数可以根据实际需求不断增加条件区域和对应的条件,实现对同时满足多个条件下的数据进行汇总,其中每一对条件区域和条件要彼此匹配,多对条件区域和条件之间的顺序可以互换,不影响计算结果

    案例1:要求统计数学90分以上的学生成绩之和
    在这里插入图片描述
    案例2:要求统计语文80至90分之间的学生成绩之和
    在这里插入图片描述
    上述案例1-2都是对同一个字段进行多条件约束,对多种字段多条件约束时,也可以借助SUMIFS函数实现自动计算

    案例3:要求统计南京路店的销售商品B的总和
    在这里插入图片描述
    案例4:要求统计订单金额大于400的商品C的销售总和在这里插入图片描述

    案例5:要求统计批发渠道的商品A的订单金额大于500的销售总和
    在这里插入图片描述

    上述案例3-5都是针对多条件精确匹配汇总,即使遇到按照关键字查询的多条件模糊匹配汇总,也可以使用Excel中的通配符配合SUMIFS函数实现自动计算

    案例6:要求统计和平路店小米品牌的销售总和
    在这里插入图片描述
    案例7:要求统计中山路店订单金额低于5000的笔记本的销售总和
    在这里插入图片描述

    公式中的关键点在于条件参数中使用了通配符

    SUMIF函数与SUMIFS函数的语法结构区别

    以单个条件为例分别展开这两个函数的语法结构进行对比:

    SUMIF(条件区域,条件,求和区域)

    SUMIFS(求和区域,条件区域,条件)

    从语法结构能够看出两者之间的明显差别,SUMIFS函数由于要对多个条件进行判断,所有第一参数就是求和区域,其他成对的条件区域和条件放置在后面,而SUMIF函数的求和区域则放置在第三参数

    8、if

    我自己得博文,我就写成自己看得懂得样子了
    if(条件,true,false)
    条件可以和and,or,not组合使用,例:

    公式说明
    =IF(A2>B2,TRUE,FALSE)如果 A2 大于 B2,则返回 TRUE,否则返回 FALSE
    =IF(AND(A3>B2,A3如果 A3 大于 B2,并且 A3 小于 C2,则返回 TRUE,否则返回 FALSE
    =IF(OR(A4>B2,A4如果 A4 大于 B2,或 A4 小于 B2 + 60,则返回 TRUE,否则返回 FALSE
    =IF(NOT(A5>B2),TRUE,FALSE)如果 A5 不大于 B2,则返回 TRUE,否则返回 FALSE

    9、日期函数

    1.Excel中的时间和日期

    日期:

    • Excel中采用1900-1-1纪年法
    • 本质上是整数
    • 整数代表整天:1代表1天,即1900-1-1
      时间: 是指具体的时间(小时、分钟),在进行时间运算时,要先进行单位统一

    2.日期相关的函数

    date(年,月,日): 日期函数:得到组合之后的日期,并且可以自动进位
    year(日期): 得到某日期的年
    month(日期): 得到日期的月
    day(日期): 得到日期的日
    datedif(开始日期,结束日期,返回值):

    • 基本用法: 比较两个日期之间的间隔,并返回想要得到的值
    • 返回值(六种模式): “y”(年),“m”(月),“d”(日)
      • “ym”(去掉年份之后的月数)
      • “md”(去掉月份之后的天数)
      • “yd”(去掉年数之后的天数)
        注意: 开始日期要比结束日期小
    • weeknum(日期,模式—一周的起始): 得到日期所在年的第几周
    • weekday(日期,模式—一周的起始): 得到日期所在周的第几天

    3.日期相关的应用

    日期推算(date函数)

    • 日期+天数: 直接相加即可(因为日期本质上是整数)
    • 日期+月数: 思路:利用data函数组合【date(year(),month()+月份,day())】
    • 本月最后一天: 思路:本月最后一天即下个月1号的前一天【date(year(),month()+1,0)】
    • 本月总天数: 思路:先得到本月最后一天,然后用day函数得到天数即可【day(date(year(),month()+1,0)】
      计算日期间隔(datedif函数)
    • 计算工作年限: 思路:利用datedif()函数,得到间隔年数【datedif(开始日期,结束日期,“y”)】

    4.整容大师(text函数

    text(目标,目标样式): 文本函数,以目标样式得到目标值的文本格式

    • 日期—>星期几(2021/4/3–>星期六): text(2021/4/3,“aaaa”)
    • 将假日期变成真日期(20201119—>2020-11-19): text(20201119,“0000-00-00”)*1

    10、vlookup

    首先当然是官方看球不懂英文的文档:
    VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

    • Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。

    当vlookup函数第一参数省略查找值时,表示用0查找。

    • Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

    • col_index_num为table_array 中查找数据的数据列序号。

      • col_index_num 为 1 时,返回 table_array 第一列的数值

      • col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。

      • 如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;

      • 如col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。

    • Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为FALSE或0,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为1。

    好,现在就是我的个人理解:
    vlookup(根据条件查找的源数据,进行查找的数据,返回的第几列数,近似还是精确)
    现在再来解析一下:
    其实懂不懂一个函数,我们要事先知道他是用来干嘛的,比如,我们有这张表,称为表A:
    在这里插入图片描述
    然后还有这张缺失数据的表,称为表B:
    在这里插入图片描述
    好!聪明的你们肯定看得出我们需要补什么了吧?那么问题来了,一个一个复制吗?nonono!

    1. 首先我们需要查找的源数据(主体)是工单号,我们的第一个参数就有了!
    2. 第二个参数是啥?就是我们根据要查找的源数据(主体)总得有个数据,也就是范围去找吧,不然拿出来干嘛,那我们就选择我们需要查找得数据表A,选择我们得范围,值得注意得是,我们第三个参数是返回第几列,所以,你选择范围得时候必须也把需要得参数列包裹进去!
      • 第二个参数得范围:从我们查找的源数据为第一列(start),到我们需要返回的参数列为止(end)!
    3. 第三个参数就最好解释了,每一列对应一个列号,你想返回哪一列,就写哪一列,有提示!
    4. 第四个就是精确还是近似。不写或者TRUE就是近似匹配,0或者FALSE就是精确匹配!

    好,我们来看看wps的官方题解!(我懒得打实例,还有就是网上的实例都烂!)
    VLOOKUP函数 查询指定条件的结果(WPS官方题解)

    11、match

    match函数用来返回查找数据相对应的行/列号
    首先还是先来点官方文档:
    MATCH(lookup_value,lookup_array,match_type)

    • Lookup_value 为需要在 Look_array 中查找的数值。
      • 例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。
    • Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
    • Lookup_array 可能包含所要查找的数值的连续单元格区域。lookup_array 应为数组或数组引用。
    • Match_type 为数字 -1、0 或 1

    接下来又是我自己的理解:
    语法:match(要查找的对象,行/列范围,比对方式)
    这里就只说一下比对方式不同值的区别:
    1: 函数查找小于或等于查找对象的值,取最大值,前提是查找范围数据顺序必须为升序(升序从小到大嘛,才有可能小于或者等于)
    0:函数查找 等于 查找对象的第一个值,查找范围
    -1:函数查找大于或等于查找对象的值,取最小值,前提是查找范围数据顺序必须为降序(降序从大到小嘛,才有可能大于或者等于)

    特别说明

    1. 函数 MATCH 返回 lookup_array 中目标值的位置,而不是数值本身。例如,MATCH(b,{a,b,c},0) 返回 2,即“b”在数组 {a,b,c} 中的相应位置。
    2. 查找文本值时,函数 MATCH 不区分大小写字母。
    3. 如果函数 MATCH 查找不成功,则返回错误值 #N/A。
    4. 如果 MATCH_type 为 0 且 lookup_value 为文本,lookup_value 可以包含通配符、星号 (*) 和问号 (?)。星号可以匹配任何字符序列;问号可以匹配单个字符。

    okokok!好的文章怎么可能会没有实例呢!还是那句话,我自己不爱写,网上的又烂!继续看看wps的实例吧

    WPS之match函数

    12、index

    根据指定的行/列号,以及区域号返回对应的记录
    老规矩,先来点官方的:
    index(array, row_num, [column_num])
    array:提供我们按照要求返回的数据区域,不然你指定行/列号,我们拿什么数据来做参考呢?
    row_num:行号,返回哪一行
    column_num:列号,返回哪一列

    1. 如果数组只包含一行或一列, 则相应的 row_num 或 column_num 参数是可选的。

    2. 如果数组具有多行和多列, 并且仅使用 row_num 或 column_num, 则 INDEX 返回数组中整个行或列的数组。

    3. row_num:必需,选择数组中的某行,函数从该行返回数值。 如果省略 row_num, 则需要 column_num。

    4. column_num:可选,选择数组中的某列,函数从该列返回数值。 如果省略 column_num, 则需要 row_num。

    实例(当然不可能自己写,我一看就会(自豪.jpg)):
    WPS之index

    关于match和index函数的组合使用

    其实你们也不要想的那么复杂,你想想嘛:

    • 一个是返回数据所在的位置(match)
    • 一个是根据提供的位置,返回数据(index)
      这不就出来了,我们就可以把index要求的位置,换成由我们match来提供不就行了?
      老规矩!组合在视频后半段!
      WPS之match和index组合使用

    -------------------------------------------------------------------------------------------

    相关学习小知识补充

    一、问号(?)和星号(*)

    在Excel中可以使用问号(?)和星号(*)作为通配符,以方便查找操作。

    • 问号(?)代表一个字符
    • 星号(*)代表一个或多个字符。

    需要注意的问题是,既然问号(?)和星号(*)作为通配符使用,
    那么如何查找问号(?)和星号(*)呢?只要在这两个字符前加上波浪号(~)就可以了。

  • 相关阅读:
    IVIF:multi-scale densenet
    git报错warning: refname ‘分支名‘ is ambiguous.
    基于SuperMap iObjects C++之地形凹凸点提取
    基于C语言实现的SML简单程序设计
    卡尔曼滤波器KF
    php代码审计之——phpstorm动态调试
    Spark数据倾斜
    网页翻译插件
    【playwright】pytest-playwright增加代理服务选项
    【SAP消息号C0432】
  • 原文地址:https://blog.csdn.net/qq_40608132/article/details/126119881