#excel #vba #finance
#excel #vba #финансы
Вопрос:
У меня есть вопрос относительно расчета волатильности в Excel. Моя таблица состоит из трех столбцов: один идентификатор (столбец A), одна дата (столбец B) и значение, для которого я хочу рассчитать волатильность (столбец C). Идентификатор указан более одного раза, поэтому он не уникален в таблице.
Теперь я хочу создать другую таблицу. В столбце А указаны идентификаторы первой таблицы, но теперь они уникальны. В столбце b (где находится проблема) я хочу вычислить волатильность каждого значения первой таблицы, где идентификатор равен теперь уникальному идентификатору в таблице 2. В лучшем случае, если это просто функция рабочей книги, написанная на VBA. —> Он должен функционировать аналогично «Group by» в SQL, но также вычисляет волатильность.
Заранее спасибо за вашу помощь!
Ответ №1:
Самый простой способ сгруппировать значения в Excel — это использовать Group
функцию:
Как только они сгруппированы, вы можете рассчитать волатильность с помощью DEV.ST
/ AVERAGE
by:
- Использование Формулы Excel
=DEV.ST(Range) / AVERAGE(Range)
- Использование кода VBA с использованием
Application.WorksheetFunction
методов.
Если вы выбрали способ VBA, вы можете сделать что-то вроде этого:
Range("Result").VALUE = Application.WorksheetFunction.StDev(Range("YourData")) _
/ Application.WorksheetFunction.Average(Range("YourData"))