精华内容
下载资源
问答
  • Excel工作表“countif”条件计数函数、“countifs”多条件计数函数、“sumif”条件求和函数和“sumifs”多条件求和函数的应用举例
  • 条件计数:COUNTIF、COUNTIFS函数

    千次阅读 2019-10-05 22:27:16
    目的:计算男生的人数或男生中成绩>=80分的人数。 方法: 1、在对应的目标单元格中输入公式:=COUNTIF(D3:D9,"男")或=COUNTIFS(D3:D9,"男",C3:C9,">...2、COUNTIFS函数用于多条件计数,暨计...

    目的:计算男生的人数或男生中成绩>=80分的人数。

    方法:

    1、在对应的目标单元格中输入公式:=COUNTIF(D3:D9,"男")或=COUNTIFS(D3:D9,"男",C3:C9,">=80")。

    解读:

    1、COUNTIF函数用于单条件计数,暨计数条件只能有一个。易解语法结构为:COUNTIF(条件范围,条件).

    2、COUNTIFS函数用于多条件计数,暨计数条件可以有多个。易解语法结构为:COUNTIFS(条件范围1,条件1,条件范围2,条件2……条件范围N,条件N)。

    Excel函数公式:工作中最常用的12个函数公式

    转载于:https://www.cnblogs.com/SparkSky/p/11048625.html

    展开全文
  • 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较 种类 速度 最坏情况 工作空间 稳定性 ...

    NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较

    种类 速度 最坏情况 工作空间 稳定性
    ‘quicksort’(快速排序) 1 O(n^2) 0
    ‘mergesort’(归并排序) 2 O(n*log(n)) ~n/2
    ‘heapsort’(堆排序) 3 O(n*log(n)) 0

    numpy.sort() 函数

    返回输入数组的排序副本。函数格式如下:

    numpy.sort(a, axis, kind, order)
    

    参数说明:

    • a: 要排序的数组

    • axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序

    • kind: 默认为’quicksort’(快速排序)

    • order: 如果数组包含字段,则是要排序的字段

    示例:

    In [1]: import numpy as np
    
    In [2]: num = np.array([[3,7],[9,1]])
    
    In [3]: num
    Out[3]:
    array([[3, 7],
           [9, 1]])
    
    In [4]: np.sort(num)
    Out[4]:
    array([[3, 7],
           [1, 9]])
    
    In [5]: np.sort(num, axis=0)
    Out[5]:
    array([[3, 1],
           [9, 7]])
    
    In [6]: dt = np.dtype([('name',  'S10'),('age',  int)])
    
    In [7]: dt
    Out[7]: dtype([('name', 'S10'), ('age', '<i8')])
    
    In [8]: num = np.array([("raju",21),("anil",25),("ravi",  17),("amar",27)], dtype=dt)
    
    In [9]: num
    Out[9]:
    array([(b'raju', 21), (b'anil', 25), (b'ravi', 17), (b'amar', 27)],
          dtype=[('name', 'S10'), ('age', '<i8')])
    
    In [10]: print(num)
    [(b'raju', 21) (b'anil', 25) (b'ravi', 17) (b'amar', 27)]
    
    In [11]: np.sort(num, order='name')
    Out[11]:
    array([(b'amar', 27), (b'anil', 25), (b'raju', 21), (b'ravi', 17)],
          dtype=[('name', 'S10'), ('age', '<i8')])
    
    In [12]: print(np.sort(num, order='name'))
    [(b'amar', 27) (b'anil', 25) (b'raju', 21) (b'ravi', 17)]
    

    numpy.argsort() 函数

    返回的是数组值从小到大的索引值

    In [1]: import numpy as np
    
    In [2]: x = np.array([3,  1,  2])
    
    In [3]: x
    Out[3]: array([3, 1, 2])
    
    In [4]: y = np.argsort(x)
    
    In [5]: y
    Out[5]: array([1, 2, 0])
    
    In [6]: x[y]
    Out[6]: array([1, 2, 3])
    
    In [7]: for i in y:
       ...:     print (x[i], end=' ')
       ...:
    1 2 3
    

    numpy.lexsort() 函数

    用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列

    In [1]: import numpy as np
    
    In [2]: nm = ('raju', 'anil', 'ravi', 'amar')
    
    In [3]: dv = ('f.y.', 's.y.', 's.y.', 'f.y.')
    
    In [4]: ind = np.lexsort((dv, nm))
    
    In [5]: ind
    Out[5]: array([3, 1, 0, 2])
    
    In [6]: [nm[i] + ', ' + dv[i] for i in ind]
    Out[6]: ['amar, f.y.', 'anil, s.y.', 'raju, f.y.', 'ravi, s.y.']
    

    上面传入 np.lexsort 的是一个tuple,排序时首先排 nm,顺序为:amar、anil、raju、ravi 。综上排序结果为 [3 1 0 2]

    msortsort_complexpartitionargpartition

    • msort(a) 数组按第一个轴排序,返回排序后的数组副本。np.msort(a) 相等于 np.sort(a, axis=0)

    • sort_complex(a) 对复数按照先实部后虚部的顺序进行排序。

    • partition(a, kth[, axis, kind, order]) 指定一个数,对数组进行分区

    • argpartition(a, kth[, axis, kind, order]) 可以通过关键字 kind 指定算法沿着指定轴对数组进行分区

    复数排序:

    In [1]: import numpy as np
    
    In [2]: np.sort_complex([5, 3, 6, 2, 1])
    Out[2]: array([1.+0.j, 2.+0.j, 3.+0.j, 5.+0.j, 6.+0.j])
    
    In [3]: np.sort_complex([1 + 2j, 2 - 1j, 3 - 2j, 3 - 3j, 3 + 5j])
    Out[3]: array([1.+2.j, 2.-1.j, 3.-3.j, 3.-2.j, 3.+5.j])
    

    partition() 分区排序:

    In [4]: num = np.array([3, 4, 2, 1])
    
    In [5]: np.partition(num, 3)
    Out[5]: array([2, 1, 3, 4])
    
    In [6]: np.partition(num, (1, 3))
    Out[6]: array([1, 2, 3, 4])
    

    找到数组的第 3 小(index=2)的值和第 2 大(index=-2)的值

    In [7]: arr = np.array([46, 57, 23, 39, 1, 10, 0, 120])
    
    In [8]: arr[np.argpartition(arr, 2)[2]]
    Out[8]: 10
    
    In [9]: arr[np.argpartition(arr, -2)[-2]]
    Out[9]: 57
    

    同时找到第 3 和第 4 小的值。注意这里,用 [2,3] 同时将第 3 和第 4 小的排序好,然后可以分别通过下标 [2] 和 [3] 取得

    In [10]: arr[np.argpartition(arr, [2,3])[2]]
    Out[10]: 10
    
    In [11]: arr[np.argpartition(arr, [2,3])[3]]
    Out[11]: 23
    

    numpy.argmax()numpy.argmin() 函数

    分别沿给定轴返回最大和最小元素的索引

    In [1]: import numpy as np
    
    In [2]: num = np.array([[30,40,70],[80,20,10],[50,90,60]])
    
    In [3]: num
    Out[3]:
    array([[30, 40, 70],
           [80, 20, 10],
           [50, 90, 60]])
    
    In [4]: np.argmax(num)
    Out[4]: 7
    
    In [5]: num.flatten()
    Out[5]: array([30, 40, 70, 80, 20, 10, 50, 90, 60])
    
    In [6]: # 沿轴 0 的最大值索引
    
    In [7]: np.argmax(num, axis=0)
    Out[7]: array([1, 2, 0])
    
    In [8]: # 沿轴 1 的最大值索引
    
    In [9]: np.argmax(num, axis=1)
    Out[9]: array([2, 0, 1])
    
    In [10]: np.argmin(num)
    Out[10]: 5
    
    In [11]: # 展开数组中的最小值
    
    In [12]: num.flatten()[minindex]
    Out[12]: 10
    
    In [13]: # 沿轴 0 的最小值索引
    
    In [14]: np.argmin(num, axis=0)
    Out[14]: array([0, 1, 1])
    
    In [15]: np.argmin(num, axis=1)
    Out[15]: array([0, 2, 0])
    

    numpy.nonzero() 函数

    返回输入数组中非零元素的索引

    In [1]: import numpy as np

    In [2]: num = np.array([[30,40,0],[0,20,10],[50,0,60]])

    In [3]: num
    Out[3]:
    array([[30, 40, 0],
    [ 0, 20, 10],
    [50, 0, 60]])

    In [4]: np.nonzero(num)
    Out[4]: (array([0, 0, 1, 1, 2, 2]), array([0, 1, 1, 2, 0, 2]))

    numpy.where() 函数

    返回输入数组中满足给定条件的元素的索引

    In [1]: import numpy as np
    
    In [2]: x = np.arange(9.).reshape(3, 3)
    
    In [3]: x
    Out[3]:
    array([[0., 1., 2.],
           [3., 4., 5.],
           [6., 7., 8.]])
    
    In [4]: y = np.where(x > 3)
    
    In [5]: y
    Out[5]: (array([1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2]))
    
    In [6]: x[y]
    Out[6]: array([4., 5., 6., 7., 8.])
    

    numpy.extract() 函数

    根据某个条件从数组中抽取元素,返回满条件的元素

    In [1]: import numpy as np
    
    In [2]: x = np.arange(9.).reshape(3, 3)
    
    In [3]: x
    Out[3]:
    array([[0., 1., 2.],
           [3., 4., 5.],
           [6., 7., 8.]])
    
    In [4]: y = np.mod(x, 2) == 0
    
    In [5]: y
    Out[5]:
    array([[ True, False,  True],
           [False,  True, False],
           [ True, False,  True]])
    
    In [6]: np.extract(y, x)
    Out[6]: array([0., 2., 4., 6., 8.])
    
    展开全文
  • 按颜色求和与计数函数_Excel VBA应用.rar, 在Excel中,如果要以单元格背景色为条件来进行求和与计数是件困难的事,因为Excel并没有提供相关的功能。如果利用宏表函数得到单元格背景色或字体颜色的代码数值,以便进行...
  • http://www.itstu.net/plus/view.php?aid=41
    http://www.itstu.net/plus/view.php?aid=41
    
    展开全文
  • MySQL统计函数记录——按条件计数

    千次阅读 2012-11-12 10:32:10
    对于确定分类的按条件计数,可以尽量不用GROUP BY,从而避免排序动作,加速Query的执行。 如果需要根据某个字段的值进行分类,而该字段的值是可变的,比如皇帝要统计每一个妃子的产子数,而他可能不停的再娶很多...
    问题描述
    为使讨论简单易懂,我将问题稍作简化,去掉诸多的背景。

    从前有一个皇帝,他有50个妃子,这些妃子很没有天理的给他生了100,000个儿子,于是,皇帝很苦恼,海量的儿子很难管理,而且,他想知道每个妃子给他生了多少个儿子,从而论功行赏,这很难办。于是,皇帝请了一个程序员帮他编了一个程序,用数据库来存储所有的儿子的信息,这样就可以用程序来统计和管理啦。

    数据库的结构如下:
    id 皇子的唯一编号
    mother 皇子母亲的唯一编号
    皇帝把妃子分成了两个等级,天宫娘娘(编号小于25)和地宫娘娘(编号大于等于25),他想知道天宫娘娘们和地宫娘娘们的生育能力孰强孰弱。于是,程序员开始写SQL Query了。

    方法1:使用GROUP BY
    SQL Query
    SELECT COUNT(*) FROM `prince` GROUP BY `mother` &gt; 24;

    执行结果
    count(*)
    50029
    49971
    在100,000行数据上的运行时间:0.0335 秒

    分析
    这种GROUP BY方法的最大问题在于:无法区分所得到的结果。这两个数字哪一个是天宫娘娘们所生的皇子数,哪一个是地宫娘娘们所生的皇子数呢?不知道。所以,尽管它统计出了总数,但是没有什么意义。
    因此,为了区分统计结果,必须要把条件 mother > 24 也作为一个字段在结果集中作为一个字段体现出来,修改后的sql如下:

    SELECT COUNT(*) AS `number`, `mother` &gt; 24 AS `type` FROM `prince` GROUP BY `mother` &gt; 24;

    执行结果
    number type
    50029 0
    49971 1

    条件表达式作为字段时,该字段的值就是该条件表达式的值,因此,对应我们的例子,type = 1 也就是表示 mother > 24 的值为1,因此,第二行中的数字代表地宫娘娘们所生的皇子数。
    经过修改后,我们看出,天宫娘娘们略胜一筹。

    优缺点
    缺点是显而易见的,由于使用了条件表达式作为分组依据,它只能做二元的划分,对于要分成多类进行统计的情况不能够胜任。比如要分别统计1~10号、11~24号,25号~50号妃子的产子数,就无法实现了。
    另外,由于使用了GROUP BY,因此涉及到排序,执行时间上要更长。

    我暂时没有发现这种方法的优点。

    方法2:使用嵌套的SELECT
    使用嵌套的SELECT也可以达到目的,在每个SELECT子句中统计一个条件下的数据,然后用一个主SELECT把这些统计数据整合起来。

    SQL Query
    SELECT 
        ( SELECT COUNT( * ) FROM `prince` WHERE `mother` &gt;24 ) AS `digong`,
        ( SELECT COUNT( * ) FROM `prince` WHERE `mother` &lt;=24 ) AS `tiangong`

    执行结果
    digong tiangong
    49971 50029
    在100,000行数据上的运行时间:0.0216 秒

    分析
    这种嵌套SELECT的方法非常直观,就是分别统计各个条件下的数值,最后进行汇总,通俗易懂,跟自然语言没啥区别了。

    优缺点
    优点就是直观,而且速度也比GROUP BY要快。虽然是3条SELECT语句,看起来比GROUP BY的方案多了2条语句,但是它不涉及到排序,这就节省了很多时间。
    缺点可能就是语句稍多,对语句数量有洁癖的同学可能会比较不舒服。

    方法3:使用CASE WHEN
    CASE WHEN语句的功能很强大,可以定义灵活的查询条件,很适合进行分类统计。
    SQL Query
    SELECT 
        COUNT( CASE WHEN `mother` &gt;24 THEN 1 ELSE NULL END ) AS `digong`,
        COUNT( CASE WHEN `mother` &lt;=24 THEN 1 ELSE NULL END ) AS `tiangong`
    FROM prince

    执行结果
    digong tiangong
    49971 50029
    在100,000行数据上的运行时间:0.02365825 秒

    分析

    此方法的关键在于
    COUNT( CASE WHEN `mother` &gt;24 THEN 1 ELSE NULL END )
    这里的COUNT和CASE WHEN联合使用,做到了分类计数。先使用CASE WHEN,当满足条件时,将字段值设置为 1, 不满足条件时,将字段值设置为NULL,接着COUNT函数仅对非NULL字段进行计数,于是,问题解决。

    优缺点
    优点嘛,此方法也不涉及到排序,因此运行时间上与方法2相当,SELECT语句减少到了 1 条。
    缺点就是语句比较长,对语句长度有洁癖的同学可能会比较不舒服。

    总结
    对于确定分类的按条件计数,可以尽量不用GROUP BY,从而避免排序动作,加速Query的执行。
    如果需要根据某个字段的值进行分类,而该字段的值是可变的,比如皇帝要统计每一个妃子的产子数,而他可能不停的再娶很多妃子,这种情况下,使用方法2和方法3就不太灵光了,还是使用一个GROUP BY来得简单便捷。
    展开全文
  • 欢迎来到ExcelPlanet,今天我们来聊聊一个“真香”的求和函数:SUMPRODUCT。因为涉及到数值概念,导致一开始可能会有入门障碍。但其实理解之后,在统计报表等方面的功能非常强大。 一、函数解析 SUMPRODUCT函数是...
  • 多条件求和、多条件计数、多条件查找……多了去了! Excel中用countif和countifs统计符合条件的个数 Excel CountIfs函数轻松组合多条件,含不为空和不等于的例子 接近完美的Excel函数,一次搞定求和、计数、平均、...
  • 三种excel 多条件计数方法

    千次阅读 2015-02-13 11:41:25
    内容提要:文章总结excel 多条件计数的三种方法,分别通过SUMPRODUCT、COUNTIFS函数、数据透视表来完成多条件计数。  excel 多条件计数的使用频率是很高的。如果用函数来进行多条件计数,可以用SUMPRODUCT和...
  • 总结了一下Excel里的求满足条件计数、求和、平均值、最大值、最小值、标准差等9个方法。01countif作用:对满足条件的区域统计个数 模板:countif(条件所在的区域,条件)...
  • [Excel]Excel函数和用法(6)——按照多个指定条件计数,求和,求平均数。COUNTIFS/SUMIFS/AVERAGEIFS 语法:COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, …) 例如,统计A列性别为男的,年龄在...
  • 0.01 #定义dayfactor参数初始值为0.01 while dayUP(dayfactor) (1.01,365):#用保留字while调用dayUP函数,将dayfactor作为参数输入 #while保留字判断条件是否成立,条件成立时循环执行 dayfactor += 0.001 print(...
  • 文员常用的excel 函数如下:1、求和函数 SUM;2、平均值函数 AVERAGE;3、逻辑函数 IF;...8、条件计数函数 COUNTIF;9、日期年份函数 YEAR ;10、数值文本转换 TEXT ;11、条件定位 VLOOKUP。注:Microsof...
  • 这题模数是9937还不是素数,求逆元还得手动求。 项链翻转一样的算一种相当于就是一种类型的置换,那么在n长度内,对于...注意这题很卡时间,而且很玄的用long long会错,要先求出上界再枚举,循环中i*i的循环条件会...
  • 总览介绍本文涉及COUNT 、CASE WHEN 、DECODE介绍的关键字Oracle-COUNT内置函数复杂计数常规操作中级操作中级操作的反思高级操作高级操作修正版本(需要你根据自己的业务知识灵活转动)总结 本文涉及COUNT 、CASE ...
  • 通过对素数元旋转对称弹性布尔函数特征矩阵的研究,给出了其特征矩阵的若干性质,得到了素数元旋转对称布尔函数为弹性函数的一个充要条件,由此完全决定了旋转对称弹性函数的构造以及这类函数的精确计数公式,最后...
  • 刚开始自学SQL的小白,求助: select count(industryField like '%电子商务%') FROM data 查询的结果为什么和 ...select count(*) FROM data的结果...industryField like '%电子商务%'这个条件完全没有用,为什么?
  • 挑战程序竞赛系列(44):4.1计数 欧拉函数 详细代码可以fork下Github上leetcode项目,不定期更新。 练习题如下: POJ 2407: Relatives POJ 2407: Relatives条件解析: a=xz and b=xy,不存在x>1,z>0,y>0 a = xz...
  • Excel条件函数在实际中... Excel条件函数大概有:IF逻辑条件函数,COUNTIF条件计数,SUMIF条件求和,SUMPRODUCT多条件计数求和。  在Excel 2007以后的版本,又增加了AVERAGEIF、AVERAGEIFS、SUMIFS、COUNTIFS和IFER
  • 平衡对称布尔函数的构造与计数等价于二元域上某个含有n个变量背包方程的求解与解的计数。求出了当n为奇数时这个背包方程的1个解集合S以及S中所有解的个数,给出了这个背包方程存在其他解(即不包含于集合s的解)的...
  • 工作中如何高效使用Excel进行数据分析 Excel是办公室自动化中非常重要的一款软件,Excel函数则是Excel中的内置函数。Excel函数共包含11类,分别是数据库函数、日期与时间...条件计数函数:countif Countif函数是Mic...
  • 平衡对称布尔函数的构造与计数等价于二元域上某个含有n个变量的背包方程的求解与解的计数,并且当。为偶数时,该背包方程存在2组平凡解。给出了当n为偶数时,这个背包方程有非平凡解的充分必要条件;提供了一种求非...
  • IF_SUMIF_COUNTIF三大条件函数

    千次阅读 2015-03-23 11:53:11
    在Excel的众多函数中,有三大条件函数分别是IF函数、COUNTIF函数、SUMIF函数。 Database构成列表或数据库的... ①COUNTIF函数计数求和)用来计算区域中满足给定条件的单元格的个数。 =COUNTIF(range,criteria) 返
  • MySQL对多个条件分别计数

    千次阅读 2019-09-16 11:15:35
    本文转自MYSQL|count()函数使用条件分别统计 在一条语句中统计出符合不同条件的行: select class1_id ,class1_name ,class2_id ,class2_name ,run_id ,count(run_id) as count_all#提交数 ,count(run_ok>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 945
精华内容 378
关键字:

条件计数函数