我正在尝试使用 percentile 函数计算 VBA 中数组 (arr1) 中包含 100000 个值的数据集的 99.5% 百分位数,如下所示:
Pctile = Application.WorksheetFunction.Percentile(arr1, 0.995)
Pctile = Application.WorksheetFunction.Percentile_Inc(arr1, 0.995)
两者都不起作用,我不断收到类型不匹配(13)。
如果我将数组大小限制为最大 65536,则代码运行良好。据我所知,自从 Excel 2007数组大小传递到自 Excel 2000 以来受可用内存限制的宏时,计算受到可用内存的限制。
我在高性能服务器上使用 Excel 2010。任何人都可以确认这个问题存在吗?假设是这样,我认为我的选择是构建一个 vba 函数来“手动”计算百分位数或输出到工作表,在那里计算并读回。有没有其他选择,最快的方法是什么?