使用函数统计指定数字的个数_按照指定条件统计个数,可以用试试函数哈

本文介绍了在Excel中如何使用COUNTIF和COUNTIFS函数进行条件统计,包括单条件和多条件下的统计方法。通过实例展示了如何设置统计条件,适用于初学者。

今天在百度知道的答题中看到了网友提到了一个“关于excel多条件求人数的公式”的问题,具体描述如下:

7232c9cae154a8dd9816f3433dce3c45.png

关于EXCEL多条件求人数的公式

1c7473cd65f3a23fc680c0d8ed25c7f5.png

题目中涉及表格

题目中核心词是“按条件统计”,我们自然想起了条件统计类函数COUNTIF()和COUNTIFS()。具体的条件有两个:

1、B列时间=I列“增加时间”;

2、C列时间段大于16,小于等于64;D列时间段大于65,小于等于69;E列时间段大于69,小于等于75;

所以可以使用COUNTIF加和或是使用COUNTIFS函数,最后给出的答案如下:

ef4f744786d83cacbe0142b1e13f2ad2.png

COUNTIFS函数解答

初学EXCEL函数的小伙伴可能对COUNTIF函数和COUNTIFS函数不太了解,今天我们就以COUNTIF为主,聊一聊这个灵活多变的条件统计函数。

一、基本结构:

COUNTIF(计数区域,条件),COUNTIF的结构比较简单,第一个参数为需要计数的数据区域,该区域只能是单元格或单元格区域,不能为数组;第二个参数表示统计条件。

二、基本应用举例:

函数虽然只有两个参数,但在实际中可谓用途广泛,简单实用,灵活多表。下边我们举例如下,为表述方便,假定“计数区域”统一为A列。

1、统计A列中包含指定数值(如3)的单元格数量:=COUNTIF(A:A,3),公式中的3可以换成任意指定数值;

2、统计A列中包含大于/小于/不等于指定数值(如3)的单元格数量:=COUNTIF(A:A,">3")/=COUNTIF(A:A,"<3")/=COUNTIF(A:A,"<>3"),公式中的3可以换成任意指定数值;

3、统计A列中等于/大于/小于指定单元格内容(如A3)的单元格数量:=COUNTIF(A:A,A3)/COUNTIF(A:A,">"&A3)/COUNTIF(A:A,"

4、统计A列中指定字符的单元格数量:

(1)、包含EXCEL的单元格数量 =COUNTIF(A:A,"*EXCEL*");

(2)、包含以E开头字符的单元格数量 =COUNTIF(A:A,"E*");

(3)、包含任意文本单元格的数量 =COUNTIF(A:A,“*”);

(4)、包含两个文本单元格的数量 =COUNTIF(A:A,"??");

5、统计A列中非空单元格的数量:=COUNTIF(A:A,"<>")/=COUNTIF(A:A,"="),这两个非空有区别,后者是真正的单元格为空,前者单元格为写入空格时(非真空),也会作为空值统计。

6、统计A列中文本数量: =COUNTIF(A:A,">=!")

三、COUNTIFS函数的简单介绍

我在文中开头举例用的多条件统计函数使用的是COUNTIFS函数,函数基本结构如下:

COUNTIF(计数区域1,条件1,计数区域2,条件2……),格式变成多条件,基本应用的思路与COUNTIF是一样的,可以参考开头举例。

今天的条件统计类函数就聊到这里,大家记得多加应用,才能别人的变成自己的。

晚安

在PTA平台使用函数统计指定数字个数,通常需要实现一个名为`CountDigit`的函数,该函数接收两个参数:`number`(整数)和`digit`(指定统计数字,范围在`[0, 9]`区间内),并返回`number`中`digit`出现的次数。以下是具体的实现方法和代码示例: ### 函数接口定义 ```c int CountDigit( int number, int digit ); ``` ### 代码实现 ```c #include <stdio.h> // 函数定义 int CountDigit( int number, int digit ){ int num = 0; if(number < 0){ number = -number; // 将负整数变为整数 } while (number > 0){ if (number % 10 == digit){ // 判断最低位是否相同 num = num + 1; } number = number / 10; // 去掉最低位 } return num; } int main() { int number, digit; scanf("%d %d", &number, &digit); printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit)); return 0; } ``` ### 代码解释 1. **函数`CountDigit`**: - 首先,检查`number`是否为负数,如果是负数,则将其转换为正数,因为负数的统计与正数相同。 - 然后,使用`while`循环遍历`number`的每一位。在每次循环中,检查`number`的最低位是否等于`digit`,如果相等,则计数器`num`加1。 - 最后,将`number`除以10,去掉最低位,继续下一次循环,直到`number`变为0。 2. **主函数`main`**: - 从标准输入读取`number`和`digit`。 - 调用`CountDigit`函数统计`digit`在`number`中出现的次数。 - 输出统计结果。 ### 复杂度分析 - **时间复杂度**:$O(log_{10}n)$,其中$n$是`number`的大小。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值