Excell:一个值或另一个值在一列中出现多少次

Excell:一个值或另一个值在一列中出现多少次,excel,Excel,我在Excel上有一个列,我知道如何计算一个值在其中出现的次数(例如:列中出现了多少次1),但我找不到如何计算一个或另一个值在该列中出现的次数(例如:值为1或2的单元格数)。 以下是我的colum的一个示例: A1 1 a21;2; a31;3; A4 2 A5 1 A6 2;3; A71;2; 在本专栏中,如果我想知道有多少个数字为1的单元格,我会: =COUNTIF(A1:A7,“1”),则结果为:5 但是如果我想知道有多少个单元格有数字1或数字2,我找不到怎么做,但我知道结果是7(因为所

我在Excel上有一个列,我知道如何计算一个值在其中出现的次数(例如:列中出现了多少次1),但我找不到如何计算一个或另一个值在该列中出现的次数(例如:值为1或2的单元格数)。 以下是我的colum的一个示例:

A1 1

a21;2;

a31;3;

A4 2

A5 1

A6 2;3;

A71;2;

  • 在本专栏中,如果我想知道有多少个数字为1的单元格,我会: =COUNTIF(A1:A7,“1”),则结果为:5

  • 但是如果我想知道有多少个单元格有数字1或数字2,我找不到怎么做,但我知道结果是7(因为所有这些单元格都有数字1或数字2) 我找到的唯一方法是计算数字为1但没有数字2的单元格数量,计算数字为2但没有数字1的单元格数量,然后将它们的总和与值为“1;2”的单元格数量相加,这给了我一个很长的公式,如: =(COUNTIF(A1:A7,“1”)-COUNTIF(A1:A7,“1”,A1:A7,“2”)+(COUNTIF(A1:A7,“2”)-COUNTIF(A1:A7,“2”,A1:A7,“1”)+COUNTIF(A1:A7,“1;2”)

有人有更简单的公式吗?
如果有人能解决这个问题,非常感谢

您可以创建一个vba函数并引用它

差不多

Function MyOrTest(cell)
    If InStr(1, cell.Value, 1) Or InStr(1, cell.Value, 2) Then
        MyOrTest = 1
    Else
        MyOrTest = 0
    End If
End Function

您需要将其添加到VBA中的新模块中。使用此函数只允许使用普通求和函数。

您可以创建一个vba函数并引用它

差不多

Function MyOrTest(cell)
    If InStr(1, cell.Value, 1) Or InStr(1, cell.Value, 2) Then
        MyOrTest = 1
    Else
        MyOrTest = 0
    End If
End Function

您需要将其添加到VBA中的新模块中。使用这个函数只需要一个普通的求和函数。

我对你的公式有点困惑,比如这一部分

=COUNTIFS(A1:A7,“1”,A1:A7,“2”)

…只能返回0,因为
COUNTIFS
以“和”为基础工作,并且任何单元格都不能同时为=1和=2

如果数据完全如分号所示,那么这个公式

=COUNTIF(A1:A7,“1”)

也将返回零,因为没有一个单元格值正好为1

对于你的问题,你是否过度简化了你的数据?我不知道这个公式怎么会给你7的结果

尝试使用此公式计算包含1或2(或两者)的单元格数

=SUMPRODUCT((ISNUMBER(FIND(1,A1:A7))+ISNUMBER(FIND(2,A1:A7))>0)+0)


…当然,如果一个单元格包含22或11,它也会计数,在这种情况下,您希望它这样做吗?

我对您的公式有点困惑,例如这部分

=COUNTIFS(A1:A7,“1”,A1:A7,“2”)

…只能返回0,因为
COUNTIFS
以“和”为基础工作,并且任何单元格都不能同时为=1和=2

如果数据完全如分号所示,那么这个公式

=COUNTIF(A1:A7,“1”)

也将返回零,因为没有一个单元格值正好为1

对于你的问题,你是否过度简化了你的数据?我不知道这个公式怎么会给你7的结果

尝试使用此公式计算包含1或2(或两者)的单元格数

=SUMPRODUCT((ISNUMBER(FIND(1,A1:A7))+ISNUMBER(FIND(2,A1:A7))>0)+0)


…当然,如果单元格包含22或11,它也会对单元格进行计数,在这种情况下,您希望这样做吗?

VBA(Visula Basic for Applications)是Excel的宏语言。如果按
ALT-F11
,将弹出VBA编辑器。在VBA项目(Book1)上单击鼠标右键,
Insert->Module
VBA(Visula Basic for Applications)是Excel的宏语言。如果按
ALT-F11
,将弹出VBA编辑器。右键单击VBA项目(Book1)和
Insert->Module
我的意思是我的“1”或“2”实际上是“*1*”和“*2*”。。。无论如何,非常感谢你的配方,它起作用了!!!下一个问题,如果我想在这一列中找出有多少个单元格包含数字1和数字2,你有公式吗?谢谢你可以调整SUMPRODUCT的
SUMPRODUCT
公式,比如一个和
=SUMPRODUCT(ISNUMBER(FIND(1,A1:A7))*ISNUMBER(FIND(2,A1:A7))
我的意思是我的每个“1”或“2”实际上都是“*1*”和“*2*”。。。无论如何,非常感谢你的配方,它起作用了!!!下一个问题,如果我想在这一列中找出有多少个单元格包含数字1和数字2,你有公式吗?谢谢,您可以像这样为一个和调整SUMPRODUCT的
SUMPRODUCT
公式
=ISNUMBER(FIND(1,A1:A7))*ISNUMBER(FIND(2,A1:A7))