频率公式评估的中间步骤

时间:2019-01-05 08:56:26

标签: excel excel-formula

这涉及[SO问题] Counting unique list of items from range based on criteria from other ranges Scot Craner建议的公式是:

=SUM(--(FREQUENCY(IF(B2:B7<=25,IF(C2:C7<=35,COUNTIF(A2:A7,"<"&A2:A7),""),""),COUNTIF(A2:A7,"<"&A2:A7))>0))

除了所附快照中显示的这一步骤外,我已经能够清楚地理解公式的逻辑和求值。 根据MS Office文档:

  

FREQUENCY(data_array,bins_array)FREQUENCY函数语法具有   以下参数:Data_array必需。或的数组   引用要为其计数频率的一组值。   如果data_array不包含任何值,则FREQUENCY返回零数组。   Bins_array必需。间隔或指向的数组   您想要将data_array中的值分组的对象。如果bins_array   不包含任何值,FREQUENCY返回中的元素数   data_array。

我很清楚{1; 1; 4; 0;“”;“”)如何进入data_array,以及{1; 1; 4; 0; 5; 3}如何进入bins_array。它如何评估为{2; 0; 1; 1; 0; 0; 0}对我来说还不清楚。 如果有人可以清楚地解释它,将不胜感激。

evaluation stage a evaluation stage b

1 个答案:

答案 0 :(得分:2)

所以您想知道

FREQUENCY({1;1;4;0;"";""},{1;1;4;0;5;3})等于{2;0;1;1;0;0;0}

问题是bins_array不需要进行排序才能使FREQUENCY正常工作。但是,当然,它必须在内部对bins_array进行排序,以获得将data_array中的值分组的间隔。然后将其分组并计数,然后以与bins_array中的垃圾箱相同的顺序返回计数的数字。

Scores   Bins 
1        1
1        1
4        4
0        0
""       5
""       3

Bins sorted
0 (<=0)
1 (>0, <=1)
1 (>1, <=1) == not possible
3 (>1, <=3)
4 (>3, <=4)
5 (>4, <=5)
(>5)

Bin    Description                                     Result
1      Number of scores (>0, <=1)                      2
1      Number of scores (>1, <=1) == not possible      0
4      Number of scores (>3, <=4)                      1
0      Number of scores (<=0)                          1
5      Number of scores (>4, <=5)                      0
3      Number of scores (>1, <=3)                      0
       Number of scores (>5)                           0