1

我在 Excel 上有一个列,我发现了如何计算一个值在其中出现的次数(例如:列中有多少个 1),但我找不到如何让它计算一个或另一个值的次数出现在此列中(例如:值 1 或 2 的单元格数量)。这是我的列的一个例子:

A1 1;

A2 1;2;

A3 1;3;

A4 2;

A5 1;

A6 2;3;

A7 1;2;

  • 在此列中,如果我想找出数字为 1 的单元格有多少,我会这样做: =COUNTIF(A1:A7," 1 ") 然后结果将是:5

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

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

4

2 回答 2

1

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

=COUNTIFS(A1:A7,"1",A1:A7,"2")

...只能返回 0,因为COUNTIFS在“AND”基础上工作,并且任何单元格不能同时为 = 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 个单元格,它也会计算一个单元格,你希望它在这种情况下这样做吗?

于 2013-11-11T23:38:04.093 回答
0

您可以创建一个 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 中的新模块。使用它只允许一个正常的求和函数。

于 2013-11-11T23:09:20.560 回答