2025年的csp初赛结束了,浙江赛区的成绩暂时还没有出,每年山东省的成绩总是第一个公布的,比起其他省市快得还不是一星半点,只能说是遥遥领先,好奇大家s级的成绩怎么样,所以就下载了某地的表格,想看一下高于60分的大概有多少人。因为数据是采用excel表的形式,所以就考虑用sumif来统计一下人数。
基本语法
然而Excel函数的用法记忆难度比起C++也不遑多让,于是重温了一下sumif的语法:
参数 | 是否必填 | 说明与示例 |
---|---|---|
range (条件区域) | 必需 | 指定要根据条件进行判断的单元格区域。例如 A2:A11 。 |
criteria (条件) | 必需 | 定义求和的筛选标准,可以是数字、文本、表达式或单元格引用。例如 ">50" 、"苹果" 或 A2 。 |
[sum_range] (求和区域) | 可选 | 指定实际要求和的数值单元格区域。如果省略,则直接对 range 参数指定的区域进行求和。 |
在Excel中为SUMIF函数设置条件时,关键在于理解条件的书写格式。下面这个表格汇总了常见的条件写法:
条件类型 | 写法示例 | 说明 |
---|---|---|
精确匹配 | "苹果" | 双引号内为要精确匹配的文本。 |
A2 | 直接引用包含条件的单元格,无需双引号。 | |
数字比较 | ">100" | 使用比较运算符(如> , < , >= , <= , <> )。 |
">"&A2 | 运算符与单元格引用结合时,用& 连接。 | |
通配符匹配 | "A" | (星号)代表任意多个字符。 |
"???" | ? (问号)代表任意单个字符。 | |
空白/非空 | "" | 双引号为空,表示匹配空白单元格。 |
"<>" | 表示匹配所有非空单元格。 |
进阶技巧
掌握基本写法后,下面这些技巧能让你更灵活地运用SUMIF函数:
省略求和区域:当你的“条件区域”和需要求和的“数值区域”是同一个区域时,可以省略第三个参数[sum_range]。例如,对A1:A10区域中大于50的值直接求和,公式可以简写为=SUMIF(A1:A10, ">50")。
处理错误值:如果求和区域内包含错误值(如#N/A),直接使用SUMIF会报错。可以借助"<9E307"这样的条件,它代表“小于一个非常大的数(9乘以10的307次方)”,从而只对数值进行求和,自动忽略错误值。
实现“或”条件求和:SUMIF本身是单条件函数,但可以通过常量数组实现类似“或”逻辑的多条件求和。例如,计算区域A1:A10中等于“苹果”或“香蕉”的对应数值之和,可以使用公式=SUM(SUMIF(A1:A10, {"苹果","香蕉"}, B1:B10)),输入后按Enter即可。
多条件求和用SUMIFS:如果你的需求是必须同时满足多个条件(如计算部门A且金额大于1000的总和),那么应该使用它的升级版函数——SUMIFS。它的参数顺序有所不同,语法为:=SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)。