Процентиль Excel VBA с использованием функции приложения с несколькими критериями

У меня приведенная ниже формула отлично работает с большими диапазонами данных в Excel 2007.

Во всех случаях Range1, Range2 и ArrayRange - это одни и те же начальная и конечная строки.

Работающий:

 =PERCENTILE(IF(((Range1=Value)*(Range2=Value2)),ArrayRange),0.9)

Когда я обновляю формулу в макросе, я не могу понять, как правильно сформулировать вышеуказанное с помощью VBA.

Может ли кто-нибудь помочь с нижеследующим?

Не работает:

90thPercentile = Application.Percentile(((Range1 = Value) * (Range2 = Value2), ArrayRange), 0.9)
90thPercentile = Application.Percentile(If(Range1 = Value,IF(Range2 = Value2, ArrayRange))), 0.9)

большое спасибо Ник


person Nik Burns    schedule 24.06.2014    source источник


Ответы (1)


Вы не можете использовать такие массивы в VBA. Вам нужно будет использовать Evaluate и передать строку формулы:

90thPercentile = activesheet.evaluate("PERCENTILE(IF(((Range1=Value)*(Range2=Value2)),ArrayRange),0.9)"
person Rory    schedule 25.06.2014