Excel的FREQUENCY函数是如何工作的?

3

使用以下函数:

=FREQUENCY(C2:C724,D2:D37)

第二个参数是BIN
我不理解的是为什么Excel会增加其余值的BIN。BIN不会改变!它保持相同的bin。然而,当我将公式粘贴到所有值中时,它会这样做:
=FREQUENCY(C2:C724,D2:D37)
=FREQUENCY(C2:C724,D3:D38)
=FREQUENCY(C2:C724,D4:D39)

最后一列是生成的内容(这是正确的,但它没有意义!!)
Etoh        bin
15.9        20        0
14.6        19        0
14.1        18        0
13.9        17        0
13.3        16        0
13.3        15        0
13.2        14        1
12.6        13        2
12.1        12        3
11.8        11        6
11.5        10        4
11.2         9        4
11           8        8
10.5         7       10
10.3         6       26
10.3         5       27
10.2         4       40
10.1         3       89
9.8          2      151
9.7          1      205
9.5          0      102
9.1         -1       17
8.9         -2        7
8.3         -3        3
8.1         -4        2
8.1         -5        0
7.9         -6        3
7.6         -7        2
7.5         -8        2
7.5         -9        1
7.5        -10        1
7.4        -11        0
7.2        -12        0
7.1        -13        1
7.0        -14        0
7.0        -15        0
6.8
6.7
6.6
6.5
6.4
6.2
6.2
6.1
6.0
5.9
5.8
5.8
5.7
5.7
5.7
5.5
5.5
5.5
5.4
5.3
5.3
5.3
5.3
5.3
5.3
5.3
5.2
5.2
5.2
5.1
5.1
5.1
5.1
5.1
5.0
5.0
5.0
5.0
5.0
4.9
4.9
4.8
4.8
4.8
4.7
4.7
4.6
4.6
4.6
4.5
4.5
4.5
4.5
4.4
4.3
4.1
4.1
4.1
4.1
4.1
4.1
4.0
4.0
4.0
4.0
4.0
3.9
3.9
3.9
3.9
3.9
3.8
3.8
3.7
3.6
3.6
3.6
3.6
3.6
3.5
3.5
3.4
3.4
3.4
3.4
3.3
3.3
3.3
3.3
3.2
3.2
3.2
3.2
3.2
3.2
3.1
3.1
3.1
3.1
3.1
3.1
3.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
2.9
2.9
2.9
2.8
2.8
2.8
2.8
2.8
2.8
2.8
2.8
2.7
2.7
2.7
2.7
2.7
2.7
2.7
2.7
2.6
2.6
2.6
2.6
2.6
2.6
2.6
2.6
2.6
2.5
2.5
2.5
2.5
2.5
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.3
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.1
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.9
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.8
1.7
1.7
1.7
1.7
1.7
1.7
1.7
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.6
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.4
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.3
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.1
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.1
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.2
-0.3
-0.3
-0.3
-0.3
-0.3
-0.3
-0.3
-0.3
-0.3
-0.3
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.4
-0.5
-0.5
-0.5
-0.5
-0.5
-0.5
-0.6
-0.6
-0.6
-0.6
-0.6
-0.6
-0.7
-0.7
-0.7
-0.7
-0.7
-0.7
-0.7
-0.7
-0.8
-0.8
-0.8
-0.8
-0.8
-0.8
-0.8
-0.8
-0.9
-0.9
-0.9
-0.9
-0.9
-0.9
-1.0
-1.0
-1.0
-1.0
-1.0
-1.0
-1.1
-1.1
-1.2
-1.2
-1.2
-1.3
-1.3
-1.7
-1.8
-1.9
-1.9
-2.1
-2.2
-2.4
-2.4
-2.5
-2.5
-2.6
-3.0
-3.2
-3.7
-4.6
-4.6
-6.1
-6.3
-6.3
-7.0
-7.8
-8.1
-8.5
-9.0
-10.2
-13.2

如果我按照你们两个人建议的使用$符号,我会得到错误的结果:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4个回答

6

为了让操作更加便捷,我们需要进行一些键盘输入而不是鼠标操作,请按照以下步骤操作:

  1. 在单元格E2中输入=FREQUENCY(C2:C724,D2:D37),然后按下Enter
  2. 现在应该位于单元格E3,请按一次向上箭头回到单元格E2(此时会显示0)。
  3. 按住Shift键并按下向下箭头,直到到达单元格E37。此时,E2E37的单元格将被突出显示。
  4. 现在只需按下F2键即可。
  5. 接着按住Ctrl + Shift,同时按下Enter
  6. 完成!E2E37之间的每个单元格中,您都可以看到这个公式:{=FREQUENCY(C2:C724,D2:D37)}(注意{}括号),这就是数组公式的工作原理。

非常感谢,但是不带大括号也能行。 - Alex Gordon
@I__: 对于您提供的示例,如果不是数组公式,它将无法正确工作,这是不可能的。这是在线帮助文档:http://office.microsoft.com/client/helppreview14.aspx?AssetId=HP010342543&lcid=1033&NS=EXCEL&Version=14&tl=2&queryid=&respos=1&HelpID=xlmain11%2Echm60300 - Todd Main
请将以下与编程有关的内容从英语翻译成中文。仅返回翻译后的文本:请查看此回答下面的答案,N8g的答案与您的一样有效,但他没有回答为什么它可以在没有大括号的情况下工作的问题。 - Alex Gordon
@I__: N8g的产生了略微不同的结果,这不是一个数组公式。如果你只是把这个公式(=FREQUENCY(C2:C$724,D2:D37))放在第一个单元格,然后拖动/复制到E37,数字会有所不同。特别是看一下E6、E7、E8单元格。另一种测试方法,例如,是用12的值替换C8单元格。在Ng8的公式中,12个bin仍然只有一个值为3。在我上面列出的公式中,12个bin现在有一个值为4(Ctrl+Z撤消此更改),因为Ng8的E10中的公式是=FREQUENCY(C10:C$724,D10:D45),它不检查D10以上的值。 - Todd Main
@I__: 关于 FREQUENCY,还有什么我可以帮您解答的吗? - Todd Main

5
看起来你试图将第一个单元格中的函数复制并粘贴到每个后续单元格中。
因为这是一个数组函数,你需要做的是:
  1. 复制第一个单元格中的文本(从公式栏)
  2. 选择你想要结果出现的所有单元格
  3. 将刚才复制的文本粘贴到公式栏中
  4. 按下ctrl-shift-enter
这将在所有单元格中放置相同的数组函数。

1

不确定你的意思,但听起来你需要使用绝对地址,将列名前缀加上 $ 符号。


1

你需要仅对第二个参数使用绝对引用 =FREQUENCY(C2:C$724,D2:D37)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接