excel中countifs函数如何使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel中countifs函数如何使用?相关的知识,希望对你有一定的参考价值。

1、首先打开excel表格,并在A列中输入一组数据,需要通过COUNTIFS函数统计A列中大于5小于 20的数字的个数。

2、在B1输入公式 :=COUNTIFS(A:A,">5",A:A,"<20")。

3、点击回车键即可将公式的结果生成出来,可以看到设置的条件中符合条件的个数为“4”。

4、如果需要设置其他的统计条件,例如统计大于10,小于20的数字个数。

5、点击回车可以看到符合条件的个数为“3”。

参考技术A 说明
将条件应用于跨多个区域的单元格,并计算符合所有条件的次数。
语法
COUNTIFS(criteria_range1,
criteria1,
[criteria_range2,
criteria2]…)COUNTIFS
函数语法具有下列参数
(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
criteria_range1
必需。在其中计算关联条件的第一个区域。
criteria1
必需。条件的形式为数字、表达式、单元格引用或文本,可用来定义将对哪些单元格进行计数。例如,条件可以表示为
32、">32"、B4、"苹果"

"32"。
criteria_range2,
criteria2,
...
可选。附加的区域及其关联条件。最多允许
127
个区域/条件对。
要点
每一个附加的区域都必须与参数
criteria_range1
具有相同的行数和列数。这些区域无需彼此相邻。
注解
每个区域的条件一次应用于一个单元格。如果所有的第一个单元格都满足其关联条件,则计数增加
1。如果所有的第二个单元格都满足其关联条件,则计数再增加
1,依此类推,直到计算完所有单元格。
如果条件参数是对空单元格的引用,COUNTIFS
会将该单元格的值视为
0。
您可以在条件中使用通配符,即问号
(?)
和星号
(*)。问号匹配任一单个字符;星号匹配任一字符序列。如果要查找实际的问号或星号,请在字符前键入波形符
(~)。
参考技术B

你这个求单数,可以分为两种情况,第一种是有业绩为0的情况,第二种是业绩全都大于0的情况。
第一种情况使用COUNTIFS函数并向下填充,如下:
=COUNTIFS($A$2:$A$28,LEFT(D2,FIND("的",D2)-1),$B$2:$B$28,">0")




第二种情况使用COUNTIF函数并向下填充,如下:
=COUNTIF($A$2:$A$28,LEFT(D2,FIND("的",D2)-1))




COUNTIFS和COUNTIF的参数是一样的,主要就两个:
1、条件区域,A列姓名列;
2、条件,D列提取出来的姓名。
COUNTIFS只是可以多次添加这两个参数而已。

参考技术C 例如 A列中 是 0-100随机的数字,
我们要统计 A列中 大于 10 小于 30的数字的个数
B1输入公式 =COUNTIFS(A:A,">10",A:A,"<30")
就行了
也就是 =COUNTIFS(区域,条件,区域,条件,区域,条件)
参考技术D 用countifs不行
=SUMPRODUCT((A:A="张三")*(MOD(B:B,2)=1))

Excel VBA:如何让 COUNTIF 函数不将文本单元格“1.1”和“1.10”作为重复项?

【中文标题】Excel VBA:如何让 COUNTIF 函数不将文本单元格“1.1”和“1.10”作为重复项?【英文标题】:Excel VBA: How to get COUNTIF function to not pick up text cells "1.1" and "1.10" as Duplicates? 【发布时间】:2021-04-28 18:02:31 【问题描述】:

我在 Excel VBA 中使用 CountiF 函数来检查 ID 号数组的重复项,如下所示:

1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 ...

使用我使用的代码,格式为文本单元格的“1.1”和“1.10”在我不希望它们出现时显示为重复项。

以下是我的代码,我想知道如果可能的话,什么调整可以解决这个问题?

谢谢。

    'RESET ERROR IN HISTORY
        Workbooks("PERSONAL.xlsb").Sheets("History").Range("F2").Value = "No Duplicates"
    
    'SET STARTING CELL
        Cells(1, 3).Select
    
    'GET ACTIVE COLUMN
        Dim Col As Long
        Col = ActiveCell.Column
        
    'ESTABLISH END ROW
        Call Get_Last_Row
        Dim EndRow As Long
        EndRow = ActiveCell.Row
        Cells(1, Col).Select
        
    'RUN MAIN LOOP
        Dim Cell As Variant
        Dim Source As Range
        Set Source = Range(Cells(1, Col), Cells(EndRow, Col))

        For Each Cell In Source
        
            If Application.WorksheetFunction.CountIf(Source, Cell) > 1 Then
                Workbooks("PERSONAL.xlsb").Sheets("History").Range("F2").Value = "Duplicates"
                Cell.Interior.ThemeColor = xlThemeColorAccent5
            End If
        
        Next
        
        If Workbooks("PERSONAL.xlsb").Sheets("History").Range("F2").Value = "Duplicates" Then
            MsgBox "Duplicate Sheet Names Found"
        End If

【问题讨论】:

【参考方案1】:

您可以使用Worksheet.Evaluate 代替Worksheet.Evaluate 来运行一个数组公式,该公式不会像计算数字一样计算单元格:

Dim dupes As Long, c As Range, ws As Worksheet, col As Long, rng As Range, n

Set ws = ActiveSheet 'or whatever

col = ActiveCell.Column
Set rng = ws.Range(ws.Cells(1, col), ws.Cells(Rows.Count, col).End(xlUp))
    
For Each c In rng.Cells
    'this will not count values as numbers...
    n = ws.Evaluate("=SUM(1*(" & rng.Address & "=" & c.Address & "))")
    If n > 1 Then
        dupes = dupes + 1
        c.Interior.ThemeColor = xlThemeColorAccent5
    Else
        c.Interior.ColorIndex = xlNone
    End If
Next
    
Workbooks("PERSONAL.xlsb").Sheets("History").Range("F2").Value = _
               IIf(dupes > 0, "Duplicates", "No Duplicates")
               
If dupes > 0 Then MsgBox "Duplicate Sheet Names Found"

【讨论】:

以上是关于excel中countifs函数如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

Excel中countif函数的使用方法

如何在 Excel 中使用 COUNTIFS 计算绝对值大于截止值的数字?

python中的countif函数

excel中如何统计每个数据出现的次数

excel中countif函数显示的结果为啥不对?

怎么用Excel中countif这个函数