一、函数与公式

(一)基础知识

函数与公式区别

Excel公式

  1. 公式是Excel工作表中进行数值计算的等式。
  2. 公式输入是以 “=” 开始的。
  3. 简单的公式有加、减、乘、除等四则运算,还可以逻辑比较、联接符等。

Excel函数

  1. 一般是指Excel中的内置函数。
  2. 函数就是预先定义好了的公式,是简化的公式。
  3. 包含11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。

总之,函数可以是公式的一部分,但公式不一定包含函数。

连接符 &

在excel使用过程中,有时候需要将几个内容连接到一起,这时候就可以使用连接符。

注意,在非引用中 ,文本字符需要加上英文状态下的双引号。

连接符案例

绝对与相对引用(锁行锁列) $

常见数据类型

文本型、数值型、日期(时间)型、逻辑型、错误值型等

注意:文本型的数值也是文本,它是以文本形式存储的数字,在使用公式进行求和的时候,得到的结果是0。

数组

定义

数组就是指一组数,这些数可以是纵向的一组,也可以是横向的一组,也可以是二维数组,数组的表示一般为"{}"所包括。

在Excel中,数组可以理解为多个单元格的集合,比如A1:A3,A2:B5等待。

分类

通常数组分为一维数组和二维数组。

运算

数组可以进行加减乘除四种通常的运算,无论哪种运算,输入数组公式后需要按下 Ctrl+Shift+Enter 组合键,数组公式的外面会自动加上大括号{}予以区分。可以按F9查看数组结果。

(二)逻辑判断类

 

IF 条件判断

  1. 语法

    IF(判断条件, 成立时的内容, 不成立时的内容)

    Excel 中最常用的函数之一,它可以对值和期待值进行逻辑比较。

  2. 解析

    第1个参数是判断某个条件是否成立,判断的结果是逻辑值 TRUE(条件成立)或者 FALSE(条件不成立)。例如: A1="显均学苑" 、 B1>60 等等。

    第2个参数是条件成立时返回的内容;

    第3个参数是条件不成立时返回的内容;若省略,则返回第3参数值为FALSE。

    注意:Excel中0认为是FALSE,非0认为是TRUE

  3. 案例

IF函数案例

 

AND 与

  1. 语法

    AND(条件1,条件2,......)

    这是一个逻辑函数,判断多个条件是否为真。

  2. 解释

    如果所有条件都满足,则返回TRUE(真),即任意一个条件不满足,返回FALSE(假)。

  3. 案例

    AND案例

 

OR 或

  1. 语法

    OR(条件1,条件2,.....)

    这是一个逻辑函数,判断多个条件是否包含真。

  2. 解释

    如果有一个条件满足,则返回TRUE(真),即所有条件都不满足,返回FALSE(假)。

  3. 案例

    OR案例

     

NOT 非

  1. 语法

    NOT(逻辑表达式或逻辑值)

    这是一个很有趣的函数,它的作用就是求反。

  2. 解析

    当逻辑值为TRUE时,它就返回FALSE,逻辑值为FALSE时,它就返回TRUE。

  3. 案例

    NOT案例

 

IFERROR

  1. 语法

    IFERROR(公式, 错误时的内容)

    可以捕获和处理公式中的错误。

  2. 解析

    如果公式的计算结果为错误值时,返回指定的内容;否则返回公式的结果。

    7种错误值: #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、 #NULL!

  3. 案例

    NOT案例

 

IFNA

  1. 语法

    IFNA(公式,指定的内容)

    捕获和处理公式中的 #N/A 错误。

  2. 解释

    如果公式计算结果为错误值 #N/A 时,返回指定的内容;否则返回公式的结果。

  3. 案例

    IFNA案例

     

XOR 异或

  1. 语法

    XOR(逻辑值1,逻辑值2,......)

    所有参数的异或逻辑运算值。Excel 2013及以上版本可使用。

  2. 解释

    函数返回提供的所有参数的异或逻辑运算值。

    (1)参数必须计算为逻辑值,如 TRUE 或 FALSE,或者为包含逻辑值的数组或引用。

    (2)如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。

    • 当 TRUE 输入的数字为奇数时,XOR 的结果为 TRUE
    • 当 TRUE 输入的数字为偶数时,XOR 的结果为 FALSE
  3. 案例

    XOR函数案例

     

TRUE 真

  1. 语法

    TRUE()

  2. 解释

    • 返回逻辑值 TRUE,此函数没有参数。
    • 主要用于实现与其他电子表格程序的兼容。
    • 可以直接在单元格和公式中输入值 TRUE,而不使用此函数。
  3. 案例

    TRUE案例

FALSE 假

  1. 语法

    FALSE()

  2. 解释

    • 返回逻辑值 FALSE,此函数没有参数。
    • 主要用于实现与其他电子表格程序的兼容。
    • 可以直接在单元格和公式中输入值 FALSE,而不使用此函数。
  3. 案例

    FALSE案例

 

IF函数综合应用案例

详见: 三、案例

 

(三)统计类

 

COUNT 数字单元格个数

  1. 语法

    COUNT(区域1,区域2 , ......)

    计算区域中数字的个数。

  2. 解释

    只能对数字数据进行统计,对于空单元格、逻辑值或者文本数据将被忽略。

    • 若要计算逻辑值、文本值或错误值的个数,使用 COUNTA 函数。
    • 若要只计算符合某一条件的数字的个数,使用 COUNTIF 函数或 COUNTIFS 函数。
    • Excel单元格内数据主要有以下几类: 数值型 ,文本型,逻辑型,错误值型。其中时间类型也是一种特殊的数值,文本类型的数字也是文本型。
  3. 案例

COUNT案例

 

COUNTA 非空单元格个数

  1. 语法

    COUNTA(区域1, 区域2, ......)

    计算区域中不为空的单元格的个数。

  2. 解释

    包含任何类型信息的单元格进行计数,包括错误值和空文本 ("")。

    • 空单元格:指什么内容也没有的单元格,姑且称之为真空。
    • 假空单元格:指0字符的空文本(“”),姑且称之为假空;一般是由网上下载来的或者公式得来的。
  3. 案例

    COUNTA案例

     

COUNTBLANK 空单元格个数

  1. 语法

    COUNTBLANK( 区域 )

    计算区域中空白单元格的个数

  2. 解释

    即使单元格为空文本 (""),也会计算在内;countblank函数只有1个参数,即只能计算1个区域。

  3. 案例

    COUNTBLANK案例

     

COUNTIF 单条件计数

  1. 语法

    COUNTAIF(区域,条件)

    计算区域中满足指定条件的单元格个数。(单个条件计数)

  2. 解释

    • 条件中不区分大小写。 字符串“EXCEL”和“excel”将匹配相同的单元格。

    • 条件的形式可以是数字、表达式或文本,也可以使用通配符。

      通配符:星号 (*) 用于匹配任意字符;问号 (?) 用于匹配单个字符,如果要查找实际的问号或星号,则在字符前键入代字号 (~)。

      例如,条件可以表示为 60、"60"、"<60" 、"<=60" 、 "成都"、“张*”、“显均??” 等等。

  3. 案例

    COUNTIF案例1

    COUNTIF案例2

     

COUNTIFS 多条件计数

  1. 语法

    COUNTAIFS(区域1,条件1,区域2,条件2,......)

    在多个区域,计算满足所有条件的数据个数。(多个条件计数)

  2. 解释

    • 将条件应用于多个区域的单元格,然后统计满足所有条件的次数。
    • 条件中字符串不区分大小写,可以使用通配符。
  3. 案例

    COUNTIFS案例

  4. 总结

    • COUNTIF只有一个区域,一个条件;
    • COUNTIFS可以有多个区域,多个条件;
    • COUNTIFS计数的数据,要同时满足多个条件。

MIN 最小值

  1. 语法

    MIN( 区域1,区域2,...... )

    找出区域中的最小数字。

  2. 解释

    • 空白单元格,逻辑值、文字将被忽略。如果逻辑值和文字串不能忽略,请使用 MINA 函数 。
    • 如果区域中不含数字,则函数 MIN 返回 0
    • 日期是特殊的数字,也计算在内。
  3. 案例

    MIN案例

MAX 最大值

  1. 语法

    MAX( 区域1,区域2,...... )

    找出区域中的最大数字。

  2. 解释

    • 空白单元格,逻辑值、文字将被忽略。
    • 如果区域中不含数字,则函数 MAX返回 0
    • 日期是特殊的数字,也计算在内。
  3. 案例

    MAX案例

SMALL 第K个最小值

  1. 语法

    SMALL(array,k)

    SMALL( 区域,第K个 )

  2. 解释

    • 找出区域或组数中第k个最小值。
    • 如果 n 为数组中的数据点个数,则 SMALL(array,1) 等于最小值,SMALL(array,n) 等于最大值。
  3. 案例

    SMALL案例

     

LARGE 第K个最大值

  1. 语法

    LARGE( 区域,第几个 )

    找出区域或组数中第K个最大值。

  2. 解释

    如果区域中数据的个数为 n,则函数 LARGE(array,1) 返回最大值,函数 LARGE(array,n) 返回最小值。

  3. 案例

    LARGE案例

     

 

AVERGE 仅数字的算术平均值

  1. 语法

    AVERAGE(number1, [number2], ...)

    计算区域中仅仅是数字的算术平均值。

  2. 解释

    • 算术平均值是由一组数相加然后除以数字的个数。
    • 如果单元格值是文本、空文本(“”)、逻辑值和空单元格,这些将会被忽略。
  3. 案例

    AVERGE案例

     

AVERGEA 全部单元格算术平均值

  1. 语法

    AVERAGEA(value1, [value2], ...)

  2. 解释

    • value可以是数值、文本、空文本(“”)和逻辑值,但空单元格将会被忽略。
    • TRUE 作为 1 计算, FALSE 作为 0 计算。
    • 文本和空文本(“”)作为0计算,注意数字文本也是文本。
  3. 案例

AVERGEA案例

 

AVERGEIF 单条件算术平均值

  1. 语法

    AVERAGEIF(区域 , 条件, 求平均区域)

    计算某个区域中满足某一个条件的算术平均值。

  2. 解释

    • 如果省略第3参数,则默认对第1个参数区域求平均。
    • 如果求和区域为空值或文本值,将返回错误值 #DIV/0! 。
    • 如果条件中的单元格为空单元格,就会将其视为 0 值。
    • 如果区域中没有满足条件的单元格,将返回错误值 #DIV/0! 。
    • 可以在条件中使用通配符,即问号 (?) 和星号 (*)。
  3. 案例

    AVERGEIF案例

 

AVERGEIFS 多条件算术平均值

  1. 语法

    AVERAGEIFS( 求平均区域 , 区域1 , 条件1, 区域2 , 条件2, ...... )

    计算某个区域中满足多个条件的算术平均值。

  2. 解释

    • 如果求和区域为空值或文本值,将返回错误值 #DIV/0! 。
    • 如果条件中的单元格为空单元格,就会将其视为 0 值。
    • 如果区域中没有满足条件的单元格,将返回错误值 #DIV/0! 。
    • 可以在条件中使用通配符,即问号 (?) 和星号 (*)。
  3. 案例

AVERGEIFS案例

FREQUENCY 频次

  1. 语法

    FREQUENCY(data_array, bins_array)

    FREQUENCY( 一组数值,间隔数组)

    计算值在值范围内出现的频率,然后返回垂直数字数组。

  2. 解释

    • data_array 必需。 要对其频率进行计数的一组数值或对这组数值的引用。 如果 data_array 中不包含任何数值,则 FREQUENCY 返回一个零数组。
    • bins_array 必需。 要将 data_array 中的值插入到的间隔数组或对间隔的引用。 如果 bins_array 中不包含任何数值,则 FREQUENCY 返回 data_array 中的元素个数。
    • FREQUENCY将忽略空白单元格和文本。
  3. 案例

    FREQUENCY案例

  4. 注意

    • 因为FREQUENCY函数的结果是一个数组公式,我们需要先选择数据区域,然后输入公式,按下Ctrl+Shift+回车来三键填充公式,需要注意的是选择的数据区域要比第二参数分割点多一个单元格。
    • FREQUENCY将会忽略掉的文本与空白单元格,并且在进行数据统计的数据,会自动的根据第二参数的【分割点】来对第一参数【统计区域】进行升序排序。

 

(四)文本类

 

CHAR 数值转字符

  1. 语法

    CHAR(数字)

    根据数字代码返回字符

  2. 解释

    计算机内的每一个字符都有一个编码(ASCII码)相对应。

    • 数字介于 1 到 255 之间。
    • 大写字母A—Z对应的编码是 65—90
    • 小写字母a—z对应的编码是 97—122
  3. 案例

    CHAR案例

    代码41689-41698利用char函数可以返回数字1-10带上圈圈。

CODE 字符转数值

  1. 语法

    CODE(字符)

    根据字符返回数字代码

  2. 解释

    如果有多个字符,只会返回第一个字符的ASCII码。

  3. 案例

    CODE案例

FIND 查找字符位置

  1. 语法

    FIND(要查找的字符,字符所在的文本,从第几个字符开始查找)

    查找指定值在字符串中的起始位置。

  2. 解释

    找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串。

    • 第三个参数可以省略(默认从第一个开始查找)。
    • 查找时要区分大小写,并且不能使用通配符。
    • 如果找不到,则返回#VALUE!错误。
  3. 案例

    FIND案例

 

SEARCH 查找字符位置

  1. 语法

    SEARCH(要查找的字符,字符所在的文本,从第几个字符开始查找)

  2. 解释

    • 第三个参数可以省略(默认从第一个开始查找)。
    • 查找时不区分大小写,可以使用通配符 “*”,“?”。
    • 如果找不到,则返回#VALUE!错误。
  3. 案例

    FIND案例

     

  4. 总结

    • Find函数是精确查找,区分大小写。

    • Search函数是模糊查找,不区分大小写。

       

LEN 字符串长度

  1. 语法

    LEN(字符串)

  2. 解释

    • 计算文本字符串的字符个数。
    • 空格也将作为字符进行计数。
  3. 案例

    LEN案例

     

LENB 字符串长度

  1. 语法

    LENB(字符串)

  2. 解释

    • 计算文本字符串中字符的字节数。
    • 半角的数字和字母计数为 1,汉字计数为 2 。
    • 只有在将 DBCS 语言设置为默认语言时,函数 LENB 才会将每个字符按 2 个字节计数。 否则,函数 LENB 的行为与 LEN 相同,即将每个字符按 1 个字节计数。
    • 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
  3. 案例

    LENB案例

LEFT 从左截取字符

  1. 语法

    LEFT(字符串,个数)

  2. 解释

    从字符串左边第一个字符开始截取指定个数的字符。

  3. 案例

    LEFT案例

     

RIGHT 从右截取字符

  1. 语法

    RIGHT(字符串, 个数)

  2. 解释

    从字符串右边(末尾)第一个字符开始截取指定个数的字符。

  3. 案例

    RIGHT案例

     

MID 指定位置截取字符

  1. 语法

    MID(字符串,开始位置,个数)

  2. 解释

    从一个字符串中指定位置截取出指定数量的字符。

  3. 案例

    MID案例

REPLACE 指定位置字符替换

  1. 语法

    REPLACE(要替换的字符串,开始位置,替换个数,新字符串)

  2. 解释

    将指定位置的特定数量的字符用新字符来代替,简单讲就是进行字符的替换。

  3. 案例

    • 将字符串”Excel显均学苑“中的“显均学苑”替换成“函数”;
    • 从左边数,开始替换的字符是第6位,总共需要替换4位(显均学苑长度为4),公式如下:

    REPLACE案例

     

SUBSTITUTE 指定字符替换

  1. 语法

    SUBSTITUTE(需要替换的文本,旧文本,新文本,第N个旧文本)

    对指定的字符串进行替换。

  2. 解释

    • 第4个参数N(整数)用来指定以新文本替换第几次出现的旧文本。
    • 第4个参数N(整数)可以省略,表示替换掉所有的旧文本。
  3. 案例

    (1)将 ”Excel显均学苑学函数“ 第2个 ”“ 替换为 ”“,公式如下:

    SUBSTITUTE案例

    (2)将 ”Excel 显均学苑“ 中空格去掉,公式如下:

    SUBSTITUTE案例

  4. 总结

    • replace函数替换的是字符串中指定位置处的字符。
    • substitute函数替换字符串中的指定的具体字符。

     

TRIM 去掉左右空格

  1. 语法

    TRIM(文本)

  2. 解释

    • 去掉文本前后的空格,但并不去除字符之间的空格。
    • 对于数字型单元格或数值的引用后,将改变“数值”为“文本”,在计算中无法统计,如果要计算,需要用VALUE函数转换成数字。
  3. 案例

    TRIM案例

 

LOWER 转小写

  1. 语法

    LOWER(文本字符串)

  2. 解释

    • 将一个文本字符串中的所有大写字母转换为小写字母。
    • 不会改变文本中的非字母字符。
  3. 案例

    LOWER案例

 

UPPER 转大写

  1. 语法

    UPPER(文本字符串)

  2. 解释

    • 将一个文本字符串中的所有小写字母转换为大写字母。
    • 不会改变文本中的非字母字符。
  3. 案例

    UPPER案例

 

REPT 重复字符

  1. 语法

    REPT(文本, 重复次数)

  2. 解释

    将文本重复一定的次数。

  3. 案例

    REPT案例

 

TEXT 文本格式

  1. 语法

    TEXT( 数值,文本格式 )

  2. 解释

    • 将数值转换为自己指定的文本格式;
    • 注意text函数会将数字转换为文本。
  3. 案例

    TEXT案例

  4. 常用格式

    数字单元格格式值TEXT(A,B)说明
    10G/通用格式10常规格式
    10.25000.0010.3小数点前面不够三位以0补齐,保留1位小数,不足一位以0补齐
    10.00####10没用的0一律不显示
    1.25300.##01.25小数点前不足两位以0补齐,保留两位,不足两位不补位
    1正数;负数;零正数大于0,显示为“正数”
    0 等于0,显示为“零”
    -1 负数小于0,显示为“负数”
    202204060000-00-002022-04-06按所示形式表示日期
    0000年00月00日 2022年04月06日 
    2022/4/6aaaa星期三显示为中文星期几全称
    2022/4/6aaa显示为中文星期几简称
    2022/4/6ddddWednesday显示为英文星期几全称
    93[>=90]优秀;[>=60]及格;不及格优秀大于等于90,显示为“优秀”
    67 及格大于等于60,小于90,显示为“及格”
    58 不及格小于60,显示为“不及格”
    125[DBNum1][$-804]G/通用格式一百二十五中文小写数字
    125[DBNum2][$-804]G/通用格式元整壹佰贰拾伍元整中文大写数字,并加入“元整”字尾
    125[DBNum3][$-804]G/通用格式1百2十5中文小写数字
    19[DBNum1][$-804]G/通用格式一十九中文小写数字,11-19无设置
    19[>20][DBNum1];[DBNum1]d十九11-显示为十一而不是一十一
    125360.00,K12.54K以千为单位
    12536#!.0000万元1.2536万元以万元为单位,保留4位小数
    12536#!.0,万元1.3万元以万元为单位,保留1位小数

     

VALUE 文本转数值

  1. 语法

    VALUE( 文本型数值 )

    将数字文本字符转换为数值。

  2. 解释

    • 文本型数值可以是任意的数字(整数和小数)、日期或时间格式。如果转换失败,则返回 #VALUE! 错误值 。
    • 通常不需要在公式中使用VALUE函数,Excel 可以自动在需要时将文本转换为数字。提供此函数是为了与其他电子表格程序兼容。
  3. 案例

    VALUE案例

 

T 仅转换文本

  1. 语法

    T( 值 )

    返回值引用的文字。

  2. 解释

    • 如果值是文字或引用文字,则 T 返回值。 如果值未引用文字,则 T 返回 ""(空文字)。
    • 由于 Microsoft Excel 会根据需要自动转换值,因此通常无需在公式中使用 T 函数。 提供此函数是为了与其他电子表格程序兼容。
  3. 案例

    T案例

 

 

 

(五)日期与时间

序列号

序列号图片

NOW 当前日期和时间

  1. 语法

    NOW( )

  2. 解释

    返回当前的日期和时间(或序列号),此函数没有参数。

  3. 案例

    NOW案例

     

TODAY 当前日期

  1. 语法

    TODAY()

  2. 解释

    返回当前的日期(或序列号),此函数没有参数。

  3. 案例

    TODAY案例

 

YEAR 年

  1. 语法

    YEAR(日期)

  2. 解释

    返回日期中的年份值,数值在1900~9999之间。

  3. 案例

    YEAR案例

MONTH 月

  1. 语法

    MONTH(日期)

  2. 解释

    返回日期中的月份值。

  3. 案例

    MONTH案例

DAY 日

  1. 语法

    DAY(日期)

  2. 解释

    返回日期中的天数。

  3. 案例

    DAY案例

     

HOUR 时

  1. 语法

    HOUR(时间)

  2. 解释

    返回时间中的小时数。

  3. 案例

    HOUR案例

 

MINUTE 分

  1. 语法

    MINUTE(时间)

  2. 解释

    返回时间中的分钟数。

  3. 案例

    MINUTE案例

 

SECOND 秒

  1. 语法

    SECOND(时间)

  2. 解释

    返回时间中的秒数。

  3. 案例

    SECOND案例

 

DATE

  1. 语法

    DATE("年","月","日")

  2. 解释

    返回指定日期的序列号。

    • 默认情况下,Microsoft Excel for Windows 使用 1900 日期系统,这意味着第一个日期是 1900 年 1 月 1 日。

    • 如果year介于 0(零)到 1899 之间(包含这两个值),则 Excel 会将该值与 1900 相加来计算年份。 例如,DATE(108,1,2) 返回 2008 年 1 月 2 日 (1900+108)。

    • 如果year介于 1900 到 9999 之间(包含这两个值),则 Excel 将使用该数值作为年份。 例如,DATE(2008,1,2) 将返回 2008 年 1 月 2 日。

    • 如果year小于 0 或大于 10000,Excel 将返回#NUM! 错误值。

    • 一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。

      • 如果 month 大于 12,则 month 会从指定年份的第一个月开始加上该月份数。 例如,DATE(2008,14,2) 返回表示 2009 年 2 月 2 日的序列数。
      • 如果 month 小于 1,则 month 会从指定年份的第一个月开始减去该月份数,然后再加上 1 个月。 例如,DATE(2008,-3,2) 返回表示 2007 年 9 月 2 日的序列号。
    • 一个正整数或负整数,表示一月中从 1 日到 31 日的各天。

      • 如果 day 大于指定月中的天数,则 day 会从该月的第一天开始加上该天数。 例如,DATE(2008,1,35) 返回表示 2008 年 2 月 4 日的序列数。
      • 如果 day 小于 1,则 day 从指定月份的第一天开始减去该天数,然后再加上 1 天。 例如,DATE(2008,1,-15) 返回表示 2007 年 12 月 16 日的序列号。
  3. 案例

    DATE案例

 

TIME 当前时间

  1. 语法

    TIME("时","分","秒")

  2. 解释

    • 返回指定时间的序列号,范围在 0(零)到 0.99988426 之间的值。
    • 小时 0(零)到 32767 之间的数字,代表小时。 任何大于 23 的值都会除以 24,余数将作为小时值。 例如,TIME(27,0,0) = TIME(3,0,0) = .125 或 3:00 AM。
    • 分钟 0 到 32767 之间的数字,代表分钟。 任何大于 59 的值将转换为小时和分钟。 例如,TIME(0,750,0) = TIME(12,30,0) = .520833 或 12:30 PM。
    • 0 到 32767 之间的数字,代表秒。 任何大于 59 的值将转换为小时、分钟和秒。 例如,TIME(0,0,2000) = TIME(0,33,22) = .023148 或 12:33:20 AM
  3. 案例

    TIME案例

 

WEEKDAY 星期

  1. 语法

    WEEKDAY(日期, 统计方式)

  2. 解释

    • 返回指定日期对应的星期(数字形式)。

    • 统计方式分为:

      1 返回数字1~7(星期日~星期六)默认

      2 返回数字1~7(星期一~星期日)

      3 返回数字0~6(星期一~星期日)

  3. 案例

    WEEKDAY案例

WORKDAY

  1. 语法

    WORKDAY( 起始日期, 工作日天数, [不包含的工作日] )

  2. 解释

    • 返回在某日期(起始日期)之前或之后、与该日期相隔指定工作日的某一日期的日期值。
    • 工作日不包括周末和专门指定的日期。
    • 第三个参数是可选的,包含需要从工作日历中排除的一个或多个日期。
  3. 案例

    计算2022/4/8在2个工作日后的日期,公式如下:

    WORKDAY案例

 

DATEVALUE

  1. 语法

    DATEVALUE(文本日期)

  2. 解释

    • 将存储为文本的日期转换为日期的序列号。
    • 日期必须介于1900-1-1至9999-12-31之间,否则返回#VALUE!错误值。
    • 大部分函数都会自动将日期值转换为序列数。
  3. 案例

    DATVALUE案例

 

TIMEVALUE

  1. 语法

    TIMEVALUE(文本时间)

  2. 解释

    • 将存储为文本的时间转换为时间的序列号。
    • 时间必须介于0:00:00 (0:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间,否则返回#VALUE!错误值。
  3. 案例

    TIMEVALUE案例

 

DAYS 相隔天数

  1. 语法

    DAYS( 结束日期,开始日期 )

  2. 解释

    计算两个日期之间的天数。

  3. 案例

    DAYS案例

 

NETWORKDAYS 相隔工作日天数

  1. 语法

    NETWORKDAYS( 结束日期,开始日期 ,[不包含的工作日])

  2. 解释

    • 计算两个日期之间的工作日天数。
    • 工作日不包括周末和专门指定的日期。
    • 第三个参数是可选的,包含需要从工作日历中排除的一个或多个日期。
  3. 案例

    NETWORKDAYS案例

 

DATEDIF 两个日期之间的相隔数

  1. 语法

    DATEDIF(开始日期,结束日期,返回的类型)

  2. 解释

    • 计算两个日期之间相隔的天数、月数或年数。
    • 返回类型: Y 相差的年数,M 相差的月数, D 相差的天数
    • 如果开始日期大于结束日期,则返回 #NUM!错误值。
  3. 案例

    DATEDIF案例

 

EDATE 相隔几个月的日期

  1. 语法

    EDATE(开始日期, 月份数)

  2. 解释

    • 计算指定日期相隔(之前或之后)几个月的序列号(日期)。
    • 月份数为正值生成未来日期;负值生成过去日期。
  3. 案例

    EDATE案例

 

EOMONTH 相隔几个月的最后一天

  1. 语法

    EOMONTH(开始日期, 月份数)

  2. 解释

    计算指定日期相隔(之前或之后)几个月的最后一天序列号(日期)。

  3. 案例

    EOMONTH案例

 

(六)查找与引用

INDEX 按索引找值

  1. 语法

    (1)INDEX(区域,行号,列号)

    返回区域中行列交叉处单元格的值或引用 。

    (2)INDEX(区域,行号或列号)

    当区域为一行一列的时候,可以允许为两个参数。

  2. 解释

    在一个区域中,根据指定的行、列号来返回内容。

    Excel中,index和match函数是一对完美搭档

  3. 案例

    例1:在A1:C3区域中第2行与第3列交叉处单元格的值,即C3单元格的值。

    INDEX案例1

    例2:在A1:C1区域中的第2个元素,即B1单元格的值。

    INDEX案例2

MATCH 查找值的位置

  1. 语法

    MATCH( 查找值 , 查找区域 , 匹配模式 )

  2. 解释

    • 返回查找值在查找区域中的相对位置。

    • 匹配模式

      三种模式:0 精确匹配;1 升序查找(省略时默认);-1 降序查找

      1 查找小于或等于查找值的最大数值;查找区域必须按升序排列。

      0 查找等于查找值的第一个数值;查找区域可以按任何顺序排列。

      -1 查找大于或等于查找值的最小数值;查找区域 必须按降序排列。

    • 注意事项

      (1)查找文本值时,函数 MATCH 不区分大小写字母。

      (2)查找区域不能是多行多列,只能是数组或一行或一列

(3)如果查找匹配不成功,则返回错误值 #N/A。

(4)如果匹配模式为 0 ,并且查找值为文本,可以在 查找的值 参数中使用通配符(问号 (?) 和星号 (*))。问号匹配任意单个字符;星号匹配任意一串字符。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。

  1. 案例

    • 例1,精确查找 0、无序

    第三参数为0,表示精确查找字母”A”在数组中第一次出现的位置2,忽略之后的出现,且数组无需排序。

    MATCH案例1

    • 例2,升序查找 1、升序

    第三参数为1(也可省略),其中数组要求按升序排列,表示查找出小于或等于6的最大值(即数组中的5)在第3个元素位置。

    MATCH案例2

    • 例3,降序查找 -1、降序

    第三参数为-1,其中数组要求按降序排列,表示查找出大于或等于6的最小值(即数组中的7)在第2个元素位置。

    MATCH案例3

 

VLOOKUP 查找匹配

  1. 语法

    VLOOKUP(查找值, 查找区域, 返回查找区域第几列, 匹配模式)

  2. 解释

    (1)查找值:要查找的值或单元格引用;

    (2)查找区域:包含查找字段和返回字段的单元格区域,查找值必须在查找区域的第 1 列

    (3)返回值所在列数:返回值在查找区域中的列数(第几列);

    (4)匹配模式:0 或 False 为精确匹配,1 或 True 为模糊匹配;

  3. 案例

    • 例1,精确查找 0

    根据左表,查找出右表中学生的数学成绩。

    VLOOKUP案例1

    • 例2,模糊查找 1

    根据左表分类等级,计算出右表中各分数的等级。

    VLOOKUP案例2

ROW 行号

  1. 语法

    ROW([reference])

    返回引用的行号,从1开始的整数。

  2. 解释

    Reference 可选。 需要得到其行号的单元格或单元格区域。

    • 如果省略 reference,则假定是对函数 ROW 所在单元格的引用,即公式所在的行。
    • 如果 reference 为一个单元格区域,并且 ROW 作为垂直数组输入,则 ROW 将以垂直数组的形式返回 reference 的行号。
    • Reference 不能引用多个区域。
  3. 案例

    ROW案例1

    ROW案例2

COLUMN 列号

  1. 语法

    COLUMN([reference])

    返回引用的列号,从1开始的整数。

  2. 解释

    Reference 可选。 需要得到其列号的单元格或单元格区域。

    • 如果省略参数 reference 或该参数为一个单元格区域,并且 COLUMN 函数是以水平数组公式的形式输入的,则 COLUMN 函数将以水平数组的形式返回参数 reference 的列号。
    • 如果参数 reference 为一个单元格区域,并且 COLUMN 函数不是以水平数组公式的形式输入的,则 COLUMN 函数将返回最左侧列的列号。
    • 如果省略参数 reference,则假定该参数为对 COLUMN 函数所在单元格的引用。
    • 参数 reference 不能引用多个区域。
  3. 案例

    COLUMN案例

ADDRESS 地址

  1. 语法

    ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

  2. 解释

    根据指定行号和列号获得工作表中的某个单元格的地址。

    • row_num 必需。 一个数值,指定要在单元格引用中使用的行号

    • column_num 必需。 一个数值,指定要在单元格引用中使用的列号

    • abs_num 可选。 一个数值,指定要返回的引用类型。

      • 1 或省略 绝对行列
      • 2 绝对行,相对列
      • 3 相对行,绝对列
      • 4 相对行列
    • A1 可选。 一个逻辑值,指定 A1 或 R1C1 引用样式。

    • sheet_text 可选。 一个文本值,指定要用作外部引用的工作表的名称。

  3. 案例

    ADDRESS案例

INDIRECT 间接引用

  1. 语法

    INDIRECT(ref_text, [a1])

  2. 解释

    返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。

    • Ref_text 必需。 对包含 A1 样式引用、R1C1 样式引用、定义为引用的名称或作为文本字符串对单元格的引用的单元格的引用。 如果ref_text不是有效的单元格引用,则 INDIRECT 返回#REF! 错误值。

      • 如果ref_text引用外部引用 (工作簿) ,则必须打开另一个工作簿。 如果源工作簿未打开,INDIRECT 返回#REF! 错误值。

        注意 Web 应用中不支持Excel引用。

      • 如果ref_text单元格区域超出行限制 1,048,576 或列限制 16,384 (XFD) ,INDIRECT 返回 #REF! 错误。

        注意 此行为与早于 Excel 的版本不同, Microsoft Office Excel 2007 忽略超出的限制并返回值。

    • A1 可选。 一个逻辑值,用于指定包含在单元格 ref_text 中的引用的类型。

      • 如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
      • 如果 a1 为 FALSE,则将 ref_text 解释为 R1C1 样式的引用。

    示例

  3. 案例

    INDIRECT案例

CHOOSE 选择指定位置的值

  1. 语法

    CHOOSE(index_num, value1, [value2], ...)

  2. 解释

    • index_num 必需。 用于指定所选定的数值参数。 index_num 必须是介于 1 到 254 之间的数字,或是包含 1 到 254 之间的数字的公式或单元格引用。

      • 如果 index_num 为 1,则 CHOOSE 返回 value1;如果为 2,则 CHOOSE 返回 value2,以此类推。
      • 如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 返回 #VALUE! 错误值。
      • 如果 index_num 为小数,则在使用前将被截尾取整。
    • value1, value2, ... Value1 是必需的,后续值是可选的。 1 到 254 个数值参数,CHOOSE 将根据 index_num 从中选择一个数值或一项要执行的操作。 参数可以是数字、单元格引用、定义的名称、公式、函数或文本。

  3. 案例

    CHOOSE案例

OFFSET 偏移位置

  1. 语法

    OFFSET(reference, rows, cols, [height], [width])

    OFFSET(参考点单元格,偏移行数,偏移列数,行高,列宽)

  2. 解释

    返回对单元格或单元格区域中指定行数和列数的区域的引用。

    返回的引用可以是单个单元格或单元格区域。 可以指定要返回的行数和列数。

    • Reference 必需。 要基于偏移量的引用。 引用必须引用单元格或相邻单元格区域;否则,OFFSET 返回#VALUE! 错误值。
    • Rows 必需。 需要左上角单元格引用的向上或向下行数。 使用 5 作为 rows 参数,可指定引用中的左上角单元格为引用下方的 5 行。 Rows 可为正数(这意味着在起始引用的下方)或负数(这意味着在起始引用的上方)。
    • Cols 必需。 需要结果的左上角单元格引用的从左到右的列数。 使用 5 作为 cols 参数,可指定引用中的左上角单元格为引用右方的 5 列。 Cols 可为正数(这意味着在起始引用的右侧)或负数(这意味着在起始引用的左侧)。
    • 高度 可选。 需要返回的引用的行高。 Height 必须为正数。
    • 宽度 可选。 需要返回的引用的列宽。 Width 必须为正数。
  3. 案例

    例1,引用单元格

    从A1单元格下移2行,再下移2列,即C3单元格。

    OFFSET案例1

    例2,引用区域

    从A3单元格上移2行0列(A1单元格),2行3列区域(A1:C3)。

    OFFSET案例2

 

TRANSPOSE 转置

  1. 语法

    TRANSPOSE(区域)

  2. 解释

    返回转置单元格区域,即将行单元格区域转置成列单元格区域,反之亦然。

  3. 案例

    将A1:B3区域数值,行列互换转置到D1:F2区域。

    • 步骤1,选择转置后的区域D1:F2;
    • 步骤2,在编辑栏输入公式=transpose;
    • 步骤3,设置要转置的区域A1:A3;
    • 步骤4,按下Ctrl+Shift+Enter结束数组公式,得到转置结果。公式外侧自动添加了花括号。

    TRANSPOSE案例

HYPERLINK 超连接

  1. 语法

    HYPERLINK (link_location,[friendly_name])

    HYPERLINK (跳转地址,显示的文本)

  2. 解释

    创建一个快捷方式,用于跳转到当前工作簿中的另一个位置,或打开存储在网络服务器、 intranet 或 Internet 上的文档。

    • Link_location 必需。 要打开的文档的路径和文件名。 Link_location 可以指向文档中的某个更为具体的位置 ,如 Excel 工作表或工作簿中特定的单元格或命名区域,或是指向 Microsoft Word 文档中的书签。 路径可以是存储在硬盘驱动器上的文件。 路径还可以是 Microsoft Excel 中服务器 (上的通用命名约定 (UNC) Windows) 路径,或者是 Internet 或 Intranet 上的统一资源定位符 (URL) 路径。

      如果在单元格中指定的跳转link_location不存在或无法导航,则单击单元格时会出现错误。

    • Friendly_name 可选。 单元格中显示的跳转文本或数字值。 Friendly_name 显示为蓝色并带有下划线。 如果省略 Friendly_name,单元格会将 link_location 显示为跳转文本。

      Friendly_name 可以为数值、文本字符串、名称或包含跳转文本或数值的单元格。

      如果 Friendly_name 返回错误值(例如,#VALUE!),单元格将显示错误值以替代跳转文本。

  3. 案例

    HYPERLINK案例

HLOOKUP 查找匹配

vlookup是垂直方向的判断,如果是水平方向的判断可使用Hlookup函数。

  1. 语法

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

    HLOOKUP(查找值,查找区域,行号,匹配模式)

  2. 解释

    • Lookup_value 必需。 要在表格的第一行中查找的值。 Lookup_value 可以是数值、引用或文本字符串。

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

      • Table_array 的第一行的数值可以为文本、数字或逻辑值。
      • 如果 range_lookup 为 TRUE,则 table_array 的第一行的数值必须按升序排列:...-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,HLOOKUP 将不能给出正确的数值。 如果 range_lookup 为 FALSE,则 table_array 不必进行排序。
      • 文本不区分大小写。
      • 将数值从左到右按升序排序。 有关详细信息,请参阅对区域或表中的数据排序
    • Row_index_num 必需。 行号table_array匹配值将返回的行号。 如果row_index_num为 1,则返回 table_array 中的第一行值,row_index_num 2 返回 table_array 中的第二行值,以此类比。 如果row_index_num小于 1,则 HLOOKUP 返回#VALUE! 错误值;如果row_index_num大于行数,则 HLOOKUP table_array返回#REF! 错误值。

    • Range_lookup 可选。 一个逻辑值,指定希望 HLOOKUP 查找精确匹配值还是近似匹配值。 如果为 TRUE 或省略,则返回近似匹配值。 换言之,如果找不到精确匹配值,则返回小于 lookup_value 的最大值。 如果为 False,则 HLOOKUP 将查找精确匹配值。 如果找不到精确匹配值,则返回错误值 #N/A。

    备注

  3. 案例

    HLOOKUP案例

     

     

     

(七)信息类

CELL 单元格信息

  1. 语法

    CELL(info_type, [reference])

  2. 解释

    返回有关单元格的格式、位置或内容的信息。

    • info_type 必需,一个文本值,指定要返回的单元格信息的类型。 下面的列表显示了 Info_type 参数的可能值及相应的结果。

    • reference 可选,需要其相关信息的单元格。

      • 如果省略,则为计算时info_type单元格返回参数中指定的信息。
      • 如果 reference 参数是单元格区域,则 CELL 函数返回所选区域的活动单元格的信息。
      info_type返回结果
      “address”引用中第一个单元格的引用,文本类型。
      “col”引用中单元格的列标。
      “color”如果单元格中的负值以不同颜色显示,则为值 1;否则,返回 0(零)。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      "contents"引用中左上角单元格的值:不是公式。
      "filename"包含引用的文件名(包括全部路径),文本类型。 如果包含目标引用的工作表尚未保存,则返回空文本 ("")。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      “format”对应于单元格数字格式的文本值。 下表显示了各种格式的文本值。 如果单元格为负值设置颜色格式,则返回文本值末尾的"-"。 如果单元格 () 正值或所有值的括号,则返回文本值末尾的" () "。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      “parentheses”如果单元格中为正值或所有单元格均加括号,则为值 1;否则返回 0。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      “prefix”与单元格中的“前置标签”相对应的文本值。 如果单元格文本左对齐,则返回单引号 (');如果单元格文本右对齐,则返回双引号 (");如果单元格文本居中,则返回插入字符 (^);如果单元格文本两端对齐,则返回反斜线 ();如果是其他情况,则返回空文本 ("")。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      “protect”如果单元格没有锁定,则为值 0;如果单元格锁定,则返回 1。注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
      “row”引用中单元格的行号。
      “type”对应于单元格中数据类型的文本值。 如果单元格为空,则返回"b"表示空白;如果单元格包含文本常量,则返回"l"表示标签;如果单元格包含任何其他内容,则返回"v"作为值。
      “width”返回包含 2 个项的数组。数组的第一项是单元格的列宽,四舍五入为整数。 列宽以默认字号的一个字符的宽度为单位。数组的第二项是布尔值,如果列宽为默认值,则值为 TRUE;如果用户显式设置了宽度,则值为 FALSE。 注意: Excel 网页版 、Excel Mobile 和 Excel Starter 中不支持此值。
  3. 案例

    CELL案例

INFO 信息

  1. 语法

    INFO(type_text)

  2. 解释

    返回有关当前操作环境的信息。

    Type_text 必需。 用于指定要返回的信息类型的文本。

    Type_text返回结果
    "directory"当前目录或文件夹的路径。
    "numfile"打开的工作簿中的工作表数。
    "origin"以当前滚动位置为基准,返回窗口中可见的左上角单元格的绝对单元格引用,如带前缀“$A:”的文本。 此值与 Lotus 1-2-3 3.x 版兼容。 返回的实际值取决于当前的引用样式设置。 以 D9 为例,返回值为:A1 引用样式 "$A:$D$9"R1C1 引用样式 "$A:R9C4"
    "osversion"当前操作系统的版本号,文本值。
    "recalc"当前的重新计算模式,返回“自动”或“手动”。
    "release"Microsoft Excel 的版本号,文本值。
    "system"操作环境的名称: Macintosh = "mac" , Windows = "pcdos"
  3. 案例

    INFO案例

ISBLANK 单元格是否为空

  1. 语法

    ISBLANK(value)

  2. 解释

    • 检查是否引用了空单元格,返回TRUE或FALSE。
    • 如果参数value引用了空单元格,将返回TRUE,否则将返回FALSE。
  3. 案例

    ISBLANK案例

ISNA 是否“#N/A”错误

  1. 语法

    ISNA(value)

  2. 解释

    判断一个值是否为#N/A,返回 TRUE 或 FALSE。

  3. 案例

    ISNA案例

ISERR 是否“#N/A”之外的错误

  1. 语法

    ISERR(value)

  2. 解释

    检查一个值是否为#N/A以外的错误(#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、 #NULL!),返回 TRUE 或 FALSE。

  3. 案例

    ISNA案例

ISERROR 是否错误值

  1. 语法

    ISERROE(expression)

  2. 解释

    • 判断是否错误值,若参数(expression)错误,则函数返回TRUE,否则返回FALSE。

    • Excel中有七种错误类型

      #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、 #NULL!

  3. 案例

    ISERROR案例

ISEVEN 是否偶数

  1. 语法

    ISEVEN(number)

  2. 解释

    这是一个偶数判断函数,如果参数 number 为偶数,返回 TRUE,否则返回 FALSE。

  3. 案例

    ISEVEN案例

ISODD 是否奇数

  1. 语法

    ISODD(number)

  2. 解释

    这是一个奇数判断函数,如果参数 number 为奇数,返回 TRUE,否则返回 FALSE。

  3. 案例

    ISODD案例

ISTEXT 是否文本

  1. 语法

    ISTEXT(value)

  2. 解释

    检测一个值是否文本,如果参数value是文本,返回 TRUE,否则返回 FALSE。

  3. 案例

    ISTEXT案例

ISNONTEXT 是否非文本

  1. 语法

    ISTEXT(value)

  2. 解释

    检测一个值是否不是文本(空单元格不是文本),如果参数value不是文本,返回 TRUE,否则返回 FALSE。

  3. 案例

    ISTEXT案例

ISNUMBER 是否数值

  1. 语法

    ISNUMBER(value)

  2. 解释

    • 检测一个值是否数值,如果参数value是数值,返回 TRUE,否则返回 FALSE。
    • 日期和时间也是一种特殊的数值,Excel没有提供一个判断日期的函数。
  3. 案例

    ISNUMBER案例

ISREF 是否引用

  1. 语法

    ISREF(value)

  2. 解释

    检测一个值是否引用,返回TRUE 或 FALSE

  3. 案例

    ISREF案例

ISLOGICAL 是否逻辑值

  1. 语法

    ISLOGICAL(value)

  2. 解释

    检测一个值是否逻辑值(TRUE / FALSE),返回TRUE 或 FALSE

  3. 案例

    ISLOGCAL案例

N 转为数值

  1. 语法

    N(value)

  2. 解释

    将value转化为数值,与T函数(文本)用法类似。

    数值或引用N 返回值
    数字该数字
    日期(Microsoft Excel 的一种内部日期格式)该日期的序列号
    TRUE1
    FALSE0
    错误值,例如 #DIV/0!错误值
    其他值0
  3. 案例

    N案例

TYPE 类型

  1. 语法

    TYPE(value)

  2. 解释

    以整数的形式返回数据的类型。

    数字 1 ;文本 2;逻辑值 4;错误值 16;数组 64 。

  3. 案例

    TYPE案例

     

ERROR.TYPE 错误值对应数字

  1. 语法

    ERROR.TYPE(error_val)

  2. 解释

    返回与错误值对应的数字。

    错误类型返回的代号
    #NULL!1
    #DIV/0!2
    #VALUE!3
    #REF!4
    #NAME?5
    #NUM!6
    #N/A7
    其他#N/A
  3. 案例

    ERROR.TYPE案例

     

(八)数学类

SUM 求和

  1. 语法

    SUM(区域1, 区域2, ......)

  2. 解释

    将单个值、单元格引用或是区域相加,或者将三者的组合相加。

  3. 案例

    SUM案例

 

SUMIF 单条件求和

  1. 语法

    SUMIF(区域,求和条件,[实际求和区域] )

  2. 解释

    对区域中符合指定条件的值求和。

    • 条件中可以使用通配符字符 :问号(?)以匹配任意单个字符,星号(*)以匹配任意字符序列;如果要查找实际的问号或星号,请在该字符前键入波形符(~)。

      例如:可以表示为 32、“>32”、B5、“3?”、“苹果”、“~?”

    • 注意:任何文本条件或任何含有逻辑或数学符号的条件都必须使用双引号 (") 括起来。 如果条件为数字,则无需使用双引号。

    • 第三个参数是可选的,若省略时,条件区域与求和区域必须包含相同的行数和列数。

    • 当数据上万条时,手动拖动选中时很麻烦,可以通过ctrl+shift+↓选中。

  3. 案例

    • 例1,在A1:C2区域中,大于5的值求和。

    SUMIF-1案例

     

    • 例2,计算男生的总分数。

    SUMIF-2案例

 

SUMIFS 多条件求和

  1. 语法

    SUMIFS( 求和区域 , 条件区域1 , 条件1, 条件区域2 , 条件2, ......)

  2. 解释

    • 计算其满足多个条件的全部参数的总量。
    • 条件区域与求和区域必须包含相同的行数和列数。
  3. 案例

    计算一班中男生的总分数。

    SUMIFS案例

 

ROUND 四舍五入

  1. 语法

    ROUND( 数字,位数 )

  2. 解释

    将数字四舍五入到指定的位数。

    • 如果位数大于 0(零),则将数字四舍五入到指定的小数位数。
    • 如果位数等于 0,则将数字四舍五入到最接近的整数。
    • 如果 位数小于 0,则将数字四舍五入到小数点左边的相应位数。
  3. 案例

    ROUND案例

 

ROUNDDOWN 向下舍入

  1. 语法

    ROUNDDOWN(数值,位数)

  2. 解释

    朝着零的方向将数值进行向下舍入。可以理解为,对多余的数字部分直接丢弃。

    • 如果位数大于0(零),则将数字向下舍入到指定的小数位数。
    • 如果位数为0,则将数字向下舍入到最接近的整数。
    • 如果位数小于0,则将数字向下舍入到小数点左边的相应位数。
  3. 案例

    ROUNDDOWN案例

 

ROUNDUP 向上舍入

  1. 语法

    ROUNDUP( 数字,位数 )

  2. 解释

    朝着远离 0(零)的方向将数字进行向上舍入。

    • 如果位数大于 0(零),则将数字向上舍入到指定的小数位数。
    • 如果位数为 0,则将数字向上舍入到最接近的整数。
    • 如果位数小于 0,则将数字向上舍入到小数点左边的相应位数。
  3. 案例

    ROUNDUP案例

 

ABS 绝对值

  1. 语法

    ABS(数字)

  2. 解释

    返回数字的绝对值。

  3. 案例

    ABS案例

INT 向下取整

  1. 语法

    INT(数字)

  2. 解释

    将数字向下舍入到最接近的整数。

  3. 案例

    INT案例

MOD 求余数

  1. 语法

    MOD( 被除数, 除数 )

  2. 解释

    返回两数相除的余数。 结果的符号与除数相同。

  3. 案例

    MOD案例

     

RAND 0~1随机数

  1. 语法

    RAND()

  2. 解释

    返回一个大于等于 0 且小于 1 的平均分布的随机实数(0≤ X<1)。

    • 若要生成 a 与 b 之间的随机实数: RAND()*(b-a)+a
    • 按 F9 将更改一次随机数。
  3. 案例

    RAND案例

 

RANDBETWEEN 两个数之间的随机数

  1. 语法

    RANDBETWEEN( 最小整数, 最大整数 )

  2. 解释

    返回位于两个指定数之间的一个随机整数( a ≤ X ≤ b )。

  3. 案例

    RANDBETWEEN案例

 

SUMPRODUCT 数组相乘求和

  1. 语法

    SUMPRODUCT (数组1, [数组2], [数组3], ...)

  2. 解释

    在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

    • 数组参数必须具有相同的维数(相同的行和列),否则返回 #VALUE!错误值。
    • 函数将非数值型的数组元素作为 0 处理,True看作为1,False看作为0(零)。
    • 默认操作是乘法,但也可以执行加减除运算;也就是将分隔数组参数的逗号替换为所需的算术运算符 (*、/、+、-) , 执行所有操作后,结果将像往常一样进行求和。
  3. 案例

    例1,参数只有一个数组时,即对数组{1;2;3;4}进行求和。

    SUMPRODUCT案例1

    例2,参数为两个数组时,两个数组的所有元素对应相乘。三个及以上参数也是类似的计算。

    SUMPRODUCT案例2

    例3,计算苹果的销售总金额

    第1个数组(A2:A5= "苹果" ) 计算后得到 {True,False,True,False},相当于{1;0;1;0},再进行数组对应各个元素相乘,最后求和。

    SUMPRODUCT案例3

 

SUBTOTAL 分类汇总

  1. 语法

    SUBTOTAL( 指定函数的数字, 区域1, [区域2], ...... )

  2. 解释

    返回列表或数据库中的分类汇总。

    • 数字 1-11 (包括手动隐藏的行) 或 101-111(忽略手动隐藏的行),用于指定要为分类汇总使用的函数。
    • 此函数适用于数据列或垂直区域,不适用于数据行或水平区域。
    Function_num (包括隐藏的行)Function_num (忽略隐藏的行)函数
    1101AVERAGE
    2102COUNT
    3103COUNTA
    4104MAX
    5105MIN
    6106PRODUCT
    7107STDEV
    8108STDEVP
    9109SUM
    10110VAR
    11111VARP
  3. 案例

    SUBTOTAL案例

 

FLOOR 向下舍入

  1. 语法

    FLOOR(数值,舍入的倍数)

  2. 解释

    将指定数值向下舍入(沿绝对值减小的方向)为最接近的舍入的倍数。

    • 如果任一参数是非数字的,则 FLOOR 返回#VALUE! 错误值。

    • 如果参数1为正,参数2为负,则 FLOOR 返回#NUM! 错误值。

    • (1)如果参数1的符号为正,则数值向下舍入,并朝零调整。

      (2)如果参数1的符号为负,则数值沿绝对值减小的方向向下舍入。

      (3)如果参数1正好是参数2的倍数,则不进行舍入。

  3. 案例

    以公式“=FLOOR(11,2)”为例,11除以2等于5.5,最接近11的2的向下倍数是10,所以,返回结果为10。

    FLOOR案例

 

POWER 乘幂

  1. 语法

    POWER(number,power)

  2. 解释

    返回给定数字的乘幂(a^n),也可以使用“^”代替 POWER,例如 5^2

    • number 必需。 基数。 可为任意实数。
    • power 必需。 基数乘幂运算的指数。
    • 两个参数可以是任意实数,当参数power的值为小数时,表示计算的是开方;当参数number取值小于0且参数power为小数时,POWER函数将返回#NUM!错误值。

       

  3. 案例

    POWER案例

 

SQRT 平方根

  1. 语法

    SQRT(number)

  2. 解释

    返回正的平方根。

    • Number 必需。 要计算其平方根的数字。
    • 如果 number 为负数,则 SQRT 返回#NUM! 错误值。
  3. 案例

SQRT案例

 

LOG 对数

  1. 语法

    LOG(number, [base])

  2. 解释

    根据指定底数返回数字的对数。

    • number 必需。 想要计算其对数的正实数。
    • base 可选。 对数的底数。 如果省略 base,则假定其值为 10
  3. 案例

    LOG案例

 

PRODUCT 乘

  1. 语法

    PRODUCT(参数1,参数2,......)

  2. 解释

    • 计算参数的所有数字的乘积。

    • 参数是指要相乘的数字或单元格区域。

    • 当需要将多个单元格相乘时 ,此函数非常有用。

      例如,公式=PRODUCT (A1:A3,C1:C3)

      等效于=A1 * A2 * A3 * C1 * C2 * C3

  3. 案例

    PRODUCT案例

 

QUOTIENT 除

  1. 语法

    QUOTIENT(被除数, 除数)

  2. 解释

    返回除法的整数部分。如果要放弃除法的余数时,可使用此函数。

    • 如果任一参数是非数字的,则 返回#VALUE! 错误值。
    • 如果要对数值进行除法,应该使用"/"运算符。例如,公式=5/2,返回2.5
  3. 案例

    QUOTIENT案例

 

GCD 最大公约数

  1. 语法

    GCD(number1, [number2], ...)

  2. 解释

    返回两个或多个整数的最大公约数。

    • 最大公约数是能够同时整除 number1 和 number2 而没有余数的最大整数。
    • number1, number2, ... ,其中Number1 是必需的,后续参数是可选的。 如果值不是整数,将被截尾取整。
  3. 案例

    GCD案例

 

LCM 最小公倍数

  1. 语法

    LCM(number1, [number2], ...)

  2. 解释

    返回整数的最小公倍数。

    • 最小公倍数是所有整数参数 number1、number2 等的倍数中的最小正整数。
    • number1, number2, ... 其中Number1 是必需的,后续参数是可选的。 如果值不是整数,将被截尾取整。
    • 如果任一参数是非数字的,则 LCM 返回#VALUE! 错误值。
    • 如果任一参数小于零,LCM 返回#NUM! 错误值。
  3. 案例

    LCM案例

 

SIN 正弦

  1. 语法

    SIN(number)

  2. 解释

    • 返回指定角的正弦值,是一个双精度数(Double值)。
    • number表示角度的有效数字。
  3. 案例

    SIN案例

 

COS 余弦

  1. 语法

    COS(number)

  2. 解释

    • 返回指定角的余弦值,是一个双精度数(Double值)。
    • number表示角度的有效数字。
  3. 案例

    COS案例

 

PI 函数

  1. 语法

    PI()

  2. 解释

    返回数字 3.14159265358979(数学常量 pi),精确到 15 个数字。

  3. 案例

    PI案例

SIGN 函数

  1. 语法

    SIGN(number)

  2. 解释 确定数字的符号。 如果数字为正数,则返回 1;如果数字为 0,则返回零 (0);如果数字为负数,则返回 -1。

  3. 案例

    SIGN案例

 

(九)财务类

PMT 每期付款金额

  1. 语法

    PMT(rate,nper,pv,[fv],[type])

    PMT(利率, 付款总期数, 现值, [终值], [是否期初支付])

  2. 解释

    在固定利率和等额分期付款方式下,计算贷款的每期付款额。

    • rate利率:贷款利率,看其贷款机构是年利率还是月利率,其单位长度应与支付总期数一致(如按月支付为月利率,按年支付需要换成年利率)

    • nper付款总期数:分期时长,付款总次数;

    • pv现值:即本金(贷款总额)

    • fv终值:可选,可以理解为最后一次付款后希望得到的现金余额(计算贷款时无需填写)

      若忽略,默认为0

    • type是否期初支付:可选,是否在第一期开始支付

      0/省略=False,1=True

  3. 案例

    因利率与期数要单位一致,因为期数是按月,因此年利率需除以12

    PMT案例

PV 投资现值

  1. 语法

    PV(rate, nper, pmt, [fv], [type])。

    PV(利率, 付款总期数, 每期付款金额, [终值], [是否期初支付])

  2. 解释

    根据固定利率计算贷款或投资的现值。现值为一系列未来付款的当前值的累积和。

  3. 案例

    PV案例

 

NPV 投资净现值

  1. 语法

    NPV(rate,value1,[value2],...)

    NPV(贴现率, 支出,收入,...)

  2. 解释

    使用贴现率和一系列未来支出(负值)和收益(正值)来计算一项投资的净现值。

    value1, value2, ... Value1 是必需的,后续值是可选的。 这些是代表支出及收入的 1 到 254 个参数。

    • Value1, value2, ...在时间上必须具有相等间隔,并且都发生在期末。

    • NPV 使用 value1, value2,... 的顺序来说明现金流的顺序。 一定要按正确的顺序输入支出值和收益值。

    • 计算原理公式:

      npv(r,a,b,c,d,...)=a/(1-r )^1+b/(1-r)^2+c/(1-r)^3+d/(1-r)^4+......

      NPV案例

  3. 案例

    假设某投资者有50万的货币资金,想投资某一项目,现在可以估算出每年的收益,假设年贴现率为10%,计算十年后能否回本。

    NPV案例

     

    NPV案例

    经济意义

    • NPV>0表示项目实施完成后,除保证可实现预定的收益率外,尚可获得更高的收益。
    • NPV<0表示项目实施完成后,未能达到预定的收益率水平,而不能确定项目已亏损。
    • NPV=0表示项目实施完成后的投资收益率正好达到预期,而不是投资项目盈亏平衡。
  4. NPV 函数与PV函数主要区别

    • PV 既允许现金流在期末开始也允许现金流在期初开始。
    • 与可变的 NPV 的现金流值不同,PV 现金流在整个投资中必须是固定的。

 

FV 投资未来值

  1. 语法

    FV(rate, nper, pmt, [pv], [type])

    FV(利率, 总周期数, 每期付款额, [终值], [是否期初支付])

  2. 解释

    在固定利率和等额分期付款方式的某项投资的未来值。

  3. 案例

    FV案例

NPER 投资周期数

  1. 语法

    NPER(rate,pmt,pv,[fv],[type])

    NPER(利率, 每期支付金额, 投资现值, [终值], [是否期初支付])

  2. 解释

    基于固定利率及等额分期付款方式,返回某项投资的总期数。

  3. 案例

    NPER案例

 

RATE 每个期间利率

  1. 语法

    RATE(nper,pmt,pv,[fv],[type],[guess])

    RATE(总周期数, 每期付款金额, 现值)

  2. 解释

    基于等额分期付款的方式,返回某项投资或贷款的实际利率。

  3. 案例

    RATE案例

EFFECT 实际年利息率

  1. 语法

    EFFECT(nominal_rate,npery)

    EFFECT(名义利率, 每年的复利期数)

  2. 解释

    基于给定的名义年利率和每年的复利期数,计算有效年利率。

  3. 案例

    EFFECT案例

VDB 可变余额递减法折旧

  1. 语法

    VDB(cost, salvage, life, start_period, end_period, [factor],[no_switch])

  2. 解释

    使用双倍余额递减法或其他指定方法,返回一笔资产在给定期间(包括部分期间)内的折旧值。 函数 VDB 代表可变余额递减法。

    • Cost 必需。 资产原值。

    • Salvage 必需。 折旧末尾时的值(有时也称为资产残值)。 该值可以是 0。

    • Life 必需。 资产的折旧期数(有时也称作资产的使用寿命)。

    • Start_period 必需。 您要计算折旧的起始时期。 Start_period 必须与 life 使用相同的单位。

    • End_period 必需。 您要计算折旧的终止时期。 End_period 必须与 life 使用相同的单位。

    • Factor 可选。 余额递减速率。 如果省略影响因素,则假定为 2(双倍余额递减法)。 如果不想使用双倍余额递减法,请更改余额递减速率。 有关双倍余额递减法的说明,请参阅 DDB。

    • No_switch 可选。 逻辑值,指定当折旧值大于余额递减计算值时,是否转用直线折旧法。

      • 如果 no_switch 为 TRUE,即使折旧值大于余额递减计算值,Microsoft Excel 也不转用直线折旧法。
      • 如果 no_switch 为 FALSE 或被忽略,且折旧值大于余额递减计算值时,Excel 将转用线性折旧法。

      注意:除 no_switch 外的所有参数必须为正数。

  3. 案例

    VDB案例

SLN 直线折旧

  1. 语法

    SLN(cost, salvage, life)

  2. 解释

    返回一个期间内的资产的直线折旧。

    • Cost 必需。 资产原值。
    • Salvage 必需。 折旧末尾时的值(有时也称为资产残值)。
    • Life 必需。 资产的折旧期数(有时也称作资产的使用寿命)。
  3. 案例

    SLN案例

DDB 双倍余额递减法折旧

  1. 语法

    DDB(cost, salvage, life, period, [factor])

  2. 解释

    用双倍余额递减法或其他指定方法,返回指定期间内某项固定资产的折旧值。

    • Cost 必需。 资产原值。
    • Salvage 必需。 折旧末尾时的值(有时也称为资产残值)。 该值可以是 0。
    • Life 必需。 资产的折旧期数(有时也称作资产的使用寿命)。
    • Period 必需。 您要计算折旧的时期。 Period 必须使用与 life 相同的单位。
    • Factor 可选。 余额递减速率。 如果省略影响因素,则假定为 2(双倍余额递减法)。

    注意,这5个参数都必须是正数。

    双倍余额递减法以加速的比率计算折旧。 折旧在第一阶段是最高的,在后继阶段中会减少。

  3. 案例

    DDB案例

SYD 年限总和折旧

  1. 语法

    SYD(cost, salvage, life, per)

  2. 解释

    在指定期间内资产按年限总和折旧法计算的折旧。

    可以理解为,某项资产采用年限折旧法实现折旧,如果我们准备计算折旧过程中某个时间点的折旧值,可以使用SYD函数。

    • Cost 必需。 资产原值。
    • Salvage 必需。 折旧末尾时的值(有时也称为资产残值)。
    • Life 必需。 资产的折旧期数(有时也称作资产的使用寿命)。
    • per 必需。 期间,必须与 life 使用相同的单位。
  3. 案例

    SYD案例

 

(十)其它

XXXX 中文

  1. 语法

     

  2. 解释

     

  3. 案例

    XXX案例

     

 

#

 

二、综合案例

 

IF函数多个条件案例

通常在使用IF判断的时候,单一判断某个算式符合某个条件,但是当我们要判断多个条件呢?

这时,嵌套使用AND或者OR函数,就可以进行多条件的判断。

例1:语文和数学都大于80分者为优秀

IF与AND案例

例2:语文、数学其中任意一科小于60分者为差

IF与OR案例

 

IF和MAX函数计算迟到时间

上班时间为8:00,那么如何计算迟到时间呢?

IF与MAX案例

 

MAX函数计算个人所得税

用Max函数计算个人所得税,简单一点吧,假定1000元以下不征税,1000-2000元,超出1000元的部分按1%征税,2000-5000元,超出2000元的总分按2%征税,还要加上2000元的额定税(2000-1000)*1%=10元;5000元以上,超出5000元的部分按5%征税,同时加上2000元的额定税50元。

MAX综合案例

FREQUENCY函数三种玩法

FREQUENCY会自动的文本与空白单元额忽略掉,并且在进行数据统计的数据,会自动的根据第二参数的【分割点】来对第一参数【统计区域】进行升序排序

计算最大连续次数

我们想要计算A列中字母的最大连续次数

FREQUENCY综合案例-最大连续次数

原理:主要是利用了IF函数来判断出相同的数据,然后再利用FREQUENCY获取相同数据的个数,最后使用MAX函数取出最大值。

统计指定数字的个数

我们想要统计下【60-80】区间的数值个数即(60,80]

FREQUENCY综合案例-统计区间个数

原理:{60,80}表示分割点,将分成三个区段会得到3个结果,我们利用index函数将第二个结果取出来,它就是我们需要的结果。

 

查找最近接的值

我们想要在表格中查找最接近56的数字是多少?

FREQUENCY综合案例-最近接的值

原理:在FREQUENCY函数中第一参数是0,ABS(B1:H1-80)求【考核得分】这一列与80的绝对值,将这个绝对值作为分割点,这样的话只有第一个分割点是有数据的,其余的都是没有的。

 

 

NPV函数三种玩法

基本计算原理

交叉求差(RATE: -2)

张三有三家门店,通过各门店的收支表计算总利润,每个门店的收入、支出都用正数表示的,如下图

NPV综合案例-隔行求差

原理:我们将 rate 设定为-2,于是 1/(1+rate)等于-1,基于-1 的奇数次方为-1、偶数次方为 1 这一原理, NPV 函数第二参数的每一个奇数项取其相反数,偶数项取其本身,从而实现交叉求差运算。由于这样计算的结果是收入为负、支出为正,因此需要在公式前添加负号。

提取数字(RATE: 9)

从一堆混乱数据中提取所有数值并进行组合,NPV 可谓得心应手。

NPV综合案例-提取数字

原理:

 

数字倒排(RATE: -0.9)

如何把数字组成的编码倒序排列?

注意:这是9位数字,如果K位数字,相应的9修改为K。

NPV综合案例-数字倒排

原理: