将数据重新排列到新布局

将数据重新排列到新布局

嗨,我有一份交易数据清单。(场景 1)买入数据在一行,而同一证券的卖出数据在另一行,有时(场景 2)同一证券可能有 2 行卖出数据和 1 行买入数据,因为卖出发生在两个不同的场合。我想将买入数据和卖出数据排成一行,这样我就可以计算 % 收益和 $ 收益。有没有简单的方法来重新排列数据?请看图在此处输入图片描述

答案1

据我了解,问题在于从源数据创建加权平均值。

无需重组,只需引用原有的数据。

Ctrl如果使用+将原始数据转换为表格,会更容易T。我创建了列的子集。日期并不是真正需要的。

在此处输入图片描述

然后,您可以使用 UNIQUE(如果您使用的是 Excel 365 并且可以使用它),否则您可以使用高级过滤器或简单地将证券输入为行标题。

=UNIQUE(Table1[SECURITY])

然后,计算加权平均买入价和卖出价。例如,证券 1,买入:

=SUMPRODUCT(Table1[Price],ABS(Table1[QTY]),--(Table1[Side]=H$1),--(Table1[SECURITY]=$G3))/ABS(SUMIFS(Table1[QTY],Table1[Side],H$1,Table1[SECURITY],$G3))

请注意,公式引用 H 列标题中的单词 BUY 来从表格中检索正确的行。它还引用行标题来查找特定证券的正确行。

双负运算符会将 TRUE/FALSE 数组转换为 1/0 数组。这在 SUMPRODUCT 中很有用,因为它可以过滤要相乘的行。

SUMPRODUCT 在计算具有多个 SELL 行的场景的加权平均价格的分子时很重要,但也适用于具有单个 SELL 行的场景。

相关内容