Excel:计算值在列中出现的次数

时间:2012-12-21 01:16:52

标签: excel excel-formula excel-2011

Gah,我知道这比我要做的更容易:

我有一个简单的三列电子表格。第一列是我感兴趣的列:它包含00-49之间的值。 (这些数字表示第三列中的项目所属的主题。)

我想要做的就是计算每个数字出现的次数。现在,我正在使用它:

=SUM(COUNTIF(Sheet1!A2:A6716, {"00"}))

在第二张纸上。它有效,但我发现无法手动输入值(00,01,02等)。我想我会通过迭代一个带有这个函数的列旁边的一个笨拙来做它(基本上从00开始,然后在填充时执行A1+1),但这根本不起作用 - 我尝试过几种变化。

正如你所看到的,我在这里有很多行,我想自动计算。我尝试使用构建数组的函数,但我无法使其工作。我也无法弄清楚如何制作一个可以实现此目的的数据透视表。

在上面的公式中输入了前十个(五十个主题)后,我知道,例如我有638行,第一列开始有00,51行,27行02,等等。 / p>

作为参考,前几行看起来像这样:

00   0.73,  10.2307/1496207
00   0.69,  10.2307/1496209
00   0.68,  10.2307/1496208

直到你达到这个目的:

49   0.11   10.2307/1499809

对于任何感兴趣的人,第二列是文档中主题(第一列)的比例,第三列是每个文档的DOI。

我在StackExchange以及Google搜索结果中尝试了各种解决方案。有人请告诉我一个显而易见的事情,我在试图思考这个问题时显然已经错过了。

2 个答案:

答案 0 :(得分:3)

我会用:

=COUNTIF(Sheet1!A2:A6716, ROW() - 1)

调整ROW() - 1以匹配您的偏移量,如果从第3行开始,则需要 - 2。

答案 1 :(得分:1)

不应该这样吗?

=COUNTIF(Sheet1!$A$2:$A$6716, 0)
=COUNTIF(Sheet1!$A$2:$A$6716, 1)
=COUNTIF(Sheet1!$A$2:$A$6716, 2)
=COUNTIF(Sheet1!$A$2:$A$6716, 3)

如果我理解你需要做什么,你不需要使用SUM(); COUNTIF()应该可以工作,但是您需要为第一列中的每个唯一值执行一次。如果您的第一列的值实际上是字符串而不是数字,则需要执行以下操作:

=COUNTIF(Sheet1!$A$2:$A$6716, "00")
=COUNTIF(Sheet1!$A$2:$A$6716, "01")
=COUNTIF(Sheet1!$A$2:$A$6716, "02")
=COUNTIF(Sheet1!$A$2:$A$6716, "03")

直到你涵盖所有价值观。