
Мне нужна помощь, как написать формулу 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 символов.