1

Я немного нуб, так что терпите меня. Я делаю таблицу различных продуктов, купленных и проданных по разным ценам. Таблица отсортирована по продуктам, с пустой строкой, разделяющей каждую завершенную транзакцию покупки-продажи. Я создал столбец для расчета денежных потоков по продукту. Пример таблицы выглядит так:

Type | Product | Qty | Price | Total | Cashflow
BUY  | AA      | 2   | 0.50  | 1.00  | 
SELL | AA      | 2   | 1.50  | 3.00  | 2.00
(blank row)
BUY  | BB      | 5   | 0.10  | 0.50  | 
SELL | BB      | 5   | 1.00  | 5.00  | 4.50

Я хочу, чтобы в столбце "Денежный поток" вычислялся только чистый убыток / прибыль после продажи продукта (приношу извинения за неправильное использование термина "денежный поток"), поэтому строки, в которых тип транзакции говорит "купить", пустые. Я использовал эту формулу:

IF([@ Type] = "SELL",([@ Total] -(OFFSET(F3, -1, -1))), "")

который отлично работал для более простых транзакций, которые имели только одну строку для ПОКУПКИ и одну строку для ПРОДАЖИ. Проблема в том, что некоторые товары покупаются / продаются по разным ценам, где функция смещения больше не будет работать. Пример:

Type | Product | Qty | Price | Total | Cashflow
BUY  | AA      | 2   | 0.50  | 1.00  | 
SELL | AA      | 2   | 1.50  | 3.00  | 2.00
(blank row)
BUY  | BB      | 3   | 0.20  | 0.60  | 
BUY  | BB      | 4   | 0.10  | 0.40  | 
SELL | BB      | 5   | 1.00  | 5.00  | 
SELL | BB      | 2   | 1.10  | 2.20  | 6.20

Есть ли способ составить формулу для денежного потока, чтобы он вычислял сумму всех продаж за вычетом суммы всех покупок этого продукта, чтобы я получил итоговую прибыль / убыток (6,20 в приведенном выше примере) в последней строке транзакция продукта? Например, формула будет определять диапазон от выбранной строки до следующей пустой строки, идущей выше; а затем из этого диапазона будет взята сумма [@Type] = "SELL" минус сумма [@Type] = "BUY"

Извините, если я не объяснил это ясно. Пожалуйста, дайте мне знать, если у вас есть идеи

2 ответа2

1

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

Шаг 1: Одним из способов может быть вычисление значений в столбце Total как отрицательных для каждой записи BUY . Таким образом, введите приведенную ниже формулу для общего

=IF([@Type]="BUY",-[@Qty]*[@Price],[@Qty]*[@Price])

Шаг 2: Вставьте сводную таблицу для агрегирования, используя Product и Total как показано ниже

1

Очевидна сводная таблица - однако сначала нужно сделать значения BUY отрицательными, чтобы итоговый столбец стал

=IF([[Type ]]="BUY",-1,1)*[ [ Qty ] ]*[ [ Price ] ] 

затем создайте сводную таблицу на листе 3!$ A $ 3

Сводная таблица

Это дает вам желаемый результат - затем, чтобы вернуть его в столбец CashFlow, CashFlow становится

=IF(B4<>"","",GETPIVOTDATA(" Total ",Sheet3!$A$3," Product ",[ [ Product ] ]))

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