我有一个数据数组,数组末尾有一些零(尽管我不想假设它们在末尾),并计算非零数据的统计数据。我不想使用 Ctrl-Shift-Enter 公式(这些公式几乎都可以维护),并且能够使用任何统计函数(如 QUARTILE),而不是通过 SUM()/COUNT() 重新编码平均值函数。
下面是一个更清晰的示例:我的 A1:A10 中的数据包含 (1,2,3,4,5,6,7,8,0,0)。我想要获取四分位数,就像下面这样,但动态计算“A1:A8”
=QUARTILE(A1:A8, n) // ignoring the zeros
当然,我可以通过假设零位于末尾来实现这一点,只需使用以下命令构建 QUARTILE() 的第一个参数即可
"A1" & ":" & ADDRESS( x + COUNTIF(A1:A10; "<>0") )
但同样,我希望数组内部有零,而不仅仅是在末尾。
或者我必须深入研究 VBA?
答案1
某些功能可能会被替换IF
或变体,IFS
例如SUMIF
SUMIFS
=SUMIF(A1:A10,"<>0")/COUNTIF(A1:A10,"<>0")
SUMIFS
例如,可以使用多个条件来计算平均值,因此可能适合更复杂的查询
在计算中可以使用选择标准的函数列表:
- 平均收益
- 平均IFS
- 求和函数
- 统计分析系统
- 计数
另一种方法是使用辅助列,这样=IF(A1=0,"",A1)
空白就可以代替零,这样就不会影响统计函数