Я пытаюсь вычислить процентиль 99,5% для набора данных из 100000 значений в массиве (arr1) в VBA, используя функцию процентиля следующим образом:
Pctile = Application.WorksheetFunction.Percentile(arr1, 0.995)
Pctile = Application.WorksheetFunction.Percentile_Inc(arr1, 0.995)
Ни то, ни другое не работает, и я постоянно получаю несоответствие типов (13).
Код работает нормально, если я ограничу размер массива максимум 65536. Насколько я знал, вычисление ограничено доступной памятью начиная с Excel 2007 размеры массива при переходе к макросу ограничены по доступной памяти начиная с Excel 2000.
Я использую Excel 2010 на высокопроизводительном сервере. Кто-нибудь может подтвердить, что эта проблема существует? Предполагая, что так, я полагаю, что у меня есть варианты построить функцию vba для вычисления процентиля «вручную» или вывода на лист, вычислить его там и прочитать обратно. Есть ли альтернативы и что будет быстрее?