1

Я импортирую данные из торговой системы, в которой есть ордера на покупку и продажу для нескольких ценных бумаг (акций). Мне нужно объединить одни и те же заказы на покупку ценных бумаг и одинаковые заказы на продажу ценных бумаг, создать общее количество купленных и проданных акций, а затем рассчитать средневзвешенную цену продажи и покупки. Устранение нескольких строк и сохранение совокупных позиций.

Столбцы выглядят так:

Идентификатор / Дата сделки / Дата исполнения / Идентификатор маршрута / Тикер / Имя / Страна / Валюта / Действие / Тип / Размер / Цена / Брокер / CUSIP / ISIN / SEDOL / Комиссия / FX

Поэтому мне нужно суммировать столбец "Размер" на основе действия и тикера (т. Е. MSFT Buy), а затем получить их средневзвешенное значение (например, все исполнения MSFT "Buy").

Любая помощь будет принята с благодарностью.

1 ответ1

0

Предполагая, что столбец A = ID самый простой способ сделать это с формулой sumproduct -

=SUMPRODUCT(--(F:F="MSFT"),--(J:J="BUY"),M:M,L:L)/SUMIF(F:F,"=MSFT",L:L)

Предполагается, что средневзвешенное значение (Price*Size)/(Sum of all Sizes)

Это не решение VBA, но оно простое и работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .