Skip to main content

数学函数

数学函数适合做求和、平均、排序、取整、三角计算和随机抽取。

使用场景

  • 自动统计总分、均分、加权分和排名
  • 计算最大值、最小值、条件汇总结果
  • 控制保留几位小数、向上取整或向下取整
  • 随机抽题、随机分组或生成随机数

快速查找

  • 基础运算:SUMPRODUCTABSPOWERSQRTLOGMOD
  • 统计与排名:AVERAGECOUNTCOUNTIFMAXMINLARGESMALLSUMPRODUCT
  • 取整与舍入:ROUNDINTCEILINGFLOORFIXED
  • 条件汇总:SUMIFSUMIFS
  • 三角与随机:RADIANSSINCOSTANCOTRAND

基础运算

函数用法适合做什么示例
ABSABS(number)取绝对值ABS(-12)
SUMSUM(number1, number2, ...)求和SUM(语文, 数学, 英语)
PRODUCTPRODUCT(number1, number2, ...)连乘PRODUCT(单价, 数量)
POWERPOWER(number, power)幂运算POWER(身高 / 100, 2)
SQRTSQRT(number)开平方SQRT(81)
LOGLOG(number, [base])求对数LOG(100, 10)
MODMOD(number, divisor)取余数MOD(23, 2)

统计与排名

函数用法适合做什么示例
AVERAGEAVERAGE(number1, number2, ...)求平均值AVERAGE(语文, 数学, 英语)
COUNTCOUNT(value1, value2, ...)统计参数个数COUNT("张三", "李四", "王五")
COUNTIFCOUNTIF(values, criteria)统计满足条件的个数COUNTIF([1, 2, 3, 4], ">2")
MAXMAX(number1, number2, ...)取最大值MAX(语文, 数学, 英语)
MINMIN(number1, number2, ...)取最小值MIN(语文, 数学, 英语)
LARGELARGE(array, k)取第 k 大值LARGE([89, 98, 76], 1)
SMALLSMALL(array, k)取第 k 小值SMALL([89, 98, 76], 1)
SUMPRODUCTSUMPRODUCT(array1, [array2])计算加权和或对应项乘积之和SUMPRODUCT([1, 2, 3], [0.1, 0.2, 0.3])

取整与舍入

函数用法适合做什么示例
ROUNDROUND(number, num_digits)按指定位数四舍五入ROUND(88 / 3, 2)
INTINT(number)向下取整到整数INT(3.9)
CEILINGCEILING(number, significance)向上舍入到指定倍数CEILING(10, 3)
FLOORFLOOR(number, significance)向下舍入到指定倍数FLOOR(10, 3)
FIXEDFIXED(number, [decimals])按指定小数位格式化为文本FIXED(23.156, 2)
tip

ROUND 返回数字,适合继续参与运算;FIXED 返回文本,更适合直接展示。

条件汇总

SUMIF

SUMIF(range, criteria, [sum_range])

按一个条件汇总数据。常见写法如下:

  • 条件写数字:20
  • 条件写表达式:">=60""!=0"
  • 条件写文本:"苹果"

如果比较条件里带运算符,记得放在引号里。

示例:

SUMIF(成绩列表, ">=60")
SUMIF(产品类型, "水果", 数量列表)

SUMIFS

SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

按多个条件汇总数据,适合“同时满足多个条件才计入结果”的场景。

示例:

SUMIFS(得分列表, 班级列表, "一班", 科目列表, "数学")
warning

SUMIFSUMIFS 里,条件范围和求和范围要一一对应。条件写法没问题,但范围选错时,结果也会不对。

三角与随机

函数用法适合做什么示例
RADIANSRADIANS(angle)把角度转成弧度RADIANS(180)
SINSIN(radians)求正弦值SIN(RADIANS(30))
COSCOS(radians)求余弦值COS(RADIANS(60))
TANTAN(radians)求正切值TAN(RADIANS(45))
COTCOT(radians)求余切值COT(RADIANS(45))
RANDRAND()生成 0 到 1 之间的随机数RAND()

三角函数需要传入弧度值。你如果手上是角度,先用 RADIANS 转一下。

常见组合示例

要做什么推荐公式
计算 BMI体重 / POWER(身高 / 100, 2)
计算总分SUM(单选1得分, 单选2得分, 填空题得分)
计算平均分AVERAGE(语文, 数学, 英语)
计算加权分SUMPRODUCT([维度1, 维度2, 维度3], [0.4, 0.3, 0.3])
在 20 到 30 之间随机抽一题INT(RAND() * (30 - 20) + 20)

常见问题

ROUND 和 FIXED 有什么区别?

ROUND 返回的是数字,后面还能继续参与加减乘除。FIXED 返回的是文本,更适合直接显示给用户看。

CEILING 和 FLOOR 怎么记?

CEILING 往上靠,FLOOR 往下靠。你可以把它理解成一个向上找最近倍数,一个向下找最近倍数。

为什么 RAND 每次看结果都不一样?

因为 RAND() 本来就是随机函数,每次重新计算都可能变化。如果你要固定一个结果,就不要把随机数放在会频繁重算的位置。

SUMIF 和 SUMIFS 里的条件为什么要加引号?

">=60""!=0" 这种条件本质上是文本形式的判断规则,不加引号时,公式引擎就没法把它当成完整条件来解析。