среднее значение таблицы Excel с приоритетами

среднее значение таблицы Excel с приоритетами

Мне нужна помощь, как написать формулу Excel (или любое решение Excel) для суммирования с учетом приоритетов.

У меня есть такие данные о транзакциях:

Date  Unit  Price  Buy/Sell 
7/11   3     10     Buy 
7/12   2      9     Sell
7/13   4      8     Buy 
7/14   3     11     Sell

Я хочу рассчитать среднюю цену покупки для единиц в наличии, а не для всех купленных единиц. У меня было 2 единицы в наличии, напомню, FIFO, поэтому средняя будет $8.

Куплено 3 единицы по 10 долларов и 4 единицы по 8 долларов, а первые 5 единиц проданы.

Есть идеи, как решить эту проблему в Excel?

решение1

Простого способа сделать это с помощью функций рабочего листа не существует, поскольку вам придется отслеживать список цен покупки произвольной длины, который со временем меняется.

При условии, что количество единиц — положительное целое число, я могу сделать это с помощью вспомогательного столбца. Допустим, данные находятся в столбцах AD, а вспомогательный столбец — E.

В E2 поместите =IF(D2="Buy",E1&REPT(C2&",",B2),MID(E1,1+FIND("*",SUBSTITUTE(E1,",","*",B2)),32767))

Тогда в конце последняя ячейка будет содержать текстовую строку, которую вам нужно превратить в =AVERAGE()формулу, используя один из методов, описанных вhttps://stackoverflow.com/questions/4471884/превратить-строковую-формулу-в-реальную-формулу

К сожалению, вы, скорее всего, столкнетесь с ограничением длины ячейки, которое составляет 32768 символов.

Связанный контент