我在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的单元格数量,并计算数字2的单元格数量没有数字1,并添加总和对于值为“ 1; 2 ”的单元格数量,这给了我一个很长的公式,如: =(COUNTIF(A1:A7, “ 1 ”) - COUNTIFS(A1:A7, “ 1 ”,A1:A7,“ 2 “))+(COUNTIF(A1:A7,” 2 “) - COUNTIFS(A1:A7,” 2 “A1:A7,” 1 < / EM> “))+ COUNTIF(A1:A7,” 1; 2 “)
任何人都有一个更简单的公式? 如果有人能解决这个问题,那么非常感谢你!
答案 0 :(得分: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,它还会计算一个单元格,在这种情况下你想要它吗?
答案 1 :(得分: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中的新模块中。使用它将只允许正常的求和函数。