乐于分享
好东西不私藏

80个Excel函数,让你的工作效率起飞

80个Excel函数,让你的工作效率起飞

小Jo聊分析——小Jo专注数据分析领域,分享实战干货。从数据清洗到可视化呈现,帮你构建系统的数据分析思维。

点击 阅读原文或复制链接 https://s.fanruan.com/86q83免费体验在线零代码数据分析工具。

别再手动算数、翻日历、找数据了,这些函数一键搞定

你有没有遇到过这样的场景: 面对上千行数据,需要按条件求和,结果一个个加到手抽筋? 想统计某个月份的销售额,却只能肉眼筛选? 或者,老板让你从一张混乱的表格里快速匹配出某个人的信息,你还在用 Ctrl+F慢慢复制粘贴?

其实,Excel 早就帮你准备好了解决方案——函数。 用好函数,别人花一个小时的工作,你三分钟就能搞定。

今天,我整理了 80 个最常用的 Excel 函数,涵盖:

  • 数学计算
  • 逻辑判断
  • 文本处理
  • 查找引用
  • 日期时间
  • 财务分析

不废话,直接上干货。每个函数都配上最通俗的例子,看完就能用。

一、数学与三角函数

工作中最基础的就是数值计算。这部分函数可以让你告别手动按计算器的日子。

SUM —— 求和

=SUM(A1:A10)

计算 A1 到 A10 的总和。 例:如果 A1 到 A10 是 1 到 10,结果就是 55。

SUMIF / SUMIFS —— 按条件求和

=SUMIF(B:B, ">5000", C:C)

统计 B 列中大于 5000 的数值,对应的 C 列总和。注意:SUMIF 的条件区域和求和区域是分开的。

=SUMIFS(D:D, B:B, "北京", C:C, ">100")

同时满足“B 列为北京”且“C 列大于 100”的 D 列总和。SUMIFS 的条件可以写多组,非常灵活。

SUMPRODUCT —— 数组乘积求和

=SUMPRODUCT(A1:A5, B1:B5)

单价(A 列)× 数量(B 列),直接算出总销售额,一步到位。它会把两列对应位置相乘后再全部加起来。

ROUND / ROUNDUP / ROUNDDOWN —— 四舍五入

=ROUND(123.456, 2)→ 123.46 

=ROUNDUP(3.1415, 2)→ 3.15 

=ROUNDDOWN(3.1415, 2)→ 3.14

处理小数,财务对账、单价计算必备。ROUNDUP 不管下一位是多少都向上进位,ROUNDDOWN 则直接舍去。

ABS / POWER / SQRT —— 绝对值、幂、平方根

=ABS(-15)→ 15 

=POWER(2, 3)→ 8 

=SQRT(25)→ 5

MOD —— 求余数

=MOD(10, 3)→ 1

常用于判断奇偶性、周期性分组(比如每隔 3 行标记一次)。也可以用来判断一个数是否能被另一个数整除(余数为0)。

RAND / RANDBETWEEN —— 随机数

=RAND()→ 0~1 之间的小数 

=RANDBETWEEN(1, 100)→ 1~100 之间的随机整数

抽奖、随机抽样、模拟数据非常好用。注意:每次工作表重新计算时,随机数都会刷新。

INT / PRODUCT / SUBTOTAL / AGGREGATE

=INT(8.9)→ 8(向下取整,直接去掉小数部分) 

=PRODUCT(A1:A5)→ 区域所有数值相乘 

=SUBTOTAL(9, A1:A10)→ 只对可见行求和(筛选后专用)。第一个参数9代表SUM,其他数字代表不同运算。 

=AGGREGATE(9, 5, A1:A10)→ 忽略错误值和隐藏行再计算。第二个参数5表示忽略隐藏行,这样即使区域里有 #N/A 等错误,也能正常求和。

三角函数与统计个数

正弦:=SIN(RADIANS(30))→ 0.5 

余弦:=COS(RADIANS(60))→ 0.5 

正切:=TAN(RADIANS(45))→ 1 

反正弦转角度:=DEGREES(ASIN(0.5))→ 30° 

弧度与度数互转:=RADIANS(180)得到 π(≈3.14),=DEGREES(PI())得到 180°。

=COUNTIF(B:B, ">60")→ 统计 B 列大于 60 的单元格数量 

=COUNTIFS(B:B, ">60", C:C, "<80")→ 统计 B 列大于 60 且 C 列小于 80 的行数。COUNTIFS 可以加很多条件。


二、逻辑函数

逻辑函数帮你在 Excel 里实现 “如果……就……” 的判断。

IF —— 条件判断

=IF(A1 > 5, "Yes", "No")

如果 A1 大于 5,返回 “Yes”,否则 “No”。IF 的第三个参数还可以再嵌套一个 IF,实现多分支判断。

IFERROR —— 错误处理

=IFERROR(A1/B1, "Error")

当除法出错(比如分母为 0)时,显示 “Error” 而不是乱码。它能把所有类型的错误都捕捉到,换成你指定的内容。

AND / OR / NOT / XOR

=AND(A1 > 5, B1 < 10)→ 所有条件都成立才返回 TRUE 

=OR(A1 > 5, B1 < 10)→ 任意一个成立就返回 TRUE 

=NOT(A1 > 5)→ 条件取反(TRUE 变 FALSE,FALSE 变 TRUE) 

=XOR(A1 > 5, B1 < 10)→ 有且仅有一个成立时返回 TRUE

这些经常和 IF 嵌套使用,比如: 

=IF(AND(A1>5, B1<10), "合格", "不合格")


三、文本函数

从系统导出的数据,常常带着乱七八糟的空格、大小写、多余字符。文本函数就是专门对付这些的。

CONCAT / TEXTJOIN —— 文字拼接

=CONCAT(A1, B1)→ “Hello” + “World” = “HelloWorld” 

=TEXTJOIN("、", TRUE, A1:A3)→ 用顿号连接,自动忽略空单元格。TEXTJOIN 比 CONCAT 强大很多,可以指定分隔符。

LEFT / RIGHT / MID —— 提取部分字符

=LEFT(A1, 3)→ 从左边取 3 个字符 

=RIGHT(A1, 3)→ 从右边取 3 个字符 

=MID(A1, 2, 3)→ 从第 2 个字符开始取 3 个字符

比如从身份证号里提取出生年份:=MID(A1,7,4)

LEN / TRIM —— 长度与去空格

=LEN(A1)→ 返回字符个数(中文、英文、数字都算1个) 

=TRIM(A1)→ 删除首尾空格,中间多个空格变一个。处理粘贴来的文本时特别有用。

LOWER / UPPER / PROPER —— 大小写转换

=LOWER("Hello")→ “hello” 

=UPPER("Hello")→ “HELLO” 

=PROPER("hello world")→ “Hello World”(每个单词首字母大写)

SUBSTITUTE / REPLACE —— 替换文本

=SUBSTITUTE(A1, "old", "new")→ 把 “old” 换成 “new”。如果要替换第几个出现的,可以加第四个参数。 

=REPLACE(A1, 1, 2, "XX")→ 从第 1 位开始替换 2 个字符。REPLACE 是基于位置的替换,SUBSTITUTE 是基于内容的替换。

FIND / SEARCH —— 查找位置

=FIND("e", "Hello")→ 2(区分大小写) 

=SEARCH("e", "Hello")→ 2(不区分大小写)。如果找不到,会返回错误值。通常配合 IFERROR 使用。


四、查找与引用函数

这部分是很多职场人的最爱。只要学会 VLOOKUP,就能告别肉眼一行行找数据。

VLOOKUP / HLOOKUP

=VLOOKUP(A1, B1:C10, 2, FALSE)

根据 A1 的值,在 B1:C10 的第一列中查找,返回对应的第 2 列内容。最后一个参数 FALSE 表示精确匹配,建议永远用 FALSE。例如:根据员工编号查找对应的姓名。

=HLOOKUP(A1, A1:F10, 2, FALSE)

按行查找,适用于横向排列的表格。第一行是查找行,返回下面某行的值。

LOOKUP / MATCH / INDEX

=LOOKUP(A1, A1:A10, B1:B10)→ 在 A 列查找 A1,返回 B 列对应值。注意 LOOKUP 要求查找列必须升序排列,否则可能出错。 

=MATCH(A1, A1:A10, 0)→ 返回 A1 在区域中的位置(第几行)。最后一个参数 0 表示精确匹配。 

=INDEX(A1:C10, 2, 3)→ 返回 A1:C10 区域中第 2 行第 3 列的值。

INDEX + MATCH 组合比 VLOOKUP 更灵活,可以实现反向查找(查找值在右边,返回值在左边)和动态列查找。写法:=INDEX(返回列, MATCH(查找值, 查找列, 0))

CHOOSE / OFFSET / INDIRECT

=CHOOSE(2, "苹果","香蕉","橘子")→ “香蕉”。根据第一个数字从后面的列表中选一个。 

=OFFSET(A1, 2, 3)→ 以 A1 为基准,向下 2 行,向右 3 列,返回那个单元格的值。常用于动态区域。 

=INDIRECT("A1")→ 返回 A1 单元格的值(把文本变成真正引用)。当你需要根据另一个单元格的内容来构造引用时很有用。

COLUMN / ROW

=COLUMN(A1)→ 1(列号) 

=ROW(A1)→ 1(行号)

常用于构造动态区域,比如 =OFFSET(A1, ROW()-1, 0)可以实现每行自动偏移。


五、日期与时间函数

处理日期时间,这些函数一个顶十个。

TODAY / NOW

=TODAY()→ 返回当前日期(自动更新) 

=NOW()→ 返回当前日期和时间

DATE / TIME

=DATE(2024,5,23)→ 2024-05-23 

=TIME(14,30,0)→ 14:30:00

提取年月日时分秒

=YEAR(A1)– 从日期中提取年份 

=MONTH(A1)– 提取月份(1-12) 

=DAY(A1)– 提取日(1-31) 

=HOUR(A1)– 提取小时(0-23) 

=MINUTE(A1)– 提取分钟 

=SECOND(A1)– 提取秒

WEEKDAY / WEEKNUM

=WEEKDAY(A1, 2)→ 返回星期几(周一=1,周日=7)。第二个参数常用 2,符合中国人习惯。 

=WEEKNUM(A1, 2)→ 返回当年第几周(周一作为一周的开始)。

NETWORKDAYS / WORKDAY

=NETWORKDAYS(开始, 结束, 假期区域)→ 计算两个日期之间的工作日天数(自动排除周末,还可指定假期列表)。比如计算项目实际用了多少个工作日。 

=WORKDAY(开始, 天数, 假期区域)→ 从开始日期起,经过若干工作日后的日期。常用于计算合同到期日或任务截止日。

EDATE / EOMONTH

=EDATE(A1, 3)→ 3 个月后的日期(同一天)。如果 A1 是 1月31日,3个月后是4月30日(自动调整)。 

=EOMONTH(A1, 1)→ 下个月的最后一天。常用于计算月末结账日或账期。


六、财务函数

财务人员的最爱,普通人也经常用到。

PMT —— 贷款每期还款额

=PMT(年利率/12, 总期数, -贷款总额)

例如:贷款 1 万元,年利率 5%,分 60 个月还,公式为 =PMT(0.05/12, 60, -10000)。结果为每月应还金额(负值表示支出)。注意利率要和期数匹配(月利率 = 年利率/12)。

NPV —— 净现值

=NPV(折现率, 现金流区域)

评估项目投资是否划算。折现率比如 5%,现金流区域包括每期的收入(正)和支出(负)。结果是净现值,大于0说明项目值得投资。

FV —— 未来值

=FV(年利率/12, 总期数, -每月投入, -初始本金)

例如:每月定投 100 元,年利率 5%,初始本金 1000 元,5 年后(60 个月)有多少钱?公式 =FV(0.05/12, 60, -100, -1000)结果就是到期时的总金额。

PV —— 现值

=PV(年利率/12, 总期数, -每月收入)

例如:未来 60 个月每月收到 100 元,年利率 5%,现在值多少钱?公式 =PV(0.05/12, 60, -100)结果就是现值。PV 是 FV 的逆运算。

小提示:现金流支出用负数,收入用正数。这是财务函数的标准用法。

写在最后

以上 80 个函数能帮你解决大部分日常数据处理问题,但如果你遇到百万行数据卡顿、需要自动化报表或团队协作时数据总对不上,那不妨试试九数云。

九数云是一款在线数据分析工具,无需安装,打开浏览器就能用,支持类似 Excel 的公式计算,还能通过拖拽完成数据清洗、透视分析和图表制作。

它轻松处理百万级数据,自动刷新看板,支持多人协作,所有分析步骤云端保存,随时追溯。而且九数云内置了本文提到的绝大部分函数,操作几乎零学习成本。

如果你经常被数据折磨,去官网体验一下,也许会发现另一片新大陆。

点击 阅读原文免费体验在线零代码数据分析工具。